本発明は、立体視映像、すなわち3次元(3D)映像の表示技術に関する。
近年、3D映像に対する一般的な関心が高まっている。例えば遊園地では、3D映像を利用したアトラクションが人気を集めている。また、全国各地で、3D映像の映画を上映する映画館が増加している。そのような3D映像への関心の高まりに伴い、3D映像を各家庭でも再生可能にするための技術の開発が進められている。その技術では、3D映像コンテンツを高画質のまま、光ディスク等の可搬性記録媒体に記録することが求められる。更に、2D再生装置に対するその記録媒体の互換性が求められる。すなわち、その記録媒体に記録された3D映像コンテンツから、2D再生装置は2D映像を再生でき、3D再生装置は3D映像を再生できることが望ましい。ここで、「2D再生装置」とは、平面視映像、すなわち2次元(2D)映像のみを再生可能な従来の再生装置を意味し、「3D再生装置」とは、3D映像を再生可能な再生装置を意味する。尚、本明細書では、3D再生装置が従来の2D映像も再生可能である場合を想定する。
図81は、3D映像コンテンツが記録された光ディスクについて、2D再生装置に対する互換性を確保するための技術を示す模式図である(例えば特許文献1参照)。光ディスクPDSには二種類のビデオ・ストリームが格納されている。一方は2D/レフトビュー・ビデオ・ストリームであり、他方はライトビュー・ビデオ・ストリームである。「2D/レフトビュー・ビデオ・ストリーム」は、3D映像の再生では視聴者の左目に見せる2D映像、すなわち「レフトビュー」を表し、2D映像の再生ではその2D映像そのものを表す。「ライトビュー・ビデオ・ストリーム」は、3D映像の再生において視聴者の右目に見せる2D映像、すなわち「ライトビュー」を表す。左右のビデオ・ストリーム間では、フレームレートは等しいが、フレームの表示時期はフレーム周期の半分だけずれている。例えば各ビデオ・ストリームのフレームレートが24fps(フレーム/秒)であるとき、2D/レフトビュー・ビデオ・ストリームとライトビュー・ビデオ・ストリームとの各フレームが1/48秒ごとに交互に表示される。
各ビデオ・ストリームは、図81に示されているように、光ディスクPDS上では複数のエクステントEX1A−C、EX2A−Cに分割されている。各エクステントはGOP(グループ・オブ・ピクチャ)を1以上含み、光ディスクドライブによって一括して読み出される。以下、2D/レフトビュー・ビデオ・ストリームに属するエクステントを「2D/レフトビュー・エクステント」といい、ライトビュー・ビデオ・ストリームに属するエクステントを「ライトビュー・エクステント」という。2D/レフトビュー・エクステントEX1A−Cとライトビュー・エクステントEX2A−Cとは交互に光ディスクPDSのトラックTRC上に配置されている。隣接する二つのエクステント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に交互に表示された、レフトビューとライトビューとの2D映像の対が一つの3D映像に見える。
光ディスクに限らず、記録媒体に3D映像コンテンツを格納するときは、上記のようにエクステントのインターリーブ配置を利用する。それにより、その記録媒体を2D映像の再生と3D映像の再生との両方で利用することができる。
3D映像のコンテンツは一般に2D映像の部分を含む。その部分は、例えば広告や演出を目的とするものである。3D再生装置は、そのコンテンツをその部分まで再生したとき、そのコンテンツに付随するアプリケーション・プログラムによって、3D映像から2D映像への切り換えを指示される。また、3D再生装置がユーザの操作に応じてポップアップ・メニューを3D映像に重ねて表示する場合、その表示期間中、3D映像を2D映像に変えた方が好ましい。ポップアップ・メニューの視認性が向上するからである。このように、3D映像の表示技術には一般に、表示途中での2D映像への切り換えを可能にすることが求められる。特にその切り換えはシームレスに実行されなければならない。その切り換えに伴う映像の途切れが視聴者に不快感を与えることを避けるためである。
従来の3D映像の表示技術では、3D映像と2D映像とのシームレスな切り換えを実現するための手段として、次のものが知られている。まず、3D再生装置の動作モードにベースビュー(B)−ディペンデントビュー(D)表示モードとB−B表示モードとの二種類が用意される。B−D表示モードの3D再生装置は、レフトビューとライトビューとの各ビデオ・ストリームを交互に復号して出力する。そのとき、表示装置の画面にはレフトビュー・フレームとライトビュー・フレームとが交互に表示されるので、視聴者にはそれらが3D映像として見える。B−B表示モードの3D再生装置は、フレームレートをB−D表示モードでの値(例えば48fps)に維持したまま、ベースビュー・ビデオ・ストリームから復号されたフレーム・データ、例えばレフトビュー・フレームのみを1フレーム当たり二回ずつ出力する。そのとき、表示装置の画面にはレフトビュー・フレームしか表示されないので、視聴者にはそれらが2D映像としてしか見えない。3D映像の再生中、ユーザの操作又はアプリケーション・プログラムの指示によって3D映像から2D映像への切り換えが要求された場合、3D再生装置はB−D表示モードからB−B表示モードへ切り換わる。そのとき、フレームレートは変更されないので、3D再生装置はその切り換えを速やかに実行することができる。一方、表示装置は元の動作をそのまま維持していればよい。その結果、3D映像から2D映像への切り換えがシームレスに実現される。
しかし、市場に出ている全ての3D再生装置にB−B表示モードが搭載されているとは限らない。B−B表示モードを搭載していない3D再生装置に3D映像を2D映像へ切り換えさせるには、再生対象のストリーム・データそのものを3D映像のものから2D映像のものへ切り換えねばならない。その場合、フレームレートの変更が必要である(例えば48fpsを24fpsへ変更しなければならない)ので、3D再生装置に表示装置へのデータ伝送を一旦、中断させなければならない。従って、ストリーム・データの切り換え後、データ伝送を再開するには、3D再生装置は表示装置との間で、認証等、接続を確立するための処理をやり直さなければならない。その処理には一般に時間がかかるので、3D映像から2D映像への切り換えをシームレスに実現することは困難である。
更に、再生装置と表示装置との間のデータ伝送は一般に、HDMI(High−Definition Multimedia Interface)方式で行われる。その場合、リモコンからの操作信号は、直接的には再生装置と表示装置との一方によって受信されても、HDMIケーブルを通して他方にも伝えられる。従って、ユーザは、一つのリモコンで再生装置と表示装置との両方を操作することができる。しかし、従来の3D映像の表示技術では、ポップアップ・メニューの表示を表示装置に対してリモコンで指示した場合、表示装置はHDMIケーブルを通して3D再生装置にB−B表示モードへの切り換えを要求しなければならない。HDMI方式による通信には時間がかかるので、3D映像から2D映像へのシームレスな切り換えを更に確実に行うのは困難である。
本発明の目的は、3D映像から2D映像への切り換えをシームレスに実現可能な表示装置を提供することにある。
本発明による表示装置は、立体視映像を画面に表示するための表示装置であって、受信部、信号処理部、及び表示部を備えている。受信部は、立体視映像のレフトビュー・フレームとライトビュー・フレーム、及び制御情報を含むストリーム・データを受信する。信号処理部は、そのストリーム・データからレフトビュー・フレームとライトビュー・フレームとを交互に抽出する。信号処理部は更に、立体視映像の一つのフレーム期間に、制御情報が3D再生モードを示す場合には一対のレフトビュー・フレームとライトビュー・フレームとを送出し、制御情報が2D再生モードを示す場合にはレフトビュー・フレームのみを送出する。表示部は、信号処理部から送出されたフレームを所定時間ずつ画面に表示する。
本発明による表示装置は、ストリーム・データから制御情報を解読し、その制御情報が3D再生モードを示す場合にはレフトビュー・フレームとライトビュー・フレームとを交互に表示し、2D再生モードを示す場合にはレフトビュー・フレームのみを表示する。こうして、この表示装置は、フレームレートを変更することなく、又はストリーム・データの送出元に指示を送ることなく、3D映像を2D映像へ切り換える。その結果、3D映像から2D映像への切り換えをシームレスに実現することができる。
本発明の実施形態1によるホームシアター・システムを示す模式図である。
図1に示されている表示装置103の構成を示す機能ブロック図である。
図2に示されているHDMI通信部211の構成を示す機能ブロック図である。
TMDSデータ・チャネルCH1−3を通して伝送されるデータのうち、3D映像の1フレームの表示に利用されるデータの構造を示す模式図である。
(a)−(e)は、図4に示されている有効表示領域VACT×HACTにおけるレフトビュー・フレームとライトビュー・フレームとの配置を示す模式図である。
図2に示されている表示装置103による3D映像の表示動作のフローチャートである。
(a)−(d)はそれぞれ、3D映像の再生期間P3Dの途中に2D映像の再生期間P2Dが挿入された場合において、再生装置102から送出される再生モードとフレームL、Rとの変化、表示装置103によって表示されるフレームL、Rの変化、及びシャッター眼鏡104が左右のレンズを透明にする期間LSL、LSRを示す模式図である。
(a)−(d)はそれぞれ、3D映像の再生期間P3Dの途中に2D映像の再生期間P2Dが挿入された場合において、再生装置102から送出される再生モードとフレームL、Rとの変化、表示装置103によって表示されるフレームL、Rの変化、及びシャッター眼鏡104が左右のレンズを透明にする期間LSL、LSRの第1変形例を示す模式図である。
(a)−(d)はそれぞれ、3D映像の再生期間P3Dの途中に2D映像の再生期間P2Dが挿入された場合において、再生装置102から送出される再生モードとフレームL、Rとの変化、表示装置103によって表示されるフレームL、Rの変化、及びシャッター眼鏡104が左右のレンズを透明にする期間LSL、LSRの第2変形例を示す模式図である。
(a)−(d)はそれぞれ、3D映像の再生期間P3Dの途中に2D映像の再生期間P2Dが挿入された場合において、再生装置102から送出される再生モードとフレームL、Rとの変化、表示装置103によって表示されるフレームL、Rの変化、及びシャッター眼鏡104が左右のレンズを透明にする期間LSL、LSRの第3変形例を示す模式図である。
(a)−(d)はそれぞれ、3D映像の再生期間P3Dの途中に2D映像の再生期間P2Dが挿入された場合において、再生装置102から送出される再生モードとフレームL、Rとの変化、表示装置103によって表示されるフレームL、Rの変化、及びシャッター眼鏡104が左右のレンズを透明にする期間LSL、LSRの第4変形例を示す模式図である。
図1に示されているBD−ROMディスク101上のデータ構造を示す模式図である。
(a)、(b)、(c)はそれぞれ、図2に示されているBD−ROMディスク101上のメインTS、第1サブTS、第2サブTSに多重化されたエレメンタリ・ストリームの一覧表である。
多重化ストリーム・データ1400内でのTSパケットの配置を示す模式図である。
(a)は、多重化ストリーム・データを構成する一連のTSパケットのそれぞれに含まれるTSヘッダ1501Hのデータ構造を示す模式図である。(b)は、そのTSパケット列の形式を示す模式図である。(c)は、そのTSパケット列から構成されたソースパケット列の形式を示す模式図である。(d)は、一連のソースパケット1502が連続的に記録されたBD−ROMディスク101のボリューム領域上のセクタ群の模式図である。
PGストリーム1600のデータ構造を示す模式図である。
ベースビュー・ビデオ・ストリーム1701とライトビュー・ビデオ・ストリーム1702とのピクチャを表示時間順に示す模式図である。
ビデオ・ストリーム1800のデータ構造の詳細を示す模式図である。
PESパケット列1902へのビデオ・ストリーム1901の格納方法の詳細を示す模式図である。
ベースビュー・ビデオ・ストリーム2001とディペンデントビュー・ビデオ・ストリーム2002との各ピクチャに割り当てられたPTSとDTSとの間の関係を示す模式図である。
ディペンデントビュー・ビデオ・ストリーム2100の含むオフセット・メタデータ2110のデータ構造を示す模式図である。
(a)、(b)はそれぞれ、PGプレーン2210とIGプレーン2220とに対するオフセット制御を示す模式図である。(c)は、(a)、(b)に示されているグラフィックス・プレーンの表す2Dグラフィックス映像から視聴者2230に知覚される3Dグラフィックス映像を示す模式図である。
(a)、(b)は、オフセット・シーケンスの具体例を示すグラフである。(c)は、(a)、(b)に示されているオフセット・シーケンスに従って再現される3Dグラフィックス映像を示す模式図である。
PMT2410のデータ構造を示す模式図である。
図13に示されているメインTSと、第1サブTS又は第2サブTSのいずれかとのBD−ROMディスク101上での物理的な配置を示す模式図である。
(a)は、あるBD−ROMディスク上に個別に連続して記録されたメインTS2601とサブTS2602との配置を示す模式図である。(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)。
隣接するデータ・ブロック間でエクステントATC時間を揃える方法を示す模式図である。
図25に示されているエクステント・ブロック群2501−2503に対する2D再生モードでの再生経路2801と3D再生モードでの再生経路2802とを示す模式図である。
2D再生モードの再生装置102内の再生処理系統を示すブロック図である。
(a)は、2D再生モードでの動作中、図29に示されているリード・バッファ2902に蓄積されるデータ量DAの変化を示すグラフである。(b)は、再生対象のエクステント・ブロック3010と2D再生モードでの再生経路3020との間の対応関係を示す模式図である。
BD−ROMディスクに関するジャンプ距離SJUMPと最大ジャンプ時間TJUMP_MAXとの間の対応表の一例である。
3D再生モードの再生装置102内の再生処理系統を示すブロック図である。
(a)、(b)は、一つのエクステント・ブロックから3D映像がシームレスに再生されるとき、図32に示されているRB13211、RB23212に蓄積されるデータ量DA1、DA2の変化を示すグラフである。(c)は、そのエクステント・ブロック3310と3D再生モードでの再生経路3320との間の対応関係を示す模式図である。
図12に示されている第1クリップ情報ファイル(01000.clpi)1231のデータ構造を示す模式図である。
(a)は、図34に示されているエントリ・マップ3430のデータ構造を示す模式図である。(b)は、図12に示されているファイル2D1241に属するソースパケット群3510のうち、エントリ・マップ3430によって各EP_ID3505に対応付けられているものを示す模式図である。(c)は、そのソースパケット群3510に対応するBD−ROMディスク101上のデータ・ブロック群D[n]、B[n](n=0、1、2、3、…)を示す模式図である。
(a)は、図34に示されているエクステント起点3442のデータ構造を示す模式図である。(b)は、図12に示されている第2クリップ情報ファイル(02000.clpi)1232に含まれるエクステント起点3620のデータ構造を示す模式図である。(c)は、3D再生モードの再生装置102によって、図12に示されている第1ファイルSS1245から抽出されたベースビュー・データ・ブロックB[0]、B[1]、B[2]、…を表す模式図である。(d)は、図12に示されている第1ファイルDEP(02000.m2ts)1242に属するディペンデントビュー・エクステントEXT2[0]、EXT2[1]、…と、エクステント起点3620の示すSPN3622との間の対応関係を表す模式図である。(e)は、第1ファイルSS1245に属するエクステントSSEXTSS[0]とBD−ROMディスク101上のエクステント・ブロックとの間の対応関係を示す模式図である。
BD−ROMディスク101上に記録された一つのエクステント・ブロック3700と、ファイル2D3710、ファイル・ベース3711、ファイルDEP3712、及びファイルSS3720の各エクステント群との間の対応関係を示す模式図である。
ベースビュー・ビデオ・ストリーム3810とディペンデントビュー・ビデオ・ストリーム3820とに設定されたエントリ・ポイントの例を示す模式図である。
図12に示されている2Dプレイリスト・ファイル(00001.mpls)1221のデータ構造を示す模式図である。
プレイアイテムID=#N(N=1、2、3、…)のプレイアイテム情報、PI#Nのデータ構造を示す模式図である。
(a)、(b)はそれぞれ、コネクション・コンディションが“5”、“6”であるときに接続されるべき二つの再生区間PI#(N−1)、PI#Nの間の関係を示す模式図である。
図39に示されている2Dプレイリスト・ファイル(00001.mpls)1221の示すPTSと、ファイル2D(01000.m2ts)1241から再生される部分との間の対応関係を示す模式図である。
図12に示されている3Dプレイリスト・ファイル(00002.mpls)1222のデータ構造を示す模式図である。
図43に示されている3Dプレイリスト・ファイル1222のメインパス4301の含むSTNテーブル4405を示す模式図である。
図44に示されているSTNテーブルSS4430のデータ構造を示す模式図である。
図43に示されている3Dプレイリスト・ファイル(00002.mpls)1222の示すPTSと、第1ファイルSS(01000.ssif)1245から再生される部分との間の対応関係を示す模式図である。
図12に示されているインデックス・ファイル(index.bdmv)1211のデータ構造を示す模式図である。
図47に示されているインデックス・テーブル4710の項目「タイトル3」を参照することにより、再生装置102が6種類の判別処理(1)−(6)を利用して再生対象のプレイリスト・ファイルを選択する処理のフローチャートである。
2D再生装置4900の機能ブロック図である。
図49に示されているプレーヤ変数記憶部4936の記憶するシステム・パラメータ(SPRM)の一覧表である。
図49に示されている2D再生装置4900の再生動作のフローチャートである。
図49に示されている再生制御部4935による2Dプレイリスト再生処理のフローチャートである。
図49に示されているシステム・ターゲット・デコーダ4923の機能ブロック図である。
(a)は、図51に示されているPGデコーダ5372がPGストリーム内の一つのデータ・エントリからグラフィックス・オブジェクトを復号する処理のフローチャートである。(b)−(e)は、その処理に従って変化するグラフィックス・オブジェクトを示す模式図である。
図49に示されているHDMI通信部4925の構成を示す機能ブロック図である。
3D再生装置5600の機能ブロック図である。
図56に示されている3D再生装置5600の再生動作のフローチャートである。
図56に示されている再生制御部5635による3Dプレイリスト再生処理のフローチャートである。
図56に示されている再生制御部5635による再生モードの更新処理のフローチャートである。
図56に示されているシステム・ターゲット・デコーダ5623の機能ブロック図である。
図56に示されているプレーン加算部5624の、1プレーン+オフセット・モード又は1プレーン+ゼロ・オフセット・モードにおける機能ブロック図である。
図61に示されている各クロッピング処理部6131−6134によるオフセット制御のフローチャートである。
図61に示されている第2クロッピング処理部6132によるオフセット制御で加工される前後のPGプレーンGP、RGP、LGPを示す模式図である。(a)、(b)、(c)はそれぞれ、右向きのオフセットが与えられたPGプレーンRGP、オフセット制御で加工される前のPGプレーンGP、左向きのオフセットが与えられたPGプレーンLGPを示す。
2プレーン・モードのプレーン加算部5624の部分的な機能ブロック図である。
SPRM(33)の示す再生ステータスの種類別に、対応する再生モードの値、及び再生部5602から出力されるべきビデオ・プレーンとグラフィックス・プレーンとを示す表である。
再生ステータスがタイプAであるときのプレーン加算部5624の部分的な機能ブロック図である。
再生ステータスがタイプBであるときのプレーン加算部5624の部分的な機能ブロック図である。
再生ステータスがタイプCであるときのプレーン加算部5624の部分的な機能ブロック図である。
再生ステータスがタイプDであるときのプレーン加算部5624の部分的な機能ブロック図である。
(a)−(f)はそれぞれ、2D映像の再生期間P2Dにおける再生ステータスがタイプAに選択された場合に、再生装置102から送出される再生モードとフレームL、R、Cとの変化、表示装置103によって表示されるフレームL、R、Cの変化、及び、シャッター眼鏡104が左右のレンズを透明にする期間LSL、LSRを示す模式図である。
(a)−(f)はそれぞれ、2D映像の再生期間P2Dにおける再生ステータスがタイプBに選択された場合に、再生装置102から送出される再生モードとフレームL、R、Cとの変化、表示装置103によって表示されるフレームL、R、Cの変化、及び、シャッター眼鏡104が左右のレンズを透明にする期間LSL、LSRを示す模式図である。
(a)−(f)はそれぞれ、2D映像の再生期間P2Dにおける再生ステータスがタイプDに選択された場合に、再生装置102から送出される再生モードとフレームL、R、Cとの変化、表示装置103によって表示されるフレームL、R、Cの変化、及び、シャッター眼鏡104が左右のレンズを透明にする期間LSL、LSRを示す模式図である。
送信装置7300の機能ブロック図である。
(a)は、隣接するベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとの間でエクステントATC時間が異なり、かつビデオ・ストリームの再生時間が異なるときの再生経路を示す模式図である。(b)は、隣接するベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとの間でビデオ・ストリームの再生時間が等しいときの再生経路を示す模式図である。
本発明の実施形態2による記録装置7500の機能ブロック図である。
(a)、(b)は、3D映像の一シーンの表示に利用されるレフトビュー・ピクチャとライトビュー・ピクチャとを表す模式図である。(c)は、図75に示されているビデオ・エンコーダ7502によってそれらのピクチャから算出された奥行き情報を示す模式図である。
図75に示されている記録装置7500を利用してBD−ROMディスクへ映画コンテンツを記録する方法のフローチャートである。
(a)−(c)は、視差映像を用いる方法による3D映像(立体視映像)の再生原理を説明するための模式図である。
2D映像MVWとデプスマップDPHとの組み合わせからレフトビューLVWとライトビューRVWとを構成する例を示す模式図である。
(a)は、復号スイッチ情報A050のデータ構造を示す模式図である。(b)は、ベースビュー・ビデオ・ストリームA001とディペンデントビュー・ビデオ・ストリームA002との各ピクチャに割り当てられた復号カウンタの一例A010、A020を示す模式図である。(c)は、それらのビデオ・ストリームA001、A002の各ピクチャに割り当てられた復号カウンタの別例A030、A040を示す模式図である。
3D映像コンテンツが記録された光ディスクについて、2D再生装置に対する互換性を確保するための技術を示す模式図である。
以下、本発明の好適な実施形態について、図面を参照しながら説明する。
《実施形態1》
図1は、本発明の実施形態1によるホームシアター・システムを示す模式図である。このホームシアター・システムは、視差映像を用いた3D映像(立体視映像)の再生方式を採用し、特に表示方式として継時分離方式(フレーム・シーケンシャル方式ともいう。)を採用している(詳細は《補足》参照)。図1を参照するに、このホームシアター・システムは、記録媒体101、再生装置102、表示装置103、シャッター眼鏡104、及びリモコン105を含む。
記録媒体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再生モードの再生装置102は、レフトビュー・フレーム又はライトビュー・フレームのいずれかのみを復号して送出する。3D再生モードのうち、復号処理には「L/Rモード」と「デプス・モード」との二種類がある。L/Rモードの3D再生装置は、レフトビュー・ビデオ・ストリームとライトビュー・ビデオ・ストリームとの組み合わせからレフトビュー・フレームとライトビュー・フレームとの対を復号する。デプス・モードの3D再生装置は、レフトビュー又はライトビューのいずれかのビデオ・ストリームとデプスマップ・ストリームとの組み合わせからレフトビュー・フレームとライトビュー・フレームとの対を復号する。再生装置102はL/Rモードを備える。再生装置102は更に、デプス・モードを備えていてもよい。一方、3D再生モードのうち、映像データの出力モードには「ベースビュー(B)−ディペンデントビュー(D)表示モード」と「B−B表示モード」との二種類がある。B−D表示モードの3D再生装置は、レフトビューとライトビューとの各ビデオ・ストリームを交互に送出する。そのとき、表示装置の画面にはレフトビュー・フレームとライトビュー・フレームとが交互に表示されるので、視聴者にはそれらが3D映像として見える。B−B表示モードの3D再生装置は、フレームレートをB−D表示モードでの値(例えば48fps)に維持したまま、ベースビュー・ビデオ・ストリームから復号されたフレーム・データ、例えばレフトビュー・フレームのみを1フレーム当たり二回ずつ出力する。再生装置102はB−D表示モードを備える。再生装置102は更に、B−B表示モードを備えていてもよい。
再生装置102はHDMIケーブル122で表示装置103に接続されている。再生装置102は、映像データ、音声データ、及び制御情報をHDMI方式のシリアル信号に変換し、HDMIケーブル122内のTMDS(Transition Minimized Differential Signaling)チャネルを通して表示装置103へ伝送する。2D再生モード又はB−B表示モードの再生装置102は映像データにレフトビュー・フレームのみを多重化する。B−D表示モードの再生装置102は映像データにレフトビュー・フレームとライトビュー・フレームとの両方を時分割で多重化する。制御情報は、水平同期信号や垂直同期信号に加えて「インフォ・フレーム(HDMI Vendor−Specific InfoFrame)」を含む。インフォ・フレームは、映像データ以外に映像の再生に必要な補助データであって、特に「再生モード」を含む。再生モードは、再生装置102が2D再生モードと3D再生モードとのいずれであるかを示すパラメータである。
再生装置102は更に、HDMIケーブル122内のCEC(Consumer Electronics Control)ラインを通して表示装置103との間でCECメッセージを交換する。それにより、再生装置102は、3D映像の再生に対応可能か否かを表示装置103に問い合わせることができる。再生装置102はその上、HDMIケーブル122内のディスプレイ・データ・チャネル(DDC)を通して、問い合わせの結果を表すデータ、EDID(Extended Display Identification Data)を表示装置103から読み出す。EDIDは特に、表示装置103に固有のデータ領域(HDMI Vendor−Specific Data Block)を含む。その領域には、表示装置103が3D映像の再生に対応可能か否かを示す情報に加え、表示装置103が対応可能な3D映像の表示パターンを示す情報が格納されている。再生装置102はその他に、DDCを通して表示装置103との間でHDCP(High−bandwidth Digital Content Protection)認証を行う。その認証の結果で得られた秘密鍵を利用して、再生装置102は映像データ等を暗号化して、HDMIケーブル122を通して表示装置103へ伝送する。
表示装置103は液晶ディスプレイである。表示装置103はその他に、プラズマ・ディスプレイ及び有機ELディスプレイ等、他方式のフラットパネル・ディスプレイ又はプロジェクタであってもよい。表示装置103は、映像データに従って画面131上に映像を表示し、音声データに従って内蔵のスピーカから音声を発生させる。表示装置103の動作モードには2D表示モードと3D表示モードとの二種類がある。2D表示モードの表示装置103は、再生装置102から受信された映像データを2D映像用のフレームレート(例えば60fps)で画面131上に表示する。そのとき、画面131上にはレフトビューが表示される。3D表示モードの表示装置103はまず、再生装置102から受信されたインフォ・フレームから、制御情報の含む「再生モード」を解読する。その再生モードが“3D”を示す場合、表示装置103は、再生装置102から受信された映像データを3D映像用のフレームレート(例えば120fps)で画面131上に表示する。そのとき、画面131上にはレフトビューとライトビューとが交互に表示される。一方、再生モードが“2D”を示す場合、表示装置103は、再生装置102から受信された映像データのうち、レフトビュー・フレームのみを3D映像用のフレームレート(例えば120fps)で画面131上に表示する。そのとき、表示装置103は一つのレフトビュー・フレームを二回ずつ繰り返し表示するので、画面131上にはレフトビューのみが表示される。
表示装置103は左右信号送信部132を含む。左右信号送信部132は左右信号LRを赤外線又は無線でシャッター眼鏡104へ送出する。左右信号LRは、現時点で画面131に表示される映像がレフトビューとライトビューとのいずれであるのかを示す。2D表示モードの表示装置103は、左右信号送信部132に左右信号を送信させない。3D表示モードの表示装置103は、まず、映像データに付随する同期信号等の制御信号や補助データからレフトビュー・フレームとライトビュー・フレームとを識別することによって、フレームの切り換えを検知する。表示装置103は次に左右信号送信部132に、検知されたフレームの切り換えに同期して左右信号LRを変化させる。
シャッター眼鏡104は二枚の液晶表示パネル141L、141Rと左右信号受信部142とを含む。各液晶表示パネル141L、141Rは左右の各レンズ部分を構成している。各液晶表示パネル141L、141Rはノーマリ・ホワイトであって、左右信号受信部142から信号を受けていない状態では、その全体で光を透過させる。2D表示モードの表示装置103からは左右信号LRが送信されないので、視聴者がシャッター眼鏡104をかけて画面131を見ても、画面131に表示されたレフトビューはその視聴者の両目に映る。左右信号受信部142は左右信号LRを受信し、その変化に応じて左右の液晶表示パネル141L、141Rに信号を送る。各液晶表示パネル141L、141Rはその信号に応じて、その全体で一様に光を透過させ、又は遮断する。特に左右信号LRがレフトビューの表示を示すとき、左目側の液晶表示パネル141Lは光を透過させ、右目側の液晶表示パネル141Rは光を遮断する。左右信号LRがライトビューの表示を示すときはその逆である。このように、3D表示モードの表示装置103がフレームの切り換えと同期して左右信号LRを変化させる間、二枚の液晶表示パネル141L、141Rはその変化に同期して交互に光を透過させる。従って、視聴者がシャッター眼鏡104をかけて画面131を見たとき、レフトビューはその視聴者の左目だけに映り、ライトビューはその右目だけに映る。そのとき、その視聴者には、各目に映る映像間の違いが同じ立体的物体に対する両眼視差として知覚されるので、その映像が立体的に見える。
リモコン105は操作部と送信部とを含む。操作部は複数のボタンを含む。各ボタンは、電源のオンオフ、又は、BD−ROMディスク101の再生開始若しくは停止等、再生装置102又は表示装置103の各機能に対応付けられている。操作部はユーザによる各ボタンの押下を検出し、そのボタンの識別情報を信号で送信部に伝える。送信部はその信号を赤外線又は無線による信号IRに変換して再生装置102又は表示装置103へ送出する。一方、再生装置102又は表示装置103はその信号IRを受信し、その信号IRの示すボタンに対応付けられた機能を特定する。再生装置102又は表示装置103は更に、その機能が自身のものであるときはその機能を実現し、その機能が他の装置のものであるときは、例えばCECメッセージを利用してその機能を他の装置に実現させる。こうして、ユーザは一つのリモコン105で再生装置102と表示装置103との両方を遠隔操作できる。
<表示装置>
図2は、図1に示されている表示装置103の構成を示す機能ブロック図である。図2を参照するに、表示装置103は、左右信号送信部132に加えて、受信部210、信号処理部220、メモリ部230、表示部240、及びスピーカ250を含む。
受信部210は、再生装置102の他、メモリカード201、外部ネットワーク202、及び放送波203等の各種媒体からストリーム・データを受信する。そのストリーム・データは3D映像の映画コンテンツを含む。受信部210は特にHDMI通信部211を含む。
信号処理部220はそのストリーム・データから、映像、音声、グラフィックス等、各種のデータを分離して個別に処理する。信号処理部220は更に、レフトビュー・フレームLFとライトビュー・フレームRFとをメモリ部230へ格納し、音声データADをスピーカ250へ送出する。信号処理部220はその他に、同期信号等、映像データに付随する制御信号と補助データ(インフォ・フレーム)とに基づいて表示部240を制御する。2D表示モードの信号処理部220はメモリ部230内の映像データからレフトビュー・フレームLFのみを読み出して、2D映像用のフレームレート(例えば60fps)で表示部240へ送出する。2D表示モードの表示装置103は更に、左右信号送信部132には左右信号LRを送信させない。3D表示モードの信号処理部220はまず、映像データに付随するインフォ・フレームから再生モードを解読する。その再生モードが“3D”を示す場合、信号処理部220はメモリ部230からレフトビュー・フレームLFとライトビュー・フレームRFとを3D映像用のフレームレート(例えば120fps)で交互に表示部240へ送出する。その再生モードが“2D”を示す場合、信号処理部220はメモリ部230からレフトビュー・フレームLFのみを3D映像用のフレームレート(例えば120fps)で表示部240へ送出する。そのとき、各レフトビュー・フレームLFは二回ずつ繰り返し送出される。そのフレームの送出処理と並行して、信号処理部220は左右信号送信部132に指示を送り、フレームの切り換えに同期して左右信号LRを変化させる。
メモリ部230は、表示装置103に内蔵された半導体メモリ装置又はハードディスク・ドライブ(HDD)である。その他に、表示装置103に外付けされたHDDであってもよい。メモリ部230は二つのフレーム・バッファ、FB1231、FB2232を含む。FB1231とFB2232とは互いに独立なメモリ素子である。その他に、一つのメモリ素子又はHDD内の異なる領域であってもよい。FB1231とFB2232とはそれぞれ、ピクセル・データの2次元配列を格納可能である。その配列の各要素が画面の各画素と一対一に対応付けられている。FB1231は、信号処理部220からレフトビュー・フレームLFを受信して格納し、FB2232は、ライトビュー・フレームRFを受信して格納する。
表示部240は表示駆動部241と表示パネル242とを含む。表示駆動部241は、信号処理部220からの制御信号に従って表示パネル242を制御する。その結果、レフトビュー・フレームLFとライトビュー・フレームRFとが交互に所定時間ずつ、表示パネル242の画面上に表示される。表示パネル242は液晶表示パネル(LCD)である。その他に、プラズマ表示パネル、有機EL表示パネル等、他の方式のものであってもよい。スピーカ250は、表示装置103に内蔵されたスピーカである。その他に、スピーカ250は、表示装置103に外付けされたスピーカであってもよい。
図3は、HDMI通信部211の構成を示す機能ブロック図である。HDMI通信部211はHDMIケーブル122で再生装置102に接続されている。それにより、HDMI通信部211は再生装置102と信号処理部220との間でのデータ交換を中継している。図3を参照するに、HDMI通信部211は、TMDSデコーダ301、EDID記憶部302、及びCEC部303を含む。
TMDSデコーダ301は、HDMIケーブル122内のTMDSチャネルCH1、CH2、CH3、CLKを通して再生装置102から、映像データ、音声データ、補助データ、及び制御信号を表すシリアル信号を受信する。TMDSチャネルは三種類のデータ・チャネルCH1、CH2、CH3と一つのクロック・チャネルCLKとを含む。各チャネルは一対の差動信号線から成る。クロック・チャネルCLKの状態が一周期分変化する間に、各データ・チャネルCH1−3は10ビットを伝送する。各データ・チャネルCH1−3からは、例えば、R、G、B、各8ビットのピクセル・データ、4ビットの音声データと補助データ(インフォ・フレーム)、及び2ビットの制御信号(水平同期信号と垂直同期信号とを含む)がそれぞれ、10ビットのデータに変換されて伝送される。TMDSデコーダ301はそれら10ビットのデータ列から映像データ等を解読して、信号処理部220へ渡す。
EDID記憶部302は、HDMI通信部211に内蔵された半導体メモリ装置であり、HDMIケーブル122内のディスプレイ・データ・チャネルDDCを通して再生装置102に接続されている。ディスプレイ・データ・チャネルDDCは、グラウンド・ラインを含む三本一組の差動信号線から成る。信号処理部220はEDID記憶部302に、表示装置103の機能、特性、状態を表すパラメータ(HDMI Vendor−Specific Data Block)をEDIDとして格納する。EDIDは特に、表示装置103が3D映像の再生機能を持つか否かを示す情報に加え、表示装置103が対応可能な3D映像の表示パターンを示す情報を含む。EDID記憶部302は、再生装置102からの要求に応じて、ディスプレイ・データ・チャネルDDCを通してEDIDを提供する。ディスプレイ・データ・チャネルDDCはその他に、信号処理部220と再生装置102との間でのHDCP認証に利用される。信号処理部220はHDCP認証処理を通して再生装置102と一つの鍵を共有する。再生装置102はその鍵を利用して映像データと音声データとを暗号化し、信号処理部220はその鍵を利用して暗号化データを映像データと音声データとに復号する。
CEC部303は、HDMIケーブル122内のCECラインCECを通して、再生装置102との間でCECメッセージを交換する。CECラインCECは一本の信号線から成る。CEC部303は特に、再生装置102がリモコン105から受けた情報をCECメッセージとして受信して信号処理部220へ通知し、又は逆に、信号処理部220がリモコン105から受けた情報をCECメッセージに変換して再生装置102へ通知する。
図4は、TMDSデータ・チャネルCH1−3を通して伝送されるデータのうち、3D映像の1フレームの表示に利用されるデータの構造を示す模式図である。図4を参照するに、横長の矩形LN[1]、LN[2]、LN[3]、…はそれぞれ、「ライン」と呼ばれる一定長のデータ列を表す。3D映像の1フレームの表示に利用されるデータは、複数のラインLN[1]、LN[2]、LN[3]、…に変換されて、ライン単位で順番に、図4では上から順に伝送される。各ラインは、8ビット=1バイトのデータを一定数並べたものであって、先頭から順に、図4では左から順に伝送される。図4を更に参照するに、各ラインの伝送期間は、コントロール区間CTP(白い矩形で表されている)、データ・アイランド区間DIP(黒い矩形で表されている)、及びビデオ・データ区間VDP(斜線部で表されている)の三種類に分類される。コントロール区間CTPでは、水平同期信号HSYNC、垂直同期信号VSYNC、その他の制御信号が伝送される。データ・アイランド区間DIPでは主に音声データとインフォ・フレームとが伝送される。ビデオ・データ区間VDPでは映像データ、特にピクセル・データが伝送される。
図4に示されているとおり、先頭のラインLN[1]から数えてk本のラインLN[1]、…、LN[k](文字kは1以上の整数を表す。)はビデオ・データ区間VDPを含まず、垂直帰線区間VBLKを構成している。その他のラインLN[k+1]、…はビデオ・データ区間VDPを含み、垂直有効表示区間VACTを構成している。垂直同期信号VSYNCは、垂直帰線区間VBLKの最初の数本のラインLN[1]、LN[2]、LN[3]、…においてのみアクティブになって3D映像の新たなフレームの伝送開始を示す。垂直有効表示区間VACTでは、各ラインの先頭部はビデオ・データ区間VDPを含まず、水平帰線区間HBLKを構成し、その他の部分はビデオ・データ区間VDPのみを含み、水平有効表示区間HACTを構成している。水平同期信号VSYNCは、各ラインLN[1]、LN[2]、LN[3]、…の先頭のコントロール区間CTPにおいてのみアクティブになって各ラインの伝送開始を示す。垂直有効表示区間VACTと水平有効表示区間HACTの共通部分は有効表示領域VACT×HACTであって、3D映像の1フレームを構成するレフトビュー・フレームとライトビュー・フレームの対を含む。それらの配置には様々な種類がある。その種類を表すパラメータ、すなわち「3D構造(3D_structure)」401は、再生モード402と共に、垂直帰線区間VBLKのデータ・アイランド区間DIPに、インフォ・フレームの一部として格納されている。
図5の(a)−(e)は、図4に示されている有効表示領域VACT×HACTにおけるレフトビュー・フレームとライトビュー・フレームとの配置の種類を示す模式図である。各図に示されている破線の矩形VDPが有効表示領域VACT×HACTを示す。各図の斜線部はライトビュー・フレームの伝送区間を示す。各図の配置には、3D構造の異なる値が割り当てられている。図5の(a)は「フレーム・パッキング方式」を示す。垂直有効表示区間VACTを構成するライン数は、2D映像の1フレームのものの2倍よりも大きく設定されている。有効表示領域VACT×HACTの前半、図5の(a)では上側にレフトビュー・フレームLが配置され、後半、図5の(b)では下側にライトビュー・フレームRが配置されている。更に両方のフレームL、Rの間に空き領域(Active Space)VASPが設けられている。この空き領域VASPのライン数は垂直帰線区間VBLKのライン数と等しい。再生装置102は空き領域VASPを一定のピクセル・データで満たす。一方、信号処理部220は空き領域VASP内のピクセル・データを無視する。図5の(b)は「サイド・バイ・サイド方式(フル)」を示す。水平有効表示区間HACTのピクセル数は2D映像の1フレームのものの2倍に設定されている。各ラインの水平有効表示区間HACTの前半がレフトビュー・フレームLを含み、後半がライトビュー・フレームRを含む。図5の(c)は「サイド・バイ・サイド方式(ハーフ)」を示す。図5の(b)の有効表示領域とは異なり、水平有効表示区間HACTのピクセル数は2D映像の1フレームのものと等しい。各フレームL、Rの水平解像度が半分に圧縮された後、レフトビュー・フレームLは各ラインの水平有効表示区間HACTの前半に配置され、ライトビュー・フレームRは後半に配置されている。図5の(d)は「トップ・ボトム方式」(オーバー・アンダー方式とも言う。)を示す。図5の(b)の有効表示領域とは異なり、垂直有効表示区間VACTのライン数は2D映像の1フレームのものと等しい。各フレームL、Rの垂直解像度が半分に圧縮された後、レフトビュー・フレームLは垂直有効表示区間VACTの前半に配置され、ライトビュー・フレームRは後半に配置されている。図5の(e)は「交互ライン方式(Line alternative)」を示す。垂直有効表示区間VACTの奇数番目のラインがレフトビュー・フレームを含み、偶数番目のラインがライトビュー・フレームを含む。垂直有効表示区間VACTを構成するライン数は、2D映像の1フレームのものの2倍に設定されている。
図6は、表示装置103による3D映像の表示動作のフローチャートである。この動作は、再生装置102等、3D映像を表すストリーム・データの送信元からその3D映像の表示要求を受信することによって開始される。
ステップS61では、受信部210が、上記の送信元からストリーム・データを受信する。例えばその送信元が再生装置102である場合、HDMI通信部211はまず、EDIDの送信及びHDCP認証を行う。ここで、EDIDは特に、表示装置103が3D映像の表示に対応可能であることに加え、例えば図5の(a)−(e)に示されている表示パターンのうち、表示装置103が対応可能なものを示す。HDCP認証に成功した場合、受信部210はTMDSデータ・チャネルCH1−3を通して、暗号化されたストリーム・データを受信する。その後、処理はステップS62へ進む。
ステップS62では、信号処理部220は、HDCP認証処理で取得した鍵を利用して、ストリーム・データから、映像、音声、グラフィックス等、各種のデータを解読して抽出する。信号処理部220は更に、レフトビュー・フレームLFとライトビュー・フレームRFとをメモリ部230内のFB1231、FB2232へそれぞれ格納し、音声データADをスピーカ250へ送出する。一方、信号処理部220は、垂直同期信号VSYNC、水平同期信号HSYNC、その他の制御信号、及び補助データに基づいて表示部240を制御する。信号処理部220は特に、垂直帰線区間VBLKに伝送されるインフォ・フレームから3D構造と再生モードとを読み出す。3D構造の値からは、有効表示領域におけるレフトビュー・フレームLとライトビュー・フレームRとの配置が識別される。その後、処理はステップS63へ進む。
ステップS63では、スピーカ250が音声データADから音声を再現する。その動作と並行して、処理はステップS64へ進む。
ステップS64では、信号処理部220は、再生モードが“3D”と“2D”とのいずれを示しているか識別する。再生モードが“3D”を示している場合、処理はステップS65Aヘ進み、“2D”を示している場合、処理はステップS65Bヘ進む。
ステップS65Aでは、再生モードが“3D”を示している。従って、信号処理部220は3D表示モードに移行する。信号処理部220はメモリ部230内のFB1231、FB2232から交互にフレームLF、RFを読み出して表示部240へ送出する。このとき、信号処理部220はフレームレートを、例えば120fpsに設定する。表示部240では、表示駆動部241が信号処理部220からの制御信号に従って表示パネル242を制御する。それにより、レフトビュー・フレームLFとライトビュー・フレームRFとが交互に、例えば1/120秒ずつ、表示パネル242の画面上に表示される。一方、信号処理部220は左右信号送信部132に、フレームの切り換えと同期して左右信号LRを変化させる。その変化に応じて、シャッター眼鏡104は左右の液晶表示パネル141L、141Rに交互に光を透過させる。その結果、シャッター眼鏡104をかけて画面131を見ている視聴者には、レフトビュー・フレームLFとライトビュー・フレームRFとが3D映像の1フレームとして見える。その後、処理はステップS66へ進む。
ステップS65Bでは、再生モードが“2D”を示している。従って、信号処理部220は2D表示モードに移行する。信号処理部220はメモリ部230内のFB1231からのみ、フレームLFを読み出して表示部240へ送出する。このとき、信号処理部220はフレームレートを3D表示モードでの値、例えば120fpsに維持する。表示部240では、表示駆動部241が信号処理部220からの制御信号に従って表示パネル242を制御する。それにより、レフトビュー・フレームLFのみが、例えば1/120秒ずつ2回繰り返して、表示パネル242の画面上に表示される。一方、ステップS65Aと同様に、信号処理部220は左右信号送信部132に、フレームの切り換えと同期して左右信号LRを変化させる。その変化に応じて、シャッター眼鏡104は左右の液晶表示パネル141L、141Rに交互に光を透過させる。その結果、視聴者には、シャッター眼鏡104をかけて画面131を見ていてもレフトビュー・フレームLFしか見えないので、2D映像の1フレームとしてしか見えない。その後、処理はステップS66へ進む。
ステップS66では、メモリ部230の中に表示対象のストリーム・データが残っていないかを、信号処理部220がチェックする。ストリーム・データが残っている場合、処理はステップS62から繰り返される。残っていない場合、処理は終了する。
図7の(a)−(d)はそれぞれ、3D映像の再生期間P3Dの途中に2D映像の再生期間P2Dが挿入された場合において、再生装置102から送出される再生モードとフレームL、Rとの変化、表示装置103によって表示されるフレームL、Rの変化、及びシャッター眼鏡104が左右のレンズを透明にする期間LSL、LSRを示す模式図である。図7の(a)を参照するに、第1時刻T1までは3D映像の再生期間P3Dであって、再生装置102はB−D表示モードで動作する。従って、図7の(a)に示されているように、再生装置102はインフォ・フレーム内の再生モードを“3D”に設定して、そのインフォ・フレームを表示装置103に伝送する。一方、図7の(b)に示されているように、再生装置102はレフトビュー・フレームLとライトビュー・フレームRとを交互に表示装置103へ送出する。ここで、一対のフレームL、Rの伝送フォーマットは、好ましくは図5の(a)に示されているフレーム・パッキング方式である。その他に、図5の(b)−(e)に示されているいずれの方式が採用されてもよい。再生装置102は、インフォ・フレーム内の3D構造に、採用された伝送フォーマットを示す値を設定する。表示装置103はそのインフォ・フレームから、3D構造の示す伝送フォーマットを識別し、かつ、再生モードが“3D”を示していることを検出する。それらの情報を利用して、表示装置103は、図7の(c)に示されているように、受信したレフトビュー・フレームLとライトビュー・フレームRとを交互に表示する。それと並行して、図7の(d)に示されているように、表示装置103はシャッター眼鏡104に、フレームL、Rの切り換えと同期して左右のレンズを交互に透明にさせる。
図7の(a)を更に参照するに、第1時刻T1では3D映像の再生期間P3Dが2D映像の再生期間P2Dへ移行する。具体的には、再生装置102が、ユーザの操作又はアプリケーション・プログラムの指示に応じて、インフォ・フレーム内の再生モードを“3D”から“2D”へ変更し、そのインフォ・フレームを表示装置103に伝送する。一方、再生装置102は第1時刻T1以降もB−D表示モードを継続する。従って、図7の(b)に示されているように、第1時刻T1以降も3D映像の再生期間P3Dと同様に、レフトビュー・フレームLとライトビュー・フレームRとは交互に表示装置103へ送出され続ける。表示装置103は上記のインフォ・フレームから、再生モードが“2D”に変更されたことを検出し、図7の(c)に示されているように、受信したレフトビュー・フレームLのみを2回ずつ繰り返し表示する。しかし、図7の(d)に示されているように、表示装置103は第1時刻T1以降も3D映像の再生期間P3Dと同様に、シャッター眼鏡104にフレームL、Rの切り換えと同期して左右のレンズを交互に透明にさせる。
図7の(a)を再び参照するに、2D映像の再生期間P2Dは第1時刻T1から第2時刻T2まで継続され、第2時刻T2で3D映像の再生期間P3Dへ戻る。具体的には、再生装置102は、ユーザの操作又はアプリケーション・プログラムの指示に応じて、インフォ・フレーム内の再生モードを“2D”から“3D”へ戻す。一方、再生装置102は第2時刻T2以降もB−D表示モードを継続する。従って、図7の(b)に示されているように、第2時刻T2以降もそれ以前と同様に、レフトビュー・フレームLとライトビュー・フレームRとは交互に表示装置103へ送出され続ける。表示装置103は上記のインフォ・フレームから、再生モードが“3D”を再び示していることを検出し、図7の(c)に示されているように、受信したレフトビュー・フレームLとライトビュー・フレームRとを交互に表示する。それと並行して、図7の(d)に示されているように、表示装置103はシャッター眼鏡104に、フレームL、Rの切り換えと同期して左右のレンズを交互に透明にさせる。
図7から明らかに理解されるとおり、再生装置102は、3D映像を一旦2D映像へ切り換える際、B−D表示モードを維持したまま、インフォ・フレーム内の再生モードを“3D”から“2D”へ変更するだけでよい。従って、その切り換え動作は迅速である。一方、表示装置103は、インフォ・フレーム内の再生モードが“3D”である間はレフトビュー・フレームLとライトビュー・フレームRとを交互に表示し、“2D”である間はレフトビュー・フレームLのみを2回ずつ繰り返し表示する。特にフレームレートは変更されなくてもよい。こうして、再生装置102がB−B表示モードを搭載していなくても、表示装置103は3D映像を2D映像へシームレスに切り換えることができる。
<変形例>
(1−A)図8の(a)−(d)はそれぞれ、3D映像の再生期間P3Dの途中に2D映像の再生期間P2Dが挿入された場合において、再生装置102から送出される再生モードとフレームL、Rとの変化、表示装置103によって表示されるフレームL、Rの変化、及びシャッター眼鏡104が左右のレンズを透明にする期間LSL、LSRの第1変形例を示す模式図である。図8は図7とは、表示装置103が2D映像の再生期間P2Dにおいて、シャッター眼鏡104に左右両方のレンズを透明に維持させている点が異なる。その他の点については、図8の(a)−(d)はそれぞれ、図7の(a)−(d)と同様である。従って、それらの詳細については図7の説明を援用する。
図8の(a)を参照するに、第1時刻T1から第2時刻T2までは2D映像の再生期間P2Dであって、インフォ・フレーム内の再生モードは“2D”を示す。その場合、図8の(d)に示されているように、表示装置103はシャッター眼鏡104に左右両方のレンズを透明に維持させる。具体的には、左右信号送信部132が左右信号LRの送信を中断する。その他に、左右信号LRに「現時点で画面131に表示される映像が2D映像である」ことを示す状態を追加して、インフォ・フレーム内の再生モードに“2D”を設定する間、表示装置103は左右信号送信部132に左右信号LRを上記の状態に維持させてもよい。シャッター眼鏡104が左右両方のレンズを透明に維持することにより、画面131は常に視聴者の両目に映る。従って、視聴者には画面の輝度が向上したように見える。また、左右のレンズが交互に光を遮断することに起因する画面のちらつき(フリッカ)を視聴者に感じさせる危険性が避けられる。それらの結果、視聴者に2D映像の画質が向上したように思わせることができる。
(1−B)図9の(a)−(d)はそれぞれ、3D映像の再生期間P3Dの途中に2D映像の再生期間P2Dが挿入された場合において、再生装置102から送出される再生モードとフレームL、Rとの変化、表示装置103によって表示されるフレームL、Rの変化、及びシャッター眼鏡104が左右のレンズを透明にする期間LSL、LSRの第2変形例を示す模式図である。図9は図8とは、表示装置103が2D映像の再生期間P2Dにおいて、フレームレートを2D表示モードでの値に戻している点が異なる。その他の点については、図9の(a)−(d)はそれぞれ、図8の(a)−(d)と同様である。従って、それらの詳細については図7、8の説明を援用する。
図9の(a)を参照するに、第1時刻T1から第2時刻T2までは2D映像の再生期間P2Dであって、インフォ・フレーム内の再生モードは“2D”を示す。その場合、図9の(d)に示されているように、表示装置103はシャッター眼鏡104に左右両方のレンズを透明に維持させる。また、フレームレートは、フレームの切り換えに伴うフリッカが避けられる程度であれば十分であるので、表示装置103はフレームレートを3D表示モードでの値(例えば120fps)から2D表示モードでの値(例えば60fps)へ降下させる。それにより、各レフトビュー・フレームLは1回ずつ表示されればよい。その結果、フレームの切り換え処理に要求される速度と頻度とがいずれも減少するので、その切り換えに伴う消費電力を削減することができる。
(1−C)図10の(a)−(d)はそれぞれ、3D映像の再生期間P3Dの途中に2D映像の再生期間P2Dが挿入された場合において、再生装置102から送出される再生モードとフレームL、Rとの変化、表示装置103によって表示されるフレームL、Rの変化、及びシャッター眼鏡104が左右のレンズを透明にする期間LSL、LSRの第3変形例を示す模式図である。図10は図9とは、再生装置102が2D映像の再生期間P2Dにおいて、B−B表示モードで動作している点が異なる。その他の点については、図10の(a)−(d)はそれぞれ、図9の(a)−(d)と同様である。従って、それらの詳細については図7、9の説明を援用する。
図10の(a)を参照するに、第1時刻T1から第2時刻T2までは2D映像の再生期間P2Dであって、インフォ・フレーム内の再生モードは“2D”を示す。その場合、図10の(b)に示されているように、再生装置102はB−D表示モードからB−B表示モードへ移行する。B−B表示モードの再生装置102は、フレームレートをB−D表示モードでの値(例えば48fps)に維持したまま、レフトビュー・フレームのみを1フレーム当たり2回ずつ表示装置103へ送出する。一方、表示装置103は、フレームレートを3D表示モードでの値(例えば120fps)から2D表示モードでの値(例えば60fps)へ降下させて、各レフトビュー・フレームLを1回ずつ表示する。こうして、再生装置102がB−B表示モードを搭載しているか否かにかかわらず、表示装置103は3D映像を2D映像へシームレスに切り換えることができる。また、表示装置103のフレームレートは低く維持されているので、フレームの切り換えに伴う消費電力を削減することができる。
(1−D)図11の(a)−(d)はそれぞれ、3D映像の再生期間P3Dの途中に2D映像の再生期間P2Dが挿入された場合において、再生装置102から送出される再生モードとフレームL、Rとの変化、表示装置103によって表示されるフレームL、Rの変化、及びシャッター眼鏡104が左右のレンズを透明にする期間LSL、LSRの第4変形例を示す模式図である。図11は図9とは、表示装置103が2D映像の再生期間P2Dにおいて、レフトビュー・フレームLとライトビュー・フレームRとの対からレフトビュー・フレームLcを再構成している点が異なる。その他の点については、図11の(a)−(d)はそれぞれ、図9の(a)−(d)と同様である。従って、それらの詳細については図7、9の説明を援用する。
図11の(a)を参照するに、第1時刻T1から第2時刻T2までは2D映像の再生期間P2Dであって、インフォ・フレーム内の再生モードは“2D”を示す。その場合、表示装置103はまず、3D映像の一つのフレームを構成するレフトビュー・フレームLとライトビュー・フレームRとの対から、新たなレフトビュー・フレームLcを再構成する。それらのフレームL、R間では、被写体を見る視点が微妙に異なるだけであるので、各フレームL、Rの表す映像は互いに近似している。従って、その近似性を利用して、新たなレフトビュー・フレームLcの解像度及び画質を元のレフトビュー・フレームLよりも向上させることが一般に可能である。表示装置103は次に、フレームレートを3D表示モードでの値(例えば120fps)から2D表示モードでの値(例えば60fps)へ降下させる。それにより、新たなレフトビュー・フレームLcはそれぞれ1回ずつ表示される。こうして、2D映像の再生期間P2Dでは映像の解像度及び画質を向上させることができ、かつ、フレームの切り換えに伴う消費電力を削減することができる。
<BD−ROMディスク上のデータ構造>
図12は、図1に示されているBD−ROMディスク101上のデータ構造を示す模式図である。図12を参照するに、BD−ROMディスク101上のデータ記録領域の最内周部にはBCA(Burst Cutting Area)1201が設けられている。BCAに対してはBD−ROMドライブ121によるアクセスのみが許可され、アプリケーション・プログラムによるアクセスは禁止される。それにより、BCA1201は著作権保護技術に利用される。BCA1201よりも外側のデータ記録領域では内周から外周へ向けてトラックが螺旋状に延びている。図12にはトラック1202が模式的に横方向に引き伸ばされて描かれている。その左側はディスク101の内周部を表し、右側は外周部を表す。図12に示されているように、トラック1202は内周から順に、リードイン領域1202A、ボリューム領域1202B、及びリードアウト領域1202Cを含む。リードイン領域1202AはBCA1201のすぐ外周側に設けられている。リードイン領域1202Aは、ボリューム領域1202Bに記録されたデータのサイズ及び物理アドレス等、BD−ROMドライブ121によるボリューム領域1202Bへのアクセスに必要な情報を含む。リードアウト領域1202Cはデータ記録領域の最外周部に設けられ、ボリューム領域1202Bの終端を示す。ボリューム領域1202Bは、映像及び音声等のアプリケーション・データを含む。
ボリューム領域1202Bは「セクタ」と呼ばれる小領域1202Dに分割されている。セクタのサイズは共通であり、例えば2048バイトである。各セクタ1202Dにはボリューム領域1202Bの先端から順に通し番号が振られている。この通し番号は論理ブロック番号(LBN)と呼ばれ、BD−ROMディスク101上の論理アドレスに利用される。BD−ROMディスク101からのデータの読み出しでは、宛先のセクタのLBNが指定されることによって読み出し対象のデータが特定される。こうして、ボリューム領域1202Bはセクタ単位でアクセス可能である。更に、BD−ROMディスク101上では論理アドレスが物理アドレスと実質的に等しい。特にLBNが連続している領域では物理アドレスも実質的に連続している。従って、BD−ROMドライブ121は、その光ピックアップにシークを行わせることなく、LBNが連続しているセクタからデータを連続して読み出すことができる。
ボリューム領域1202Bに記録されたデータは所定のファイルシステムで管理される。そのファイルシステムとしてはUDF(Universal Disc Format)が採用されている。そのファイルシステムはその他にISO9660であってもよい。そのファイルシステムに従い、ボリューム領域1202Bに記録されたデータはディレクトリ/ファイル形式で表現される(詳細は《補足》参照)。すなわち、それらのデータはディレクトリ単位又はファイル単位でアクセス可能である。
≪BD−ROMディスク上のディレクトリ/ファイル構造≫
図12は更に、BD−ROMディスク101のボリューム領域1202Bに格納されたデータのディレクトリ/ファイル構造を示す。図12を参照するに、このディレクトリ/ファイル構造では、ルート(ROOT)ディレクトリ1203の直下にBDムービー(BDMV:BD Movie)ディレクトリ1210が置かれている。BDMVディレクトリ1210の直下には、インデックス・ファイル(index.bdmv)1211とムービーオブジェクト・ファイル(MovieObject.bdmv)1212とが置かれている。
インデックス・ファイル1211は、BD−ROMディスク101に記録されたコンテンツの全体を管理するための情報である。その情報は特に、そのコンテンツを再生装置102に認識させるための情報、及びインデックス・テーブルを含む。インデックス・テーブルは、そのコンテンツを構成するタイトルと、再生装置102の動作を制御するためのプログラムとの間の対応表である。そのプログラムを「オブジェクト」という。オブジェクトの種類にはムービーオブジェクトとBD−J(BD Java (登録商標))オブジェクトとがある。
ムービーオブジェクト・ファイル1212は一般に複数のムービーオブジェクトを含む。各ムービーオブジェクトはナビゲーション・コマンドの列を含む。ナビゲーション・コマンドは、一般的なDVDプレーヤによる再生処理と同様な再生処理を再生装置102に実行させるための制御指令である。ナビゲーション・コマンドの種類には、例えば、タイトルに対応するプレイリスト・ファイルの読み出し命令、プレイリスト・ファイルの示すAVストリーム・ファイルの再生命令、及び別のタイトルへの遷移命令がある。ナビゲーション・コマンドはインタプリタ型言語で記述され、再生装置102に組み込まれたインタプリタ、すなわちジョブ制御プログラムによって解読され、再生装置102の制御部に所望のジョブを実行させる。ナビゲーション・コマンドはオペコードとオペランドとから成る。オペコードは、タイトルの分岐と再生及び演算等、再生装置102に実行させるべき操作の種類を示す。オペランドは、タイトル番号等、その操作の対象の識別情報を示す。再生装置102の制御部は、例えばユーザの操作に応じて各ムービーオブジェクトを呼び出し、そのムービーオブジェクトに含まれるナビゲーション・コマンドを列の順に実行する。それにより、再生装置102は一般的なDVDプレーヤと同様に、まず、表示装置103にメニューを表示してユーザにコマンドを選択させる。再生装置102は次に、選択されたコマンドに応じて、タイトルの再生開始/停止、及び別のタイトルへの切り換え等、再生される映像の進行を動的に変化させる。
図12を更に参照するに、BDMVディレクトリ1210の直下には、プレイリスト(PLAYLIST)ディレクトリ1220、クリップ情報(CLIPINF)ディレクトリ1230、ストリーム(STREAM)ディレクトリ1240、BD−Jオブジェクト(BDJO:BD Java Object)ディレクトリ1250、及びJava(登録商標)アーカイブ(JAR:Java Archive)ディレクトリ1260が置かれている。
STREAMディレクトリ1240の直下には、三種類のAVストリーム・ファイル(01000.m2ts)1241、(02000.m2ts)1242、(03000.m2ts)1243、及び、立体視インターリーブ・ファイル(SSIF:Stereoscopic Interleaved File)ディレクトリ1244が置かれている。SSIFディレクトリ1244の直下には、二種類のAVストリーム・ファイル(01000.ssif)1245、(02000.ssif)1246が置かれている。
「AVストリーム・ファイル」は、BD−ROMディスク101上に記録された映像コンテンツの実体のうち、ファイルシステムの定めるファイル形式に整えられたものをいう。ここで、映像コンテンツの実体とは一般に、映像・音声・字幕等を表す各種のストリーム・データ、すなわちエレメンタリ・ストリームが多重化されたストリーム・データを意味する。この多重化ストリーム・データは内蔵のプライマリ・ビデオ・ストリームの種類に依ってメイン・トランスポート・ストリーム(TS)とサブTSとに大別される。「メインTS」は、プライマリ・ビデオ・ストリームとしてベースビュー・ビデオ・ストリームを含む多重化ストリーム・データをいう。「ベースビュー・ビデオ・ストリーム」は、単独で再生可能であって、2D映像を表すビデオ・ストリームをいう。「サブTS」は、プライマリ・ビデオ・ストリームとしてディペンデントビュー・ビデオ・ストリームを含む多重化ストリーム・データをいう。「ディペンデントビュー・ビデオ・ストリーム」は、その再生にベースビュー・ビデオ・ストリームを必要とし、そのベースビュー・ビデオ・ストリームとの組み合わせで3D映像を表すビデオ・ストリームをいう。ディペンデントビュー・ビデオ・ストリームの種類には、ライトビュー・ビデオ・ストリーム、レフトビュー・ビデオ・ストリーム、及びデプスマップ・ストリームがある。「ライトビュー・ビデオ・ストリーム」は、ベースビュー・ビデオ・ストリームの表す2D映像がL/Rモードの再生装置によって3D映像のレフトビューとして利用されるときに、その3D映像のライトビューを表すビデオ・ストリームとして利用される。「レフトビュー・ビデオ・ストリーム」はその逆である。「デプスマップ・ストリーム」は、ベースビュー・ビデオ・ストリームの表す2D映像がデプス・モードの再生装置によって仮想的な2D画面への3D映像の射影として利用されるとき、その3D映像のデプスマップを表すストリーム・データとして利用される。特にそのベースビュー・ビデオ・ストリームがレフトビューを表すときに利用されるデプスマップ・ストリームを「レフトビュー・デプスマップ・ストリーム」といい、そのベースビュー・ビデオ・ストリームがライトビューを表すときに利用されるデプスマップ・ストリームを「ライトビュー・デプスマップ・ストリーム」という。
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上に記録された一連のデータを異なるファイルに共有させ、いずれのファイルとしてもアクセス可能にする仕組みを「ファイルのクロスリンク」という。
図12に示されている例では、第1AVストリーム・ファイル(01000.m2ts)1241はファイル2Dであり、第2AVストリーム・ファイル(02000.m2ts)1242と第3AVストリーム・ファイル(03000.m2ts)1243とはいずれもファイルDEPである。このように、ファイル2DとファイルDEPとはSTREAMディレクトリ1240の直下に置かれる。第1AVストリーム・ファイル、すなわちファイル2D1241の含むベースビュー・ビデオ・ストリームは3D映像のレフトビューを表す。第2AVストリーム・ファイル、すなわち第1ファイルDEP1242の含むディペンデントビュー・ビデオ・ストリームはライトビュー・ビデオ・ストリームである。第3AVストリーム・ファイル、すなわち第2ファイルDEP1243の含むディペンデントビュー・ビデオ・ストリームはデプスマップ・ストリームである。
図12に示されている例では更に、第4AVストリーム・ファイル(01000.ssif)1245と第5AVストリーム・ファイル(02000.ssif)1246とはいずれもファイルSSである。このように、ファイルSSはSSIFディレクトリ1244の直下に置かれる。第4AVストリーム・ファイル、すなわち第1ファイルSS1245はファイル2D1241とはメインTS、特にベースビュー・ビデオ・ストリームを共有し、第1ファイルDEP1242とはサブTS、特にライトビュー・ビデオ・ストリームを共有する。第5AVストリーム・ファイル、すなわち第2ファイルSS1246はファイル2D1241とはメインTS、特にベースビュー・ビデオ・ストリームを共有し、第2ファイルDEP1243とはサブTS、特にデプスマップ・ストリームを共有する。
CLIPINFディレクトリ1230には、三種類のクリップ情報ファイル(01000.clpi)1231、(02000.clpi)1232、(03000.clpi)1233が置かれている。「クリップ情報ファイル」は、ファイル2DとファイルDEPとに一対一に対応付けられたファイルであって、特に各ファイルのエントリ・マップを含むものをいう。「エントリ・マップ」は、ファイル2D又はファイルDEPの表す各シーンの表示時間と、そのシーンが記録された各ファイル内のアドレスとの間の対応表である。クリップ情報ファイルのうち、ファイル2Dに対応付けられているものを「2Dクリップ情報ファイル」といい、ファイルDEPに対応付けられているものを「ディペンデントビュー・クリップ情報ファイル」という。更に、ファイルDEPがライトビュー・ビデオ・ストリームを含むとき、対応するディペンデントビュー・クリップ情報ファイルを「ライトビュー・クリップ情報ファイル」という。ファイルDEPがデプスマップ・ストリームを含むとき、対応するディペンデントビュー・クリップ情報ファイルを「デプスマップ・クリップ情報ファイル」という。図12に示されている例では、第1クリップ情報ファイル(01000.clpi)1231は2Dクリップ情報ファイルであり、ファイル2D1241に対応付けられている。第2クリップ情報ファイル(02000.clpi)1232はライトビュー・クリップ情報ファイルであり、第1ファイルDEP1242に対応付けられている。第3クリップ情報ファイル(03000.clpi)1233はデプスマップ・クリップ情報ファイルであり、第2ファイルDEP1243に対応付けられている。
PLAYLISTディレクトリ1220には三種類のプレイリスト・ファイル(00001.mpls)1221、(00002.mpls)1222、(00003.mpls)1223が置かれている。「プレイリスト・ファイル」は、AVストリーム・ファイルの再生経路、すなわちAVストリーム・ファイルの再生対象の部分とその再生順序とを規定するファイルをいう。プレイリスト・ファイルの種類には2Dプレイリスト・ファイルと3Dプレイリスト・ファイルとがある。「2Dプレイリスト・ファイル」はファイル2Dの再生経路を規定する。「3Dプレイリスト・ファイル」は、2D再生モードの再生装置に対してはファイル2Dの再生経路を規定し、3D再生モードの再生装置に対してはファイルSSの再生経路を規定する。図12に示されている例では、第1プレイリスト・ファイル(00001.mpls)1221は2Dプレイリスト・ファイルであり、ファイル2D1241の再生経路を規定する。第2プレイリスト・ファイル(00002.mpls)1222は3Dプレイリスト・ファイルであり、2D再生モードの再生装置に対してはファイル2D1241の再生経路を規定し、L/Rモードの再生装置に対しては第1ファイルSS1245の再生経路を規定する。第3プレイリスト・ファイル(00003.mpls)1223は3Dプレイリスト・ファイルであり、2D再生モードの再生装置に対してはファイル2D1241の再生経路を規定し、デプス・モードの再生装置に対しては第2ファイルSS1246の再生経路を規定する。
BDJOディレクトリ1250にはBD−Jオブジェクト・ファイル(XXXXX.bdjo)1251が置かれている。BD−Jオブジェクト・ファイル1251はBD−Jオブジェクトを一つ含む。BD−Jオブジェクトはバイトコード・プログラムであり、再生装置102に実装されたJava仮想マシンにタイトルの再生処理及びグラフィックス映像の描画処理を実行させる。BD−JオブジェクトはJava言語等のコンパイラ型言語で記述されている。BD−Jオブジェクトは、アプリケーション管理テーブルと、参照対象のプレイリスト・ファイルの識別情報とを含む。「アプリケーション管理テーブル」は、Java仮想マシンに実行させるべきJavaアプリケーション・プログラムとその実行時期、すなわちライフサイクルとの対応表である。「参照対象のプレイリスト・ファイルの識別情報」は、再生対象のタイトルに対応するプレイリスト・ファイルを識別するための情報である。Java仮想マシンは、ユーザの操作又はアプリケーション・プログラムの指示に従って各BD−Jオブジェクトを呼び出し、そのBD−Jオブジェクトに含まれるアプリケーション管理テーブルに従ってJavaアプリケーション・プログラムを実行する。それにより、再生装置102は、再生される各タイトルの映像の進行を動的に変化させ、又は、表示装置103にグラフィックス映像をタイトルの映像とは独立に表示させる。
JARディレクトリ1260にはJARファイル(YYYYY.jar)1261が置かれている。JARファイル1261は、BD−Jオブジェクトの示すアプリケーション管理テーブルに従って実行されるべきJavaアプリケーション・プログラムの本体を一般に複数含む。「Javaアプリケーション・プログラム」は、BD−Jオブジェクトと同様、Java言語等のコンパイラ型言語で記述されたバイトコード・プログラムである。Javaアプリケーション・プログラムの種類には、Java仮想マシンにタイトルの再生処理を実行させるもの、及びJava仮想マシンにグラフィックス映像の描画処理を実行させるものが含まれる。JARファイル1261はJavaアーカイブ・ファイルであり、再生装置102に読み込まれたときにその内部のメモリで展開される。それにより、そのメモリの中にJavaアプリケーション・プログラムが格納される。
≪多重化ストリーム・データの構造≫
図13の(a)は、BD−ROMディスク101上のメインTSに多重化されたエレメンタリ・ストリームの一覧表である。メインTSはMPEG−2トランスポート・ストリーム(TS)形式のデジタル・ストリームであり、図12に示されているファイル2D1241に含まれる。図13の(a)を参照するに、メインTSはプライマリ・ビデオ・ストリーム1301とプライマリ・オーディオ・ストリーム1302A、1302Bとを含む。メインTSはその他に、プレゼンテーション・グラフィックス(PG)ストリーム1303A、1303B、インタラクティブ・グラフィックス(IG)ストリーム1304、セカンダリ・オーディオ・ストリーム1305、及びセカンダリ・ビデオ・ストリーム1306を含んでもよい。
プライマリ・ビデオ・ストリーム1301は映画の主映像を表し、セカンダリ・ビデオ・ストリーム1306は副映像を表す。ここで、主映像とは、映画の本編の映像等、コンテンツの主要な映像を意味し、例えば画面全体に表示されるものを指す。一方、副映像とは、例えば主映像の中に小さな画面で表示される映像のように、ピクチャ・イン・ピクチャ方式を利用して主映像と同時に画面に表示される映像を意味する。プライマリ・ビデオ・ストリーム1301とセカンダリ・ビデオ・ストリーム1306とはいずれもベースビュー・ビデオ・ストリームである。各ビデオ・ストリーム1301、1306は、MPEG−2、MPEG−4 AVC、又はSMPTE VC−1等の動画圧縮符号化方式で符号化されている。
プライマリ・オーディオ・ストリーム1302A、1302Bは映画の主音声を表す。ここで、二つのプライマリ・オーディオ・ストリーム1302A、1302Bの間では言語が異なる。セカンダリ・オーディオ・ストリーム1305は、対話画面の操作に伴う効果音等、主音声と重ね合わされるべき(ミキシングされるべき)副音声を表す。各オーディオ・ストリーム1302A、1302B、1305は、AC−3、ドルビー・デジタル・プラス(Dolby Digital Plus:「ドルビー・デジタル」は登録商標)、MLP(Meridian Lossless Packing:登録商標)、DTS(Digital Theater System:登録商標)、DTS−HD、又はリニアPCM(Pulse Code Modulation)等の方式で符号化されている。
各PGストリーム1303A、1303Bは、グラフィックスによる字幕等、プライマリ・ビデオ・ストリーム1301の表す映像に重ねて表示されるべきグラフィックス映像を表す。二つのPGストリーム1303A、1303Bの間では、例えば字幕の言語が異なる。IGストリーム1304は、表示装置103の画面131上に対話画面を構成するためのグラフィックス・ユーザインタフェース(GUI)用のグラフィックス部品及びその配置を表す。
エレメンタリ・ストリーム1301−1306はパケット識別子(PID)を用いて識別される。PIDの割り当ては例えば次のとおりである。一つのメインTSはプライマリ・ビデオ・ストリームを一本のみ含むので、プライマリ・ビデオ・ストリーム1301には16進数値0x1011が割り当てられる。一つのメインTSに他のエレメンタリ・ストリームが種類ごとに最大32本まで多重化可能であるとき、プライマリ・オーディオ・ストリーム1302A、1302Bには0x1100から0x111Fまでのいずれかが割り当てられる。PGストリーム1303A、1303Bには0x1200から0x121Fまでのいずれかが割り当てられる。IGストリーム1304には0x1400から0x141Fまでのいずれかが割り当てられる。セカンダリ・オーディオ・ストリーム1305には0x1A00から0x1A1Fまでのいずれかが割り当てられる。セカンダリ・ビデオ・ストリーム1306には0x1B00から0x1B1Fまでのいずれかが割り当てられる。
図13の(b)は、BD−ROMディスク101上の第1サブTSに多重化されたエレメンタリ・ストリームの一覧表である。第1サブTSはMPEG−2 TS形式の多重化ストリーム・データであり、図12に示されている第1ファイルDEP1242に含まれる。図13の(b)を参照するに、第1サブTSはプライマリ・ビデオ・ストリーム1311を含む。第1サブTSはその他に、レフトビューPGストリーム1312A、1312B、ライトビューPGストリーム1313A、1313B、レフトビューIGストリーム1314、ライトビューIGストリーム1315、及びセカンダリ・ビデオ・ストリーム1316を含んでもよい。プライマリ・ビデオ・ストリーム1311はライトビュー・ビデオ・ストリームであり、メインTS内のプライマリ・ビデオ・ストリーム1301が3D映像のレフトビューを表すとき、その3D映像のライトビューを表す。レフトビューとライトビューとのPGストリームの対1312A+1313A、1312B+1313Bは、字幕等のグラフィックス映像を3D映像として表示するときにそのレフトビューとライトビューとの対を表す。レフトビューとライトビューとのIGストリームの対1314、1315は、対話画面のグラフィックス映像を3D映像として表示するときにそのレフトビューとライトビューとの対を表す。セカンダリ・ビデオ・ストリーム1316はライトビュー・ビデオ・ストリームであり、メインTS内のセカンダリ・ビデオ・ストリーム1306が3D映像のレフトビューを表すとき、その3D映像のライトビューを表す。
エレメンタリ・ストリーム1311−1316に対するPIDの割り当ては例えば次のとおりである。プライマリ・ビデオ・ストリーム1311には0x1012が割り当てられる。一つのサブTSに他のエレメンタリ・ストリームが種類別に最大32本まで多重化可能であるとき、レフトビューPGストリーム1312A、1312Bには0x1220から0x123Fまでのいずれかが割り当てられ、ライトビューPGストリーム1313A、1313Bには0x1240から0x125Fまでのいずれかが割り当てられる。レフトビューIGストリーム1314には0x1420から0x143Fまでのいずれかが割り当てられ、ライトビューIGストリーム1315には0x1440から0x145Fまでのいずれかが割り当てられる。セカンダリ・ビデオ・ストリーム1316には0x1B20から0x1B3Fまでのいずれかが割り当てられる。
図13の(c)は、BD−ROMディスク101上の第2サブTSに多重化されたエレメンタリ・ストリームの一覧表である。第2サブTSはMPEG−2 TS形式の多重化ストリーム・データであり、図12に示されている第2ファイルDEP1243に含まれる。図13の(c)を参照するに、第2サブTSはプライマリ・ビデオ・ストリーム1321を含む。第2サブTSはその他に、デプスマップPGストリーム1323A、1323B、デプスマップIGストリーム1324、及びセカンダリ・ビデオ・ストリーム1326を含んでもよい。プライマリ・ビデオ・ストリーム1321はデプスマップ・ストリームであり、メインTS内のプライマリ・ビデオ・ストリーム1301との組み合わせで3D映像を表す。デプスマップPGストリーム1323A、1323Bは、メインTS内のPGストリーム1303A、1303Bの表す2D映像が仮想的な2D画面への3D映像の射影として利用されるとき、その3D映像のデプスマップを表すPGストリームとして利用される。デプスマップIGストリーム1324は、メインTS内のIGストリーム1304の表す2D映像が仮想的な2D画面への3D映像の射影として利用されるとき、その3D映像のデプスマップを表すIGストリームとして利用される。セカンダリ・ビデオ・ストリーム1326はデプスマップ・ストリームであり、メインTS内のセカンダリ・ビデオ・ストリーム1306との組み合わせで3D映像を表す。
エレメンタリ・ストリーム1321−1326に対するPIDの割り当ては例えば次のとおりである。プライマリ・ビデオ・ストリーム1321には0x1013が割り当てられる。一つのサブTSに他のエレメンタリ・ストリームが種類別に最大32本まで多重化可能であるとき、デプスマップPGストリーム1323A、1323Bには0x1260から0x127Fまでのいずれかが割り当てられる。デプスマップIGストリーム1324には0x1460から0x147Fまでのいずれかが割り当てられる。セカンダリ・ビデオ・ストリーム1326には0x1B40から0x1B5Fまでのいずれかが割り当てられる。
図14は、多重化ストリーム・データ1400内でのTSパケットの配置を示す模式図である。このパケット構造はメインTSとサブTSとで共通である。多重化ストリーム・データ1400内では各エレメンタリ・ストリーム1401、1402、1403、1404はTSパケット1421、1422、1423、1424の列に変換されている。例えばビデオ・ストリーム1401では、まず、各フレーム1401A又は各フィールドが一つのPES(Packetized Elementary Stream)パケット1411に変換される。次に、各PESパケット1411が一般に複数のTSパケット1421に変換される。同様に、オーディオ・ストリーム1402、PGストリーム1403、及びIGストリーム1404はそれぞれ、一旦PESパケット1412、1413、1414の列に変換された後、TSパケット1422、1423、1424の列に変換される。最後に、各エレメンタリ・ストリーム1401、1402、1403、1404から得られたTSパケット1421、1422、1423、1424が一本のストリーム・データ1400に時分割で多重化される。
図15の(b)は、多重化ストリーム・データを構成するTSパケット列の形式を示す模式図である。各TSパケット1501は188バイト長のパケットである。図15の(b)を参照するに、各TSパケット1501は、TSペイロード1501Pとアダプテーション(adaptation)・フィールド(以下、ADフィールドと略す。)1501Aとの少なくともいずれか、及びTSヘッダ1501Hを含む。TSペイロード1501PとADフィールド1501Aとは、両方を合わせて184バイト長のデータ領域である。TSペイロード1501PはPESパケットの格納領域として利用される。図14に示されているPESパケット1411−1414はそれぞれ、一般に複数の部分に分割され、各部分が異なるTSペイロード1501Pに格納される。ADフィールド1501Aは、TSペイロード1501Pのデータ量が184バイトに満たないときにスタッフィング・バイト(すなわちダミー・データ)を格納するための領域である。ADフィールド1501Aはその他に、TSパケット1501が例えば後述のPCRであるときに、その情報の格納領域として利用される。TSヘッダ1501Hは4バイト長のデータ領域である。
図15の(a)は、TSヘッダ1501Hのデータ構造を示す模式図である。図15の(a)を参照するに、TSヘッダ1501Hは、TS優先度(transport_priority)1511、PID1512、及びADフィールド制御(adaptation_field_control)1513を含む。PID1512は、同じTSパケット1501内のTSペイロード1501Pに格納されたデータの属するエレメンタリ・ストリームのPIDを示す。TS優先度1511は、PID1512の示す値が共通するTSパケット群の中でのTSパケット1501の優先度を示す。ADフィールド制御1513は、TSパケット1501内でのADフィールド1501AとTSペイロード1501Pとのそれぞれの有無を示す。例えばADフィールド制御1513が“1”を示すとき、TSパケット1501はADフィールド1501Aを含まず、TSペイロード1501Pを含む。ADフィールド制御1513が“2”を示すときはその逆である。ADフィールド制御1513が“3”を示すとき、TSパケット1501はADフィールド1501AとTSペイロード1501Pとの両方を含む。
図15の(c)は、多重化ストリーム・データのTSパケット列から構成されたソースパケット列の形式を示す模式図である。図15の(c)を参照するに、各ソースパケット1502は192バイト長のパケットであり、図15の(b)に示されているTSパケット1501の一つと4バイト長のヘッダ(TP_Extra_Header)1502Hとを含む。TSパケット1501がBD−ROMディスク101に記録されるとき、そのTSパケット1501にヘッダ1502Hが付与されることによってソースパケット1502は構成される。ヘッダ1502HはATS(Arrival_Time_Stamp)を含む。「ATS」は時刻情報であり、次のように利用される:ソースパケット1502がBD−ROMディスク101から再生装置102内のシステム・ターゲット・デコーダへ送られたとき、そのソースパケット1502からTSパケット1502Pが抽出されてシステム・ターゲット・デコーダ内のPIDフィルタへ転送される。そのヘッダ1502H内のATSは、その転送が開始されるべき時刻を示す。ここで、「システム・ターゲット・デコーダ」は、多重化ストリーム・データをエレメンタリ・ストリームごとに復号する装置をいう。システム・ターゲット・デコーダと、それによるATSの利用との詳細については後述する。
図15の(d)は、一連のソースパケット1502が連続的に記録されたBD−ROMディスク101のボリューム領域1202B上のセクタ群の模式図である。図15の(d)を参照するに、一連のソースパケット1502は32個ずつ、三つの連続するセクタ1521、1522、1523に記録されている。これは、32個のソースパケットのデータ量192バイト×32=6144バイトが三つのセクタの合計サイズ2048バイト×3=6144バイトに等しいことに因る。このように、三つの連続するセクタ1521、1522、1523に記録された32個のソースパケット1502を「アラインド・ユニット(Aligned Unit)」1520という。再生装置102は、BD−ROMディスク101からソースパケット1502をアラインド・ユニット1520ごとに、すなわち32個ずつ読み出す。セクタ群1521、1522、1523、…は、先頭から順に32個ずつに分割され、それぞれが一つの誤り訂正符号(ECC)ブロック1530を構成している。BD−ROMドライブ121はECCブロック1530ごとに誤り訂正処理を行う。
≪PGストリームのデータ構造≫
図16は、PGストリーム1600のデータ構造を示す模式図である。図16を参照するに、PGストリーム1600は複数のデータ・エントリ#1、#2、…を含む。各データ・エントリはPGストリーム1600の表示単位(ディスプレイ・セット)を表し、再生装置102に一枚のグラフィックス・プレーンを構成させるのに必要なデータから成る。「グラフィックス・プレーン」とは、2Dグラフィックス映像を表すグラフィックス・データから生成されるプレーン・データをいう。「プレーン・データ」とは、画素データの二次元配列であって、映像フレームの解像度に等しいサイズのものをいう。一組の画素データは色座標値とα値(不透明度)との組み合わせから成る。色座標値はRGB値又はYCrCb値で表される。グラフィックス・プレーンの種類には、PGプレーン、IGプレーン、イメージ・プレーン、及びオン・スクリーン・ディスプレイ(OSD)プレーンが含まれる。PGプレーンはメインTS内のPGストリームから生成される。IGプレーンはメインTS内のIGストリームから生成される。イメージ・プレーンはBD−Jオブジェクトに従って生成される。OSDプレーンは再生装置102のファームウェアに従って生成される。
図16を更に参照するに、各データ・エントリは複数の機能セグメントを含む。それらの機能セグメントは、先頭から順に、表示制御セグメント(Presentation Control Segment:PCS)、ウィンドウ定義セグメント(Window Define Segment:WDS)、パレット定義セグメント(Pallet Define Segment:PDS)、及びオブジェクト定義セグメント(Object Define Segment:ODS)を含む。
WDSは、グラフィックス・プレーン内の矩形領域、すなわちウィンドウを規定する。具体的には、WDSは、ウィンドウID1611、ウィンドウ位置1612、及びウィンドウ・サイズ1613を含む。ウィンドウID1611はWDSの識別情報(ID)である。ウィンドウ位置1612はグラフィックス・プレーン内でのウィンドウの位置、例えばウィンドウの左上角の座標を示す。ウィンドウ・サイズ1613はウィンドウの高さと幅とを示す。
PDSは、所定種類のカラーIDと色座標値(例えば、輝度Y、赤色差Cr、青色差Cb、不透明度α)との間の対応関係を規定する。具体的には、PDSはパレットID1621とカラー・ルックアップ・テーブル(CLUT)1622とを含む。パレットID1621はPDSのIDである。CLUT1622は、グラフィックス・オブジェクトの描画に利用される色の一覧表である。CLUT1622には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は、オブジェクト表示位置1601、クロッピング情報1602、参照ウィンドウID1603、参照パレットID1604、及び参照オブジェクトID1605を含む。オブジェクト表示位置1601は、グラフィックス・オブジェクトが表示されるべきグラフィックス・プレーン内の位置、例えばグラフィックス・オブジェクトが表示されるべき領域の左上角の座標を、WDSの規定するウィンドウ内の座標で表す。クロッピング情報1602は、クロッピング処理によってグラフィックス・オブジェクトの中から切り出されるべき矩形状の部分の範囲を示す。その範囲は例えば、左上角の座標、高さ、及び幅で規定される。その部分が、オブジェクト表示位置1601の示す位置に実際に描画される。参照ウィンドウID1603、参照パレットID1604、及び参照オブジェクトID1605はそれぞれ、グラフィックス・オブジェクトの描画処理において参照されるべきWDS、PDS、及びグラフィックス・オブジェクトのIDを示す。コンテンツ・プロバイダは、PCS内のそれらのパラメータを利用して、再生装置102に画面構成を指示する。それにより、例えば「ある字幕を徐々に消去しつつ、次の字幕を表示させる」という視覚効果を再生装置102に実現させることができる。
≪IGストリームのデータ構造≫
図14を更に参照するに、IGストリーム1404は、対話構成セグメント(Interactive Composition Segment:ICS)、PDS、及びODSを含む。PDSとODSとは、PGストリーム1403に含まれるものと同様な機能セグメントである。特に、ODSの含むグラフィックス・オブジェクトは、ボタン及びポップアップ・メニュー等、対話画面を構成するGUI用グラフィック部品を表す。ICSは、それらのグラフィックス・オブジェクトを用いた対話操作を規定する。具体的には、ICSは、ボタン及びポップアップ・メニュー等、ユーザ操作に応じて状態が変化するグラフィックス・オブジェクトのそれぞれについて取り得る状態、すなわち、ノーマル、セレクテッド、及びアクティブの各状態を規定する。ICSは更にボタン情報を含む。ボタン情報は、ユーザがボタン等に対して確定操作を行った際に再生装置の実行すべきコマンドを含む。
≪ビデオ・ストリームのデータ構造≫
図17は、ベースビュー・ビデオ・ストリーム1701とライトビュー・ビデオ・ストリーム1702とのピクチャを表示時間順に示す模式図である。図17を参照するに、ベースビュー・ビデオ・ストリーム1701はピクチャ1710、1711、1712、…、1719(以下、ベースビュー・ピクチャという。)を含み、ライトビュー・ビデオ・ストリーム1702はピクチャ1720、1721、1722、…、1729(以下、ライトビュー・ピクチャという。)を含む。各ピクチャ1710−1719、1720−1729は1フレーム又は1フィールドを表し、MPEG−2又はMPEG−4 AVC等の動画圧縮符号化方式によって圧縮されている。
上記の符号化方式による各ピクチャの圧縮には、そのピクチャの空間方向及び時間方向での冗長性が利用される。ここで、空間方向での冗長性のみを利用するピクチャの符号化を「ピクチャ内符号化」という。一方、時間方向での冗長性、すなわち、表示順序の連続する複数のピクチャ間でのデータの類似性を利用するピクチャの符号化を「ピクチャ間予測符号化」という。ピクチャ間予測符号化では、まず符号化対象のピクチャに対して、表示時間が前又は後である別のピクチャが参照ピクチャとして設定される。次に、符号化対象のピクチャとその参照ピクチャとの間で動きベクトルが検出され、それを利用して動き補償が行われる。更に、動き補償後のピクチャと符号化対象のピクチャとの間の差分値が求められ、その差分値から空間方向での冗長性が除去される。こうして、各ピクチャのデータ量が圧縮される。
図17を参照するに、ベースビュー・ピクチャ1710−1719は一般に複数のGOP1731、1732に分割されている。「GOP」は、I(Intra)ピクチャを先頭とする複数枚の連続するピクチャの列をいう。「Iピクチャ」は、ピクチャ内符号化によって圧縮されたピクチャをいう。GOPは一般に、Iピクチャの他に、P(Predictive)ピクチャとB(Bidirectionally Predivtive)ピクチャとを含む。「Pピクチャ」は、ピクチャ間予測符号化によって圧縮されたピクチャであって、表示時間がそれよりも前であるIピクチャ又は別のPピクチャが一枚、参照ピクチャとして利用されたものをいう。「Bピクチャ」は、ピクチャ間予測符号化によって圧縮されたピクチャであって、表示時間がそれよりも前又は後であるIピクチャ又はPピクチャが二枚、参照ピクチャとして利用されたものをいう。Bピクチャのうち、他のピクチャに対するピクチャ間予測符号化で参照ピクチャとして利用されるものを特に「Br(reference B)ピクチャ」という。
図17に示されている例では、各GOP1731、1732内のベースビュー・ピクチャが以下の順で圧縮される。第1GOP1731では、まず先頭のベースビュー・ピクチャがI0ピクチャ1710に圧縮される。ここで、下付の数字は、各ピクチャに表示時間順に割り振られた通し番号を示す。次に、4番目のベースビュー・ピクチャがI0ピクチャ1710を参照ピクチャとしてP3ピクチャ1713に圧縮される。ここで、図17に示されている各矢印は、先端のピクチャが後端のピクチャに対する参照ピクチャであることを示す。続いて、2、3番目のベースビュー・ピクチャがそれぞれ、I0ピクチャ1710とP3ピクチャ1713との両方を参照ピクチャとして、Br1ピクチャ1711、Br2ピクチャ1712に圧縮される。更に7番目のベースビュー・ピクチャがP3ピクチャ1713を参照ピクチャとしてP6ピクチャ1716に圧縮される。続いて、4、5番目のベースビュー・ピクチャがそれぞれ、P3ピクチャ1713とP6ピクチャ1716との両方を参照ピクチャとして、Br4ピクチャ1714、Br5ピクチャ1715に圧縮される。同様に、第2GOP1732では、まず先頭のベースビュー・ピクチャがI7ピクチャ1717に圧縮される。次に3番目のベースビュー・ピクチャがI7ピクチャ1717を参照ピクチャとしてP9ピクチャ1719に圧縮される。続いて、2番目のベースビュー・ピクチャが、I7ピクチャ1717とP9ピクチャ1719との両方を参照ピクチャとして、Br8ピクチャ1718に圧縮される。
ベースビュー・ビデオ・ストリーム1701では各GOP1731、1732がその先頭にIピクチャを必ず含むので、ベースビュー・ピクチャはGOPごとに復号可能である。例えば第1GOP1731では、まずI0ピクチャ1710が単独で復号される。次に、復号後のI0ピクチャ1710を利用してP3ピクチャ1713が復号される。続いて、復号後のI0ピクチャ1710とP3ピクチャ1713との両方を利用してBr1ピクチャ1711とBr2ピクチャ1712とが復号される。後続のピクチャ群1714、1715、…も同様に復号される。こうして、ベースビュー・ビデオ・ストリーム1701は単独で復号可能であり、更にGOP単位でのランダム・アクセスが可能である。
図17を更に参照するに、ライトビュー・ピクチャ1720−1729はピクチャ間予測符号化で圧縮されている。しかし、その符号化方法はベースビュー・ピクチャ1710−1719の符号化方法とは異なり、映像の時間方向での冗長性に加え、左右の映像間の冗長性をも利用する。具体的には、各ライトビュー・ピクチャ1720−1729の参照ピクチャが、図17に矢印で示されているように、ライトビュー・ビデオ・ストリーム1702からだけでなく、ベースビュー・ビデオ・ストリーム1701からも選択される。特に各ライトビュー・ピクチャ1720−1729と、その参照ピクチャとして選択されたベースビュー・ピクチャとは表示時刻が実質的に等しい。それらのピクチャは3D映像の同じシーンのライトビューとレフトビューとの対、すなわち視差映像を表す。このように、ライトビュー・ピクチャ1720−1729はベースビュー・ピクチャ1710−1719と一対一に対応する。特にそれらのピクチャ間ではGOP構造が共通である。
図17に示されている例では、まず第1GOP1731内の先頭のライトビュー・ピクチャがベースビュー・ビデオ・ストリーム1701内のI0ピクチャ1710を参照ピクチャとしてP0ピクチャ1720に圧縮される。それらのピクチャ1710、1720は3D映像の先頭フレームのレフトビューとライトビューとを表す。次に、4番目のライトビュー・ピクチャがP0ピクチャ1720とベースビュー・ビデオ・ストリーム1501内のP3ピクチャ1513との両方を参照ピクチャとしてP3ピクチャ1723に圧縮される。続いて、2番目のライトビュー・ピクチャが、P0ピクチャ1720とP3ピクチャ1723とに加えて、ベースビュー・ビデオ・ストリーム1701内のBr1ピクチャ1711を参照ピクチャとして、B1ピクチャ1721に圧縮される。同様に、3番目のライトビュー・ピクチャが、P0ピクチャ1720とP3ピクチャ1730とに加えて、ベースビュー・ビデオ・ストリーム1701内のBr2ピクチャ1712を参照ピクチャとして、B2ピクチャ1722に圧縮される。以降のライトビュー・ピクチャ1724−1729についても同様に、そのライトビュー・ピクチャと表示時刻が実質的に等しいベースビュー・ピクチャが参照ピクチャとして利用される。
上記のような左右の映像間の相関関係を利用した動画圧縮符号化方式としては、MVC(Multiview Video Coding)と呼ばれるMPEG−4 AVC/H.264の修正規格が知られている。MVCは、ISO/IEC MPEGとITU−T VCEGとの共同プロジェクトであるJVT(Joint Video Team)によって2008年7月に策定されたものであり、複数の視点から見える映像をまとめて符号化するための規格である。MVCでは映像間予測符号化に、映像の時間方向での類似性だけでなく、視点の異なる映像間の類似性も利用される。その予測符号化では、各視点から見た映像を個別に圧縮する予測符号化よりも映像の圧縮率が高い。
上記のとおり、各ライトビュー・ピクチャ1720−1729の圧縮にはベースビュー・ピクチャが参照ピクチャとして利用される。従って、ベースビュー・ビデオ・ストリーム1701とは異なり、ライトビュー・ビデオ・ストリーム1702を単独で復号することはできない。しかし、視差映像間の差異は一般にわずかであり、すなわちレフトビューとライトビューとの間の相関は高い。従って、ライトビュー・ピクチャは一般にベースビュー・ピクチャよりも圧縮率が著しく高く、すなわちデータ量が著しく小さい。
図17には示されていないが、デプスマップ・ストリームは複数のデプスマップを含む。それらのデプスマップはベースビュー・ピクチャと一対一に対応し、各ベースビュー・ピクチャの示す1フレーム又は1フィールドの2D映像に対するデプスマップを表す。各デプスマップは、ベースビュー・ピクチャと同様、MPEG−2又はMPEG−4 AVC等の動画圧縮符号化方式によって圧縮されている。特にその符号化方式ではピクチャ間予測符号化が利用される。すなわち、各デプスマップが他のデプスマップを参照ピクチャとして利用して圧縮される。デプスマップ・ストリームは、ベースビュー・ビデオ・ストリームと同様にGOP単位に分割され、各GOPがその先頭にIピクチャを必ず含む。従って、デプスマップはGOPごとに単独で復号可能である。しかし、デプスマップ自体は2D映像の各部の奥行きを画素別に表す情報でしかないので、デプスマップ・ストリームを単独で映像の再生に利用することはできない。デプスマップ・ストリームの圧縮に利用される符号化方式は、ライトビュー・ビデオ・ストリームの圧縮に利用される符号化方式と等しい。例えば、ライトビュー・ビデオ・ストリームがMVCのフォーマットで符号化されているとき、デプスマップ・ストリームもMVCのフォーマットで符号化されている。その場合、再生装置102は3D映像の再生時、符号化方式を一定に維持したまま、L/Rモードとデプス・モードとの切り換えをスムーズに実現できる。
図18は、ビデオ・ストリーム1800のデータ構造の詳細を示す模式図である。このデータ構造はベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとで実質的に共通である。図18を参照するに、ビデオ・ストリーム1800は一般に複数のビデオ・シーケンス#1、#2、…から構成されている。「ビデオ・シーケンス」は、一つのGOP1810を構成するピクチャ群1811、1812、1813、1814、…に個別にヘッダ等の付加情報を組み合わせたものである。この付加情報と各ピクチャとの組み合わせを「ビデオ・アクセスユニット(VAU)」という。すなわち、各GOP1810、1820ではピクチャごとに一つのVAU#1、#2、…が構成されている。各ピクチャはVAU単位でビデオ・ストリーム1800から読み出し可能である。
図18は更に、ベースビュー・ビデオ・ストリーム内で各ビデオ・シーケンスの先端に位置するVAU#11831の構造を示す。VAU#11831は、アクセスユニット(AU)識別コード1831A、シーケンス・ヘッダ1831B、ピクチャ・ヘッダ1831C、補足データ1831D、及び圧縮ピクチャ・データ1831Eを含む。2番目以降のVAU#2は、シーケンス・ヘッダ1831Bを含まない点を除き、VAU#11831と同じ構造である。AU識別コード1831Aは、VAU#11831の先端を示す所定の符号である。シーケンス・ヘッダ1831BはGOPヘッダともいい、VAU#11831を含むビデオ・シーケンス#1の識別番号を含む。シーケンス・ヘッダ1831Bは更にGOP1810の全体で共通する情報、例えば、解像度、フレームレート、アスペクト比、及びビットレートを含む。ピクチャ・ヘッダ1831Cは、固有の識別番号、ビデオ・シーケンス#1の識別番号、及びピクチャの復号に必要な情報、例えば符号化方式の種類を示す。補足データ1831Dは、ピクチャの復号以外に関する付加的な情報、例えば、クローズド・キャプションを示す文字情報、GOP構造に関する情報、及びタイムコード情報を含む。補足データ1831Dは特に復号スイッチ情報を含む(詳細は《補足》参照)。圧縮ピクチャ・データ1831Eはベースビュー・ピクチャを含む。VAU#11831はその他に必要に応じ、パディング・データ1831F、シーケンス終端コード1831G、及びストリーム終端コード1831Hのいずれか又は全てを含んでもよい。パディング・データ1831Fはダミーデータである。そのサイズを圧縮ピクチャ・データ1831Eのサイズに合わせて調節することにより、VAU#11831のビットレートを所定値に維持することができる。シーケンス終端コード1831Gは、VAU#11831がビデオ・シーケンス#1の終端に位置することを示す。ストリーム終端コード1831Hはベースビュー・ビデオ・ストリーム1800の終端を示す。
図18はまた、ディペンデントビュー・ビデオ・ストリーム内で各ビデオ・シーケンスの先端に位置するVAU#11832の構造も示す。VAU#11832は、サブAU識別コード1832A、サブシーケンス・ヘッダ1832B、ピクチャ・ヘッダ1832C、補足データ1682D、及び圧縮ピクチャ・データ1832Eを含む。2番目以降のVAU#2は、サブシーケンス・ヘッダ1832Bを含まない点を除き、VAU#11832と同じ構造である。サブAU識別コード1832Aは、VAU#11832の先端を示す所定の符号である。サブシーケンス・ヘッダ1832Bは、VAU#11832を含むビデオ・シーケンス#1の識別番号を含む。サブシーケンス・ヘッダ1832Bは更にGOP1810の全体で共通する情報、例えば、解像度、フレームレート、アスペクト比、及びビットレートを含む。特にそれらの値は、ベースビュー・ビデオ・ストリームの対応するGOPに対して設定された値、すなわちVAU#11831のシーケンス・ヘッダ1831Bの示す値に等しい。ピクチャ・ヘッダ1832Cは、固有の識別番号、ビデオ・シーケンス#1の識別番号、及びピクチャの復号に必要な情報、例えば符号化方式の種類を示す。補足データ1832Dはオフセット・メタデータのみを含む(詳細は後述する)。ここで、補足データの種類には、オフセット・メタデータのみを含むもの1832Dの他にも、ピクチャの復号以外に関する付加的な情報、例えば、クローズド・キャプションを示す文字情報、GOP構造に関する情報、タイムコード情報、及び復号スイッチ情報を含むものがある。従って、VAU#11832は、補足データ1832Dに加えて、他の補足データを一つ以上含んでいてもよい。圧縮ピクチャ・データ1832Eはディペンデントビュー・ピクチャを含む。VAU#11832はその他に、必要に応じて、パディング・データ1832F、シーケンス終端コード1832G、及びストリーム終端コード1832Hのいずれか又は全てを含んでもよい。パディング・データ1832Fはダミーデータである。そのサイズを圧縮ピクチャ・データ1832Eのサイズに合わせて調節することにより、VAU#11832のビットレートを所定値に維持することができる。シーケンス終端コード1832Gは、VAU#11832がビデオ・シーケンス#1の終端に位置することを示す。ストリーム終端コード1832Hはディペンデントビュー・ビデオ・ストリーム1800の終端を示す。
VAUの各部の具体的な内容はビデオ・ストリーム1800の符号化方式ごとに異なる。例えば、その符号化方式がMPEG−4 AVCであるとき、図18に示されているVAUの各部は一つのNAL(Network Abstraction Layer)ユニットから構成される。具体的には、AU識別コード1831A、シーケンス・ヘッダ1831B、ピクチャ・ヘッダ1831C、補足データ1831D、圧縮ピクチャ・データ1831E、パディング・データ1831F、シーケンス終端コード1831G、及びストリーム終端コード1831Hはそれぞれ、AUデリミタ(Access Unit Delimiter)、SPS(シーケンス・パラメータ・セット)、PPS(ピクチャ・パラメータ・セット)、SEI(Supplemental Enhancement Information)、ビュー・コンポーネント、フィラー・データ(Filler Data)、エンド・オブ・シーケンス(End of Sequence)、及びエンド・オブ・ストリーム(End of Stream)に相当する。特にVAU#11832では、オフセット・メタデータを含む補足データ1832Dは一つのNALユニットで構成され、そのNALユニットはオフセット・メタデータ以外のデータを含まない。
図19は、PESパケット列1902へのビデオ・ストリーム1901の格納方法の詳細を示す模式図である。この格納方法はベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとで共通である。図19を参照するに、実際のビデオ・ストリーム1901ではピクチャが、表示時間順ではなく、符号化順に多重化されている。例えばベースビュー・ビデオ・ストリームのVAUには、図19に示されているように、先頭から順に、I0ピクチャ1910、P3ピクチャ1911、B1ピクチャ1912、B2ピクチャ1913、…が格納されている。ここで、下付の数字は、各ピクチャに表示時間順に割り振られた通し番号を示す。P3ピクチャ1911の符号化にはI0ピクチャ1910が参照ピクチャとして利用され、B1ピクチャ1912とB2ピクチャ1913との各符号化にはI0ピクチャ1910とP3ピクチャ1911との両方が参照ピクチャとして利用される。それらのVAUが一つずつ、異なるPESパケット1920、1921、1922、1923、…に格納される。各PESパケット1920、…はPESペイロード1920PとPESヘッダ1920Hとを含む。VAUはPESペイロード1920Pに格納される。一方、PESヘッダ1920Hは、同じPESパケット1920のPESペイロード1920Pに格納されたピクチャの表示時刻、すなわちPTS(Presentation Time−Stamp)、及びそのピクチャの復号時刻、すなわちDTS(Decoding Time−Stamp)を含む。
図19に示されているビデオ・ストリーム1901と同様、図13、14に示されている他のエレメンタリ・ストリームも、一連のPESパケットの各PESペイロードに格納される。更に各PESパケットのPESヘッダは、そのPESパケットのPESペイロードに格納されたデータのPTSを含む。
図20は、ベースビュー・ビデオ・ストリーム2001とディペンデントビュー・ビデオ・ストリーム2002との各ピクチャに割り当てられたPTSとDTSとの間の関係を示す模式図である。図20を参照するに、両ビデオ・ストリーム2001、2002の間では、3D映像の同じフレーム又はフィールドを表す一対のピクチャに対して、同じPTS及び同じDTSが割り当てられている。例えば3D映像の先頭のフレーム又はフィールドは、ベースビュー・ビデオ・ストリーム2001のI1ピクチャ2011とディペンデントビュー・ビデオ・ストリーム2002のP1ピクチャ2021との組み合わせから再現される。従って、それらのピクチャ2011、2021のPTSは等しく、かつDTSは等しい。ここで、下付の数字は、各ピクチャにDTSの順に割り振られた通し番号を示す。また、ディペンデントビュー・ビデオ・ストリーム2002がデプスマップ・ストリームであるとき、P1ピクチャ2021は、I1ピクチャ2011に対するデプスマップを表すIピクチャに置き換えられる。同様に、各ビデオ・ストリーム2001、2002の2番目のピクチャ、すなわちP2ピクチャ2012、2022のPTSは等しく、かつDTSは等しい。各ビデオ・ストリーム2001、2002の3番目のピクチャ、すなわちBr3ピクチャ2013とB3ピクチャ2023とでは、PTSとDTSとがいずれも共通である。Br4ピクチャ2014とB4ピクチャ2024とでも同様である。
ベースビュー・ビデオ・ストリーム2001とディペンデントビュー・ビデオ・ストリーム2002との間で、PTSが等しく、かつDTSが等しいピクチャを含むVAUの対を「3D・VAU」という。図20に示されているPTSとDTSとの割り当てにより、3D再生モードの再生装置102内のデコーダに、ベースビュー・ビデオ・ストリーム2001とディペンデントビュー・ビデオ・ストリーム2002とを3D・VAU単位でパラレルに処理させることが容易にできる。それにより、3D映像の同じフレーム又はフィールドを表す一対のピクチャが、デコーダによって確実にパラレルに処理される。更に、各GOPの先頭の3D・VAUではシーケンス・ヘッダが、同じ解像度、同じフレームレート、及び同じアスペクト比を含む。特にそのフレームレートは、2D再生モードにおいてベースビュー・ビデオ・ストリーム2001が単独で復号されるときの値に等しい。
≪オフセット・メタデータ≫
図21は、ディペンデントビュー・ビデオ・ストリーム2100の含むオフセット・メタデータ2110のデータ構造を示す模式図である。図21を参照するに、オフセット・メタデータ2110は、各ビデオ・シーケンス(すなわち、各GOP)の先端に位置するVAU#1内の補足データ2101に格納されている。図21を参照するに、オフセット・メタデータ2110は、PTS2111、オフセット・シーケンスID2112、及びオフセット・シーケンス2113を含む。PTS2111は、VAU#1内の圧縮ピクチャ・データの表すフレームのPTS、すなわち各GOPの最初のフレームのPTSに等しい。
オフセット・シーケンスID2112は、オフセット・シーケンス2113に順番に割り振られた通し番号0、1、2、…、Mである。文字Mは1以上の整数を表し、その整数はオフセット・シーケンス2113の総数に等しい。ビデオ・プレーンに合成されるべきグラフィックス・プレーン及び副映像プレーンにオフセット・シーケンスID2112が割り当てられる。それにより、各プレーン・データにオフセット・シーケンス2113が対応付けられている。ここで、「ビデオ・プレーン」とは、ビデオ・シーケンスの含むピクチャから生成されるプレーン・データ、すなわち画素データの二次元配列をいう。その配列のサイズは映像フレームの解像度に等しい。一組の画素データは、色座標値(RGB値又はYCrCb値)とα値との組み合わせから成る。
各オフセット・シーケンス2113は、フレーム番号2121とオフセット情報2122、2123との対応表である。フレーム番号2121は、一つのビデオ・シーケンス(例えば、ビデオ・シーケンス#1)の表すフレーム#1、#2、…、#Nに表示順に割り振られた通し番号1、2、…、Nである。整数Nは1以上であり、そのビデオ・シーケンスの含むフレームの総数を表す。各オフセット情報2122、2123は、一つのプレーン・データに対するオフセット制御を規定する制御情報である。
「オフセット制御」とは、グラフィックス・プレーン(又は副映像プレーン)に水平座標の左方向と右方向との各オフセットを与えて、レフトビュー・ビデオ・プレーンとライトビュー・ビデオ・プレーンとのそれぞれに合成する処理をいう。ここで、「レフトビュー/ライトビュー・ビデオ・プレーン」とは、ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとの組み合わせから生成される、レフトビュー/ライトビューを表すビデオ・プレーンをいう。「グラフィックス・プレーンに水平方向のオフセットを与える」とは、そのグラフィックス・プレーン内で各画素データを水平方向に変位させることをいう。それにより、一つのグラフィックス・プレーンから、レフトビューとライトビューとを表すグラフィックス・プレーンの対が生成される。その対から再生される2Dグラフィックス映像の各部の表示位置は、元の表示位置から左右にずれている。それらの変位が視聴者に両眼視差として錯覚されることにより、レフトビューとライトビューとの対がその視聴者には一つの3Dグラフィックス映像として見える。副映像プレーンの表す映像についても同様である。
オフセットは方向と大きさとで決まる。従って、図21に示されているとおり、各オフセット情報はオフセット方向2122とオフセット値2123とを含む。オフセット方向2122は、3Dグラフィックス映像の奥行きが画面よりも手前か奥かを示す。オフセット方向2122の値に依り、元の2Dグラフィックス映像の表示位置に対するレフトビューとライトビューとの各表示位置の方向が左又は右に決まる。オフセット値2123は、元の2Dグラフィックス映像の表示位置とレフトビュー又はライトビューの表示位置との間の距離を、水平方向の画素数で表す。
図22の(a)、(b)は、PGプレーン2210とIGプレーン2220とに対するオフセット制御を示す模式図である。それらのオフセット制御では、レフトビュー・ビデオ・プレーン2201とライトビュー・ビデオ・プレーン2202とのそれぞれへ二種類のグラフィックス・プレーン2210、2220が合成される。以下の説明では、PGプレーン2210の表す字幕2211を画面よりも手前に表示し、IGプレーン2220の表すボタン2221を画面よりも奥に表示する場合を想定する。
図22の(a)を参照するに、PGプレーン2210には、右方向のオフセットが与えられる。具体的には、まず、PGプレーン2210内の各画素データの位置が、レフトビュー・ビデオ・プレーン2201内の対応する画素データの位置から、オフセット値に等しい画素数SFPだけ右に(仮想的に)移動する。次に、レフトビュー・ビデオ・プレーン2201の範囲よりも右側に(仮想的に)はみ出ているPGプレーン2210の右端の帯状領域2212を「切り取る」。すなわち、その領域2212の画素データ群を破棄する。一方、PGプレーン2210の左端に透明な帯状領域2213を追加する。その帯状領域2213の幅は右端の帯状領域2212の幅、すなわちオフセット値SFPに等しい。こうして、PGプレーン2210から、レフトビューを表すPGプレーンが生成され、レフトビュー・ビデオ・プレーン2201に合成される。特に、そのレフトビューPGプレーンでは、字幕2211の表示位置が元の表示位置よりも右に、オフセット値SFPだけずれている。
IGプレーン2220には、左方向のオフセットが与えられる。具体的には、まずIGプレーン2220内の各画素データの位置が、レフトビュー・ビデオ・プレーン2201内の対応する画素データの位置から、オフセット値に等しい画素数SFIだけ左に(仮想的に)移動する。次に、レフトビュー・ビデオ・プレーン2210の範囲よりも左側に(仮想的に)はみ出ているIGプレーン2220の左端の帯状領域2222を切り取る。一方、IGプレーン2220の右端に透明な帯状領域2223を追加する。その帯状領域2223の幅は左端の帯状領域2222の幅、すなわちオフセット値SFIに等しい。こうして、IGプレーン2220から、レフトビューを表すIGプレーンが生成され、レフトビュー・ビデオ・プレーン2201に合成される。特に、そのレフトビューIGプレーンでは、ボタン2221の表示位置が元の表示位置よりも左に、オフセット値SFIだけずれている。
図22の(b)を参照するに、PGプレーン2210には左方向のオフセットが与えられ、IGプレーン2220には右方向のオフセットが与えられる。すなわち、上記の操作をPGプレーン2210とIGプレーン2220とで反対にすればよい。その結果、各プレーン・データ2210、2220から、ライトビューを表すプレーン・データが生成され、ライトビュー・ビデオ・プレーン2202に合成される。特にライトビューPGプレーンでは、字幕2211の表示位置が元の表示位置よりも左に、オフセット値SFPだけずれている。一方、ライトビューIGプレーンでは、ボタン2221の表示位置が元の表示位置よりも右に、オフセット値SFIだけずれている。
図22の(c)は、(a)、(b)に示されているグラフィックス・プレーンの表す2Dグラフィックス映像から視聴者2230に知覚される3Dグラフィックス映像を示す模式図である。それらのグラフィックス・プレーンの表す2Dグラフィックス映像が画面2240に交互に表示されるとき、視聴者2230には、図22の(c)に示されているように、字幕2231は画面2240よりも手前に見え、ボタン2232は画面2240よりも奥に見える。各3Dグラフィックス映像2231、2232と画面2240との間の距離は、オフセット値SFP、SFIによって調節可能である。
図23の(a)、(b)は、オフセット・シーケンスの具体例を示すグラフである。各グラフでは、オフセット方向が画面よりも手前を示すときにオフセット値が正である。図23の(a)は、図23の(b)のうち、最初のGOPの表示期間GOP1でのグラフを拡大したものである。図23の(a)を参照するに、階段状のグラフ2301は、オフセット・シーケンスID=0のオフセット・シーケンス、すなわちオフセット・シーケンス[0]のオフセット値を示す。水平なグラフ2302は、オフセット・シーケンスID=1のオフセット・シーケンス、すなわちオフセット・シーケンス[1]のオフセット値を示す。オフセット・シーケンス[0]のオフセット値2301は、最初のGOPの表示期間GOP1ではフレームFR1、FR2、FR3、…、FR15、…の順に階段状に増加している。図23の(b)を参照するに、そのオフセット値2301の階段状の増加は、2番目以降の各GOPの表示期間GOP2、GOP3、…、GOP40、…でも同様に継続される。1フレーム当たりの増加量が十分に細かいので、図23の(b)ではオフセット値2301が線形に連続的に増加しているように見える。一方、オフセット・シーケンス[1]のオフセット値2302は、最初のGOPの表示期間GOP1では負の一定値に維持されている。図23の(b)を参照するに、そのオフセット値2302は、40番目のGOPの表示期間GOP40の終了時、正の値に急増する。このようにオフセット値は不連続に変化してもよい。
図23の(c)は、図23の(a)、(b)に示されているオフセット・シーケンスに従って再現される3Dグラフィックス映像を示す模式図である。字幕の3D映像2303がオフセット・シーケンス[0]に従って表示されるとき、その3D映像2303は、画面2304の直ぐ手前から徐々に飛び出てくるように見える。一方、ボタンの3D映像2305がオフセット・シーケンス[1]に従って表示されるとき、その3D映像2305は、画面2304よりも奥に固定されている状態から突然、画面2304よりも手前に飛び出てくるように見える。このように、フレーム単位でのオフセット値の増減のパターンをオフセット・シーケンスごとに様々に変化させる。それにより、複数の3Dグラフィックス映像について、個々の奥行きの変化を多様に表現することができる。
≪AVストリーム・ファイルに含まれるその他のTSパケット≫
AVストリーム・ファイルに含まれるTSパケットの種類には、図14に示されているエレメンタリ・ストリームから変換されたもの以外に、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を同期させる。
図24は、PMT2410のデータ構造を示す模式図である。PMT2410は、PMTヘッダ2401、ディスクリプタ2402、及びストリーム情報2403を含む。PMTヘッダ2401は、PMT2410に含まれるデータの長さ等を示す。各ディスクリプタ2402は、PMT2410を含むAVストリーム・ファイルの全体に関するディスクリプタである。前述のコピー・コントロール情報はディスクリプタ2402の一つに含まれる。ストリーム情報2403は、AVストリーム・ファイルに含まれる各エレメンタリ・ストリームに関する情報であり、一つずつ異なるエレメンタリ・ストリームに割り当てられている。各ストリーム情報2403は、ストリーム・タイプ2431、PID2432、及びストリーム・ディスクリプタ2433を含む。ストリーム・タイプ2431は、そのエレメンタリ・ストリームの圧縮に利用されたコーデックの識別情報等を含む。PID2432は、そのエレメンタリ・ストリームのPIDを示す。ストリーム・ディスクリプタ2433は、そのエレメンタリ・ストリームの属性情報、例えばフレームレート及びアスペクト比を含む。
PCR、PMT、及びPATを利用することで、再生装置102内のデコーダにAVストリーム・ファイルを、欧州デジタル放送規格に準拠のパーシャル・トランスポート・ストリームと同様に処理させることができる。それにより、BD−ROMディスク101用の再生装置と欧州デジタル放送規格に準拠の端末装置との間の互換性を確保することができる。
≪多重化ストリーム・データのインターリーブ配置≫
3D映像のシームレス再生には、BD−ROMディスク101上にベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとをどのような物理的な配置で記録するかが重要である。ここで、「シームレス再生」とは、多重化ストリーム・データから映像と音声とを途切れさせることなく滑らかに再生することをいう。
図25は、図13に示されているメインTSと第1サブTSとのBD−ROMディスク101上での物理的な配置を示す模式図である。尚、第1サブTSに代えて第2サブTSが記録されていてもよい。図25を参照するに、各TSは複数のデータ・ブロック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]を「ディペンデントビュー・データ・ブロック」という。特に、第1サブTSに属するデータ・ブロックを「ライトビュー・データ・ブロック」といい、第2サブTSに属するデータ・ブロックを「デプスマップ・データ・ブロック」という。
各データ・ブロックB[n]、D[n]は、BD−ROMディスク101のファイルシステムでは、ファイル2D又はファイルDEP内の一つのエクステントとしてアクセス可能である。すなわち、各データ・ブロックの論理アドレスは、ファイル2D又はファイルDEPのファイル・エントリから知ることができる。
図25に示されている例では、ファイル2D(01000.m2ts)1241のファイル・エントリ2510がベースビュー・データ・ブロックB[n]の各サイズとその先端のLBNとを示す。従って、各ベースビュー・データ・ブロックB[n]はファイル2D1241のエクステントEXT2D[n]としてアクセス可能である。以下、ファイル2D1241に属するエクステントEXT2D[n]を「2Dエクステント」という。一方、第1ファイルDEP(02000.m2ts)1242のファイル・エントリ2520がディペンデントビュー・データ・ブロックD[n]の各サイズとその先端のLBNとを示す。従って、各ディペンデントビュー・データ・ブロックD[n]はライトビュー・データ・ブロックであり、第1ファイルDEP1242のエクステントEXT2[n]としてアクセス可能である。以下、第1ファイルDEP1242に属するエクステントEXT2[n]を「ライトビュー・エクステント」という。ディペンデントビュー・データ・ブロックD[n]がデプスマップ・データ・ブロックである場合も同様に、各デプスマップ・データ・ブロックは第2ファイルDEP(03000.m2ts)1243のエクステントとしてアクセス可能である。以下、第2ファイルDEP1243に属するエクステントを「デプスマップ・エクステント」という。更に、ライトビュー・エクステントとデプスマップ・エクステントとのように、いずれかのファイルDEPに属するエクステントを「ディペンデントビュー・エクステント」と総称する。
図25を参照するに、データ・ブロック群はBD−ROMディスク101上のトラックに沿って連続的に記録されている。更に、ベースビュー・データ・ブロックB[n]とディペンデントビュー・データ・ブロックD[n]とは一つずつ交互に配置されている。このようなデータ・ブロック群の配置を「インターリーブ配置」という。特に、インターリーブ配置で記録された一連のデータ・ブロック群を「エクステント・ブロック」という。図25には三つのエクステント・ブロック2501、2502、2503が示されている。第1エクステント・ブロック2501と第2エクステント・ブロック2502との間のように、エクステント・ブロックの間は多重化ストリーム・データ以外のデータの記録領域NAVによって分離される。また、BD−ROMディスク101が多層ディスクである場合、すなわち記録層を複数含む場合、第2エクステント・ブロック2502と第3エクステント・ブロック2503との間のように、エクステント・ブロックの間は記録層間の境界(以下、層境界という。)LBによっても分離される。こうして、一連の多重化ストリーム・データは、一般に複数のエクステント・ブロックに分割されて配置されている。その場合、再生装置102がその多重化ストリーム・データから映像をシームレスに再生するには、各エクステント・ブロックから再生される映像をシームレスに接続しなければならない。以下、そのために再生装置102が必要とする処理を「エクステント・ブロック間のシームレスな接続」という。
各エクステント・ブロック2501−2503では二種類のデータ・ブロックD[n]、B[n]の数が等しい。更に、(n+1)番目の隣接するデータ・ブロックの対D[n]、B[n]ではエクステントATC時間が等しい。以下、このようなデータ・ブロックの対を「エクステント・ペア」という。ここで、「ATC(Arrival Time Clock)」は、ATSの基準とされるべきクロックを意味する。「エクステントATC時間」は、一つのデータ・ブロック内のソースパケットに付与されたATSの範囲の大きさ、すなわち、そのデータ・ブロックの先頭のソースパケットと次のデータ・ブロックの先頭のソースパケットとの間でのATSの差を表す。その差は、再生装置102がそのデータ・ブロック内の全てのソースパケットをリード・バッファからシステム・ターゲット・デコーダへ転送するのに要する時間を、ATCの値で表したものに等しい。「リード・バッファ」は再生装置102内のバッファ・メモリであり、BD−ROMディスク101から読み出されたデータ・ブロックをシステム・ターゲット・デコーダへ送るまでの間、一時的に格納する。リード・バッファの詳細については後述する。図25に示されている例では、三つのエクステント・ブロック2501−2503が互いにシームレスに接続されるので、各エクステント・ペアD[n]、B[n](n=0、1、2、…)でエクステントATC時間が等しい。
各エクステント・ペアD[n]、B[n]では、先頭に位置するVAUは同じ3D・VAUに属し、特に、同じ3D映像を表すGOPの先頭のピクチャを含む。例えば図25では、各ライトビュー・データ・ブロックD[n]の先端はライトビュー・ビデオ・ストリームのPピクチャを含み、先頭のベースビュー・データ・ブロックB[n]の先端はベースビュー・ビデオ・ストリームのIピクチャを含む。そのライトビュー・ビデオ・ストリームのPピクチャは、そのベースビュー・ビデオ・ストリームのIピクチャの表す2D映像をレフトビューとするときのライトビューを表す。特にそのPピクチャは、図17に示されているように、そのIピクチャを参照ピクチャとして圧縮されている。従って、3D再生モードの再生装置102は、いずれのエクステント・ペアD[n]、B[n]からも3D映像の再生を開始できる。すなわち、飛び込み再生等、ビデオ・ストリームのランダムアクセスを要する処理が可能である。
図25に示されているインターリーブ配置では更に、各エクステント・ペアD[n]、B[n]の中でディペンデントビュー・データ・ブロックD[n]がベースビュー・データ・ブロックB[n]よりも先に配置される。それは、ディペンデントビュー・データ・ブロックD[n]が一般に、ベースビュー・データ・ブロックB[n]よりもデータ量が小さい、すなわちビットレートが低いことに因る。例えば(n+1)番目のライトビュー・データ・ブロックD[n]に含まれるピクチャは、図17に示されているように、(n+1)番目のベースビュー・データ・ブロックB[n]に含まれるピクチャを参照ピクチャとして圧縮されている。従って、そのライトビュー・データ・ブロックD[n]のサイズSEXT2[n]は一般に、そのベースビュー・データ・ブロックB[n]のサイズSEXT1[n]以下である:SEXT2[n]≦SEXT1[n]。一方、デプスマップの画素当たりのデータ量、すなわち奥行き値のビット数は一般に、ベースビュー・ピクチャの画素当たりのデータ量、すなわち色座標値とα値(不透明度)とのビット数の和よりも小さい。更に図13の(a)、(c)に示されているように、メインTSは第2サブ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時間の等しい部分の対に分割して読み出さねばならない。
図26の(a)は、あるBD−ROMディスク上に個別に連続して記録されたメインTS2601とサブTS2602との配置を示す模式図である。再生装置102がそれらのメインTS2601とサブTS2602とをパラレルに処理するとき、図26の(a)に実線の矢印(1)−(4)で示されているように、BD−ROMドライブ121はメインTS2601とサブTS2602とを交互に、エクステントATC時間の等しい部分ずつ読み出す。そのとき、BD−ROMドライブ121は、図26の(a)に破線の矢印で示されているように、読み出し処理の途中でBD−ROMディスク上の読み出し対象領域を大きく変化させなければならない。例えば矢印(1)の示すメインTS2601の先端部分が読み出された時、BD−ROMドライブ121は光ピックアップによる読み出し動作を一旦停止し、BD−ROMディスクの回転速度を上げる。それにより、矢印(2)の示すサブTS2602の先端部分が記録されたBD−ROMディスク上のセクタを速やかに光ピックアップの位置まで移動させる。このように、光ピックアップに読み出し動作を一旦停止させて、その間に次の読み出し対象領域上へ光ピックアップを位置づけるための操作を「ジャンプ」という。図26の(a)に示されている破線の矢印は、読み出し処理の途中で必要な各ジャンプの範囲を示す。各ジャンプの期間中、光ピックアップによる読み出し処理は停止し、デコーダによる復号処理のみが進行する。図26の(a)に示されている例ではジャンプが過大であるので、読み出し処理を復号処理に間に合わせることが難しい。その結果、シームレス再生を確実に持続することが難しい。
図26の(b)は、本発明の実施形態1によるBD−ROMディスク101上に記録されたディペンデントビュー・データ・ブロックD[0]、D[1]、D[2]、…とベースビュー・データ・ブロックB[0]、B[1]、B[2]、…とのインターリーブ配置を示す模式図である。図26の(b)を参照するに、メインTSとサブTSとはそれぞれ、複数のデータ・ブロックに分割されて交互に配置されている。その場合、再生装置102は3D映像の再生時、図26の(b)に矢印(1)−(4)で示されているように、データ・ブロックD[0]、B[0]、D[1]、B[1]、…を先頭から順番に読み出す。それだけで、再生装置102はメインTSとサブTSとを交互に読み出すことをスムーズに実現できる。特にその読み出し処理ではジャンプが生じないので、3D映像のシームレス再生が確実に持続可能である。
[隣接するデータ・ブロック間でエクステントATC時間を揃える意義]
図26の(c)は、インターリーブ配置で記録されたディペンデントビュー・データ・ブロック群D[n]とベースビュー・データ・ブロック群B[n]との各エクステントATC時間の一例を示す模式図である(n=0、1、2)。図26の(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パケットがリード・バッファからシステム・ターゲット・デコーダへ送られる。
図26の(d)は、インターリーブ配置で記録されたディペンデントビュー・データ・ブロック群D[n]とベースビュー・データ・ブロック群B[n]との各エクステントATC時間の別例を示す模式図である。図26の(d)を参照するに、全てのデータ・ブロックD[n]、B[n]でエクステントATC時間が1秒に等しい。従って、各データ・ブロックD[n]、B[n]が再生装置102内のリード・バッファに読み込まれたとき、いずれのデータ・ブロックでも同じ1秒間で、全てのTSパケットがリード・バッファからシステム・ターゲット・デコーダへ送られる。
上記のとおり、ディペンデントビュー・データ・ブロックは一般に、ベースビュー・データ・ブロックよりもビデオ・ストリームの圧縮率が高い。従って、ディペンデントビュー・データ・ブロックの復号処理の速度は一般に、ベースビュー・データ・ブロックの復号処理の速度よりも低い。一方、エクステントATC時間が等しいとき、ディペンデントビュー・データ・ブロックは一般に、ベースビュー・データ・ブロックよりもデータ量が小さい。従って、図26の(c)、(d)のように、隣接するデータ・ブロックのいずれのエクステントATC時間も等しいとき、復号対象のデータがシステム・ターゲット・デコーダに供給される速度は、そのデコーダの処理速度と均衡を保ちやすい。すなわち、システム・ターゲット・デコーダは、特に飛び込み再生においても、ベースビュー・データ・ブロックの復号処理とディペンデントビュー・データ・ブロックの復号処理とを容易に同期させることができる。
[エクステントATC時間を揃える方法]
図27は、隣接するデータ・ブロック間でエクステントATC時間を揃える方法を示す模式図である。まず、ベースビュー・データ・ブロックに格納されるソースパケット(以下、SP1と略す。)と、ディペンデントビュー・データ・ブロックに格納されるソースパケット(以下、SP2と略す。)とには、同じATC時間軸でATSが付与される。図27を参照するに、矩形2710、2720はそれぞれ、SP1#p(p=0、1、…、k、k+1、…、i、i+1)とSP2#q(q=0、1、…、m、m+1、…、j、j+1)とを表す(文字k、i、m、jはいずれも0以上の整数を表す)。それらの矩形2710、2720はATCの時間軸方向で各ソースパケットのATSの順に並べられている。各矩形2710、2720の先頭の位置A1(p)、A2(q)はそのソースパケットのATSの値を表す。各矩形2710、2720の長さAT1、AT2は、3D再生装置が1個のソースパケットをリード・バッファからシステム・ターゲット・デコーダへ転送するのに要する時間を表す。
SP1#0のATSA1(0)からエクステントATC時間TEXT[n]が経過するまでの期間に、リード・バッファからシステム・ターゲット・デコーダへ転送されるSP1、すなわちSP1#0、1、…、kは、(n+1)番目のベースビュー・データ・ブロックEXT1[n]に格納される。同様に、SP1#(k+1)のATSA1(k+1)からエクステントATC時間TEXT[n+1]が経過するまでの期間に、リード・バッファからシステム・ターゲット・デコーダへ転送されるSP1、すなわちSP1#(k+1)、…、iは、(n+2)番目のベースビュー・データ・ブロックEXT1[n+1]に格納される。
一方、(n+1)番目のディペンデントビュー・データ・ブロックEXT2[n]に格納されるべきSP2は次のように選択される。まず、SP1#0のATSA1(0)とエクステントATC時間TEXT[n]との和、すなわち、SP1#(k+1)のATSA1(k+1)=A1(0)+TEXT[n]が求められる。次に、SP1#0のATSA1(0)からSP1#(k+1)のATSA1(k+1)までの期間に、リード・バッファからシステム・ターゲット・デコーダへの転送が開始されるSP2、すなわちSP2#0、1、…、mが選択される。従って、先頭のSP2、すなわちSP2#0のATSA2(0)は必ず、先頭のSP1、すなわちSP1#0のATSA1(0)以上である:A2(0)≧A1(0)。更に、最後のSP2、すなわちSP2#mのATSA2(m)は、SP1#(k+1)のATSA1(k+1)以下である:A2(m)≦A1(k+1)。ここで、SP2#mの転送完了はSP1#(k+1)のATSA1(k+1)以後であってもよい。
同様に、(n+2)番目のディペンデントビュー・データ・ブロックEXT2[n+1]に格納されるべきSP2は次のように選択される。まず、(n+3)番目のベースビュー・データ・ブロックEXT1[n+2]の先頭に位置するSP1#(i+1)のATSA1(i+1)=A1(k+1)+TEXT[n+1]が求められる。次に、SP1#(k+1)のATSA1(k+1)からSP1#(i+1)のATSA1(i+1)までの期間に、リード・バッファからシステム・ターゲット・デコーダへの転送が開始されるSP2、すなわち、SP2#(m+1)−SP2#jが選択される。従って、先頭のSP2、すなわちSP2#(m+1)のATSA2(m+1)は、先頭のSP1、すなわちSP1#(k+1)のATSA1(k+1)以上である:A2(m+1)≧A1(k+1)。更に、最後のSP2#jのATSA2(j)は、次のベースビュー・データ・ブロックEXT1[n+2]の先頭に位置するSP1#(i+1)のATSA1(i+1)以下である:A2(j)≦A1(i+1)。
[データ量の小さいデータ・ブロックを先に置く意義]
3D再生モードの再生装置102は、各エクステント・ブロックの先頭に位置するデータ・ブロックを読み出すとき、又は再生開始位置のデータ・ブロックを読み出すとき、まず、そのデータ・ブロックを全てリード・バッファに読み込む。その間、そのデータ・ブロックはシステム・ターゲット・デコーダには渡されない。その読み込みが完了した後、再生装置102はそのデータ・ブロックを次のデータ・ブロックとパラレルにシステム・ターゲット・デコーダに渡す。このように、一つのデータ・ブロックの全体をリード・バッファに読み込んでからシステム・ターゲット・デコーダに渡す処理を「プリロード」という。
プリロードの技術的意義は次のとおりである。L/Rモードでは、ディペンデントビュー・データ・ブロックの復号にベースビュー・データ・ブロックが必要である。従って、復号後のデータを出力処理まで保持するためのバッファを必要最小限の容量に維持するには、それらのデータ・ブロックをシステム・ターゲット・デコーダに同時に供給して復号させることが好ましい。デプス・モードでは、復号後のベースビュー・ピクチャとデプスマップとの対から、視差画像を表すビデオ・プレーンの対を生成する処理が必要である。従って、復号後のデータをその処理まで保持するためのバッファを必要最小限の容量に維持するには、ベースビュー・データ・ブロックとデプスマップ・データ・ブロックとをシステム・ターゲット・デコーダに同時に供給して復号させることが好ましい。それ故、プリロードにより、エクステント・ブロックの先頭又は再生開始位置のデータ・ブロックの全体を予めリード・バッファに読み込んでおく。それにより、そのデータ・ブロックと後続のデータ・ブロックとをリード・バッファからシステム・ターゲット・デコーダへ同時に転送して復号させることができる。更に、以降のエクステント・ペアもシステム・ターゲット・デコーダに同時に復号させることができる。
プリロードでは、最初に読み出されるデータ・ブロックの全体がリード・バッファに蓄積される。従って、リード・バッファには少なくともそのデータ・ブロックのサイズに等しい容量が要求される。ここで、リード・バッファの容量を最小限に維持するには、プリロードの対象とされるデータ・ブロックのサイズを可能な限り縮小すべきである。一方、飛び込み再生等のランダムアクセスでは、いずれのエクステント・ペアも再生開始位置に選択され得る。それ故、いずれのエクステント・ペアでも、データ量の小さい方を先に置く。それにより、リード・バッファの容量を最小限に維持することができる。
≪データ・ブロックに対するAVストリーム・ファイルのクロスリンク≫
図25に示されているデータ・ブロック群に対して、AVストリーム・ファイルのクロスリンクは次のように実現される。第1ファイルSS(01000.ssif)1245のファイル・エントリ2540は、各エクステント・ブロック2501−2503を一つのエクステントとみなして、各サイズとその先端のLBNとを示す。従って、各エクステント・ブロック2501−2503は第1ファイルSS1245の一つのエクステントEXTSS[0]、EXTSS[1]、EXTSS[2]としてアクセス可能である。以下、第1ファイルSS1245に属するエクステントEXTSS[0]、EXTSS[1]、EXTSS[2]を「エクステントSS」という。各エクステントSSEXTSS[0]、EXTSS[1]、EXTSS[2]は、ファイル2D1241とはベースビュー・データ・ブロックB[n]を共有し、第1ファイルDEP1242とはライトビュー・データ・ブロックD[n]を共有する。
≪エクステント・ブロック群に対する再生経路≫
図28は、エクステント・ブロック群2501−2503に対する2D再生モードでの再生経路2801を示す模式図である。2D再生モードの再生装置102はファイル2D1241を再生する。従って、2D再生モードでの再生経路2801が示すとおり、各エクステント・ブロック2501−2503からベースビュー・データ・ブロックB[n](n=0、1、2、…)が順番に2DエクステントEXT2D[n]として読み出される。具体的には、まず先頭のエクステント・ブロック2501から先頭のベースビュー・データ・ブロックB[0]が読み出され、その直後のライトビュー・データ・ブロックD[0]の読み出しが最初のジャンプJ2Dによってスキップされる。次に2番目のベースビュー・データ・ブロックB[1]が読み出され、その直後のデータNAVとライトビュー・データ・ブロックD[1]との読み出しが二回目のジャンプJNAVによってスキップされる。続いて、2番目以降のエクステント・ブロック2502、2503内でも同様に、ベースビュー・データ・ブロックの読み出しとジャンプとが繰り返される。
2番目のエクステント・ブロック2502と3番目のエクステント・ブロック2503との間に生じるジャンプJLYは、層境界LBを越えるロング・ジャンプである。「ロング・ジャンプ」はジャンプの中でもシーク時間の長いものの総称であり、具体的には、(i)記録層の切り換えを伴うジャンプ、及び(ii)ジャンプ距離が所定の閾値を超えるジャンプをいう。「ジャンプ距離」とは、ジャンプ期間中に読み出し操作がスキップされるBD−ROMディスク101上の領域の長さをいう。ジャンプ距離は通常、その部分のセクタ数で表される。上記(ii)の閾値は、BD−ROMの規格では例えば40000セクタである。しかし、その閾値は、BD−ROMディスクの種類と、BD−ROMドライブの読み出し処理に関する性能とに依存する。ロング・ジャンプは特にフォーカス・ジャンプとトラック・ジャンプとを含む。「フォーカス・ジャンプ」は、記録層の切り換えに伴うジャンプであり、光ピックアップの焦点距離を変化させる処理を含む。「トラック・ジャンプ」は、光ピックアップをBD−ROMディスク101の半径方向に移動させる処理を含む。
図28は、エクステント・ブロック群2501−2503に対するL/Rモードでの再生経路2802も示す。L/Rモードの再生装置102は第1ファイルSS1245を再生する。従って、L/Rモードでの再生経路2802が示すとおり、各エクステント・ブロック2501、2502、2503が順番に、エクステントSSEXTSS[0]、EXTSS[1]、EXTSS[2]として読み出される。具体的には、まず先頭のエクステント・ブロック2501からデータ・ブロックD[0]、B[0]、D[1]、B[1]が連続して読み出され、その直後のデータNAVの読み出しが最初のジャンプJNAVによってスキップされる。次に、2番目のエクステント・ブロック2502からデータ・ブロックD[2]、…、B[3]が連続して読み出される。その直後に、記録層の切り換えに伴うロング・ジャンプJLYが生じる。続いて、3番目のエクステント・ブロック2503からデータ・ブロックD[4]、B[4]、…が連続して読み出される。
エクステント・ブロック2501−2503を第1ファイルSS1245のエクステントとして読み込むとき、再生装置102は第1ファイルSS1245のファイル・エントリ2540から各エクステントSSEXTSS[0]、EXTSS[1]、…の先端のLBNとそのサイズとを読み出してBD−ROMドライブ121に渡す。BD−ROMドライブ121はそのLBNからそのサイズのデータを連続して読み出す。これらの処理は、データ・ブロック群を第1ファイルDEP1242とファイル2D1241との各エクステントとして読み込む処理よりも、BD−ROMドライブ121の制御が次の二点(A)、(B)で簡単である:(A)再生装置102は一箇所のファイル・エントリを利用して各エクステントを順番に参照すればよい;(B)読み込み対象のエクステントの総数が実質上半減するので、BD−ROMドライブ121に渡されるべきLBNとサイズとの対の総数が少ない。但し、再生装置102はエクステントSSEXTSS[0]、EXTSS[1]、…を読み込んだ後、それぞれをライトビュー・データ・ブロックとベースビュー・データ・ブロックとに分離してデコーダに渡さなければならない。その分離処理にはクリップ情報ファイルが利用される。その詳細については後述する。
図28に示されているように、各エクステント・ブロック2501−2503の実際の読み出しでは、BD−ROMドライブ121は各データ・ブロックの後端から次のデータ・ブロックの先端までの間にゼロ・セクタ遷移J0を行う。「ゼロ・セクタ遷移」とは、二つの連続するデータ・ブロック間での光ピックアップの移動をいう。ゼロ・セクタ遷移が行われる期間(以下、ゼロ・セクタ遷移期間という。)では、光ピックアップは読み出し動作を一旦停止して待機する。その意味で、ゼロ・セクタ遷移は「ジャンプ距離が0セクタに等しいジャンプ」ともみなせる。ゼロ・セクタ遷移期間の長さ、すなわちゼロ・セクタ遷移時間は、BD−ROMディスク101の回転による光ピックアップの位置の移動時間の他に、誤り訂正処理に伴うオーバーヘッドを含んでもよい。「誤り訂正処理に伴うオーバーヘッド」とは、二つのデータ・ブロックの境界がECCブロックの境界と一致していないときに、そのECCブロックを用いた誤り訂正処理が二回行われることに起因する余分な時間をいう。誤り訂正処理には一つのECCブロックの全体が必要である。従って、一つのECCブロックが二つの連続するデータ・ブロックに共有されているとき、いずれのデータ・ブロックの読み出し処理でもそのECCブロックの全体が読み出されて誤り訂正処理に利用される。その結果、それらのデータ・ブロックを一つ読み出すごとに、そのデータ・ブロックの他に最大32セクタの余分なデータが読み出される。誤り訂正処理に伴うオーバーヘッドは、その余分なデータの読み出し時間の合計、すなわち32[セクタ]×2048[バイト/セクタ]×8[ビット/バイト]×2[回]/読み出し速度[ビット/秒]で評価される。尚、各データ・ブロックはECCブロック単位で構成されてもよい。その場合、各データ・ブロックのサイズはECCブロックの整数倍に等しいので、誤り訂正処理に伴うオーバーヘッドをゼロ・セクタ遷移時間から除外することができる。
≪データ・ブロックのサイズ≫
各データ・ブロックはアラインド・ユニット単位で構成される。特に各データ・ブロックのサイズはアラインド・ユニットのサイズ(=6144バイト=約6KB)の倍数に等しい。その場合、データ・ブロック間の境界はセクタ間の境界と一致するので、BD−ROMドライブはいずれのデータ・ブロックも、その全体を確実に連続して読み出すことができる。
図25に示されているように、互いに分離された複数のエクステント・ブロック2501−2503から2D映像と3D映像とのいずれをもシームレスに再生するには、データ・ブロックとエクステント・ブロック2501−2503との各サイズは、以下の[1]、[2]で説明される条件を満たせばよい。
[1]2D再生モードでの条件
図29は、2D再生モードの再生装置102内の再生処理系統を示すブロック図である。図29を参照するに、その再生処理系統は、BD−ROMドライブ2901、リード・バッファ2902、及びシステム・ターゲット・デコーダ2903を含む。BD−ROMドライブ2901はBD−ROMディスク101から2Dエクステントを読み出し、読み出し速度RUD54でリード・バッファ2902へ転送する。リード・バッファ2902は、再生装置102に内蔵のバッファ・メモリであり、BD−ROMドライブ2901から2Dエクステントを受信して蓄積する。システム・ターゲット・デコーダ2903は、リード・バッファ2902内に蓄積された各2Dエクステントからソースパケットを平均転送速度REXT2Dで読み出して、映像データVDと音声データADとに復号する。
平均転送速度REXT2Dは、システム・ターゲット・デコーダ2903がリード・バッファ2902内の各ソースパケットからTSパケットを抽出する処理の平均速度の192/188倍に等しい。ここで、係数192/188はソースパケットとTSパケットとの間のバイト数の比に等しい。平均転送速度REXT2Dは通常、ビット/秒で表され、具体的には、ビット単位で表された2DエクステントのサイズをエクステントATC時間で割ったときの値に等しい。「ビット単位で表されたエクステントのサイズ」は、そのエクステント内のソースパケット数とソースパケット一つ当たりのビット数(=192[バイト]×8[ビット/バイト])との積に等しい。平均転送速度REXT2Dは一般に2Dエクステントごとに異なる。平均転送速度REXT2Dの最大値RMAX2Dは、ファイル2Dに対するシステム・レートRTSの192/188倍に等しい。「システム・レート」とは、システム・ターゲット・デコーダ2903によるTSパケットの処理速度の最高値を意味する。システム・レートRTSは通常、ビット/秒(bps)で表されるので、バイト/秒(Bps)で表されるメインTSの記録速度(TS recording rate)の8倍に等しい。
平均転送速度REXT2Dは以下のように評価される。まず、エクステントATC時間が次のように算定される。図27に示されている例では、(n+1)番目のベースビュー・データ・ブロックEXT1[n]のエクステントATC時間TEXT[n]は、SP1#0のATSA1(0)と、(n+2)番目のベースビュー・データ・ブロックEXT1[n+1]の先頭に位置するSP1#(k+1)のATSA1(k+1)との間の差に基づいて、次式で表される:TEXT[n]=(A1(k+1)−A1(0)+WA)/TATC。ここで、ラップ・アラウンド値WAは、SP1#0のATSA1(0)からSP1#(k+1)のATSA1(k+1)までATCがカウントされる期間中、ラップ・アラウンドが生じる度に切り捨てられたカウント値の和を表す。すなわち、ラップ・アラウンド値WAは、その期間でのラップ・アラウンドの回数と、ラップ・アラウンドが生じるカウント値との積に等しい。例えば、ATCが30ビットのカウンタでカウントされる場合、ラップ・アラウンド値WAは230に等しい。一方、定数TATCはATCの周期を表し、例えば27MHzに等しい:TATC=27×106。次に、2Dエクステントのサイズが次のように算定される。図27に示されている例では、(n+1)番目のベースビュー・データ・ブロックEXT1[n]のサイズSEXT1[n]は、そのデータ・ブロックに格納されるソースパケット、すなわちSP1#0、1、…、kの全体のデータ量192×(k+1)×8[ビット]に等しい。最後に、ベースビュー・データ・ブロックEXT1[n]のサイズSEXT1[n]をエクステントATC時間TEXT[n]で割った値が平均転送速度REXT2D[n]として評価される:REXT2D[n]=SEXT1[n]/TEXT[n]。
上記の評価においてエクステントATC時間が正確に計算されることを目的として、各2Dエクステントのサイズがソースパケット長のある一定の倍数に揃えられてもよい。更に、いずれかの2Dエクステントがその倍数よりも多くのソースパケットを含むとき、その2DエクステントのエクステントATC時間が次のように算定されてもよい:まず、ソースパケットの総数からその倍数を除き、その差にソースパケット一つ当たりの転送時間(=188×8/システム・レート)を乗じる。次に、その積に、上記の倍数に相当するエクステントATC時間を加える。その和が上記の2DエクステントのエクステントATC時間として決定される。
その他に、エクステントATC時間は次のように算定されてもよい:まず、一つの2Dエクステントについて、その先頭のソースパケットのATSから最後のソースパケットのATSまでの時間間隔を求める。次に、その時間間隔にソースパケット一つ当たりの転送時間を加える。その和がその2DエクステントのエクステントATC時間として決定される。具体的には、図27の例において、(n+1)番目のベースビュー・データ・ブロックEXT1[n]のエクステントATC時間TEXT[n]は、SP1#0のATSA1(0)と、そのデータ・ブロックEXT1[n]の後端に位置するSP1#kのATSA1(k)との間の差に基づいて、次式で表される:TEXT[n]=(A1(k)−A1(0)+WA)/TATC+188×8/RTS1。ここで、ラップ・アラウンド値WAは、SP1#0のATSA1(0)からSP1#kのATSA1(k)までATCがカウントされる期間中、ラップ・アラウンドが生じる度に切り捨てられたカウント値の和を表す。一方、上式の右辺第2項は、TSパケットのデータ長188[バイト]×8[ビット/バイト]をシステム・レートRTS1で割った値であり、一つのTSパケットをリード・バッファからシステム・ターゲット・デコーダへ転送するのに要する時間と等しい。上記のエクステントATC時間の計算には次のエクステントの参照が不要であるので、次のエクステントが存在しなくてもエクステントATC時間が算定可能である。また、次のエクステントが存在する場合でも、エクステントATC時間の計算を簡単化することができる。
読み出し速度RUD54は通常、ビット/秒で表され、平均転送速度REXT2Dの最高値RMAX2Dよりも高い値、例えば54Mbpsに設定される:RUD54>RMAX2D。それにより、BD−ROMドライブ2901がBD−ROMディスク101から一つの2Dエクステントを読み出している間、システム・ターゲット・デコーダ2903の復号処理に伴うリード・バッファ2902のアンダーフローが防止される。
図30の(a)は、2D再生モードでの動作中、リード・バッファ2902に蓄積されるデータ量DAの変化を示すグラフである。図30の(b)は、再生対象のエクステント・ブロック3010と2D再生モードでの再生経路3020との間の対応関係を示す模式図である。図30の(b)を参照するに、再生経路3020に従い、エクステント・ブロック3010内の各ベースビュー・データ・ブロックB[n](n=0、1、2、…)が一つの2DエクステントEXT2D[n]としてBD−ROMディスク101からリード・バッファ2902へ読み出される。図30の(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ドライブ2901による読み出し/転送動作は実際には、図30の(a)のグラフから示唆される連続的なものではなく、断続的なものである。それにより、各2Dエクステントの読み出し期間PR2D[n]に蓄積データ量DAがリード・バッファ2902の容量を超えること、すなわちリード・バッファ2902のオーバーフローが防止される。すなわち、図30の(a)のグラフは、実際には階段状である増減を直線的な増減として近似的に表したものである。
図30の(b)に示されているエクステント・ブロック3010から2D映像をシームレスに再生するには、次の二つの条件が満たされればよい:まず、各2DエクステントEXT2D[n]のサイズSEXT2D[n]は所定の下限以上であればよい。この下限を「最小エクステント・サイズ」という。次に、2Dエクステントの間隔は所定の上限以下であればよい。
[1−1]2Dエクステントの最小エクステント・サイズ
各ジャンプ期間PJ2D[n]ではリード・バッファ2902からシステム・ターゲット・デコーダ2903へのデータ供給を持続させて、そのデコーダ2903に連続的な出力を確保させなければならない。それには、2Dエクステントのサイズが次の条件1を満たせばよい。
各2DエクステントEXT2D[n]のサイズSEXT2D[n]は、その読み出し期間PR2D[n]から次のジャンプ期間PJ2D[n+1]にわたり、リード・バッファ2902からシステム・ターゲット・デコーダ2903へ転送されるデータ量に等しい。その場合、図30の(a)に示されているように、蓄積データ量DAはそのジャンプ期間PJ2D[n+1]の終了時、その読み出し期間PR2D[n]の開始時での量を下回らない。すなわち、各ジャンプ期間PJ2D[n]ではリード・バッファ2902からシステム・ターゲット・デコーダ2903へのデータ供給が持続し、特にリード・バッファ2902はアンダーフローを生じない。ここで、読み出し期間PR2D[n]の長さは、2DエクステントEXT2D[n]のサイズSEXT2D[n]を読み出し速度RUD54で割った値SEXT2D[n]/RUD54に等しい。従って、条件1は次のことを示す。各2DエクステントEXT2D[n]の最小エクステント・サイズは次式(1)の右辺で表される:
式(1)では、ジャンプ時間TJUMP−2D[n]はジャンプ期間PJ2D[n]の長さであり、秒単位で表される。一方、読み出し速度RUD54と平均転送速度REXT2Dとはいずれもビット/秒で表される。従って、式(1)では平均転送速度REXT2Dを数「8」で割り、2DエクステントのサイズSEXT2D[n]の単位をビットからバイトへ変換している。すなわち、2DエクステントのサイズSEXT2D[n]はバイト単位で表される。関数CEIL()は、括弧内の数値の小数点以下の端数を切り上げる操作を意味する。
[1−2]2Dエクステントの間隔
リード・バッファ2902の容量は有限であることから、ジャンプ時間TJUMP−2D[n]の最大値は制限される。すなわち、ジャンプ期間PJ2D[n]の直前に蓄積データ量DAがリード・バッファ2902の容量一杯であっても、ジャンプ時間TJUMP−2D[n]が長すぎれば、ジャンプ期間PJ2D[n]中に蓄積データ量DAが0に達して、リード・バッファ2702のアンダーフローが生じる危険性がある。以下、BD−ROMディスク101からリード・バッファ2902へのデータ供給が途絶えている状態で蓄積データ量DAがリード・バッファ2902の容量から0に到達するまでの時間、すなわち、シームレス再生を保証できるジャンプ時間TJUMP−2Dの最大値を「最大ジャンプ時間TJUMP_MAX」という。
光ディスクの規格では通常、ジャンプ距離と最大ジャンプ時間との間の関係が光ディスクドライブのアクセス・スピード等から決められている。図31は、BD−ROMディスクに関するジャンプ距離SJUMPと最大ジャンプ時間TJUMP_MAXとの間の対応表の一例である。図31を参照するに、ジャンプ距離SJUMPはセクタ単位で表され、最大ジャンプ時間TJUMP_MAXはm秒単位で表されている。1セクタは2048バイトに等しい。ジャンプ距離SJUMPが、0セクタ、1−10000セクタ、10001−20000セクタ、20001−40000セクタ、40001セクタ−1/10ストローク、及び1/10ストローク以上の各範囲に属するとき、最大ジャンプ時間TJUMP_MAXはそれぞれ、0m秒、200m秒、300m秒、350m秒、700m秒、及び1400m秒である。ジャンプ距離SJUMPが0セクタに等しいときの最大ジャンプ時間TJUMP_MAXはゼロ・セクタ遷移時間TJUMP0に等しい。但し、図31の例ではゼロ・セクタ遷移時間TJUMP0は0m秒とみなされている。
以上のことから、式(1)に代入されるべきジャンプ時間TJUMP−2D[n]は、BD−ROMディスクの規格によってジャンプ距離別に規定された最大ジャンプ時間TJUMP_MAXである。具体的には、図31の表において、二つの連続する2DエクステントEXT2D[n]、EXT2D[n+1]の間でのジャンプ距離SJUMPに対応する最大ジャンプ時間TJUMP_MAXが、ジャンプ時間TJUMP−2D[n]として式(1)に代入される。ここで、そのジャンプ距離SJUMPは、(n+1)番目の2DエクステントEXT2D[n]の後端から(n+2)番目の2DエクステントEXT2D[n+1]の先端までのセクタ数に等しい。
二つの2DエクステントEXT2D[n]、EXT2D[n+1]間のジャンプJ2D[n]では、そのジャンプ時間TJUMP−2D[n]が最大ジャンプ時間TJUMP_MAXに制限されることから、そのジャンプ距離SJUMP、すなわち二つの2DエクステントEXT2D[n]、EXT2D[n+1]の間隔も制限される。例えばジャンプ時間TJUMP−2D[n]が最大ジャンプ時間TJUMP_MAX=700m秒以下に制限されるとき、二つの2DエクステントEXT2D[n]、EXT2D[n+1]間のジャンプ距離SJUMPは、最大で1/10ストローク(=約1.2GB)まで許される。このジャンプ距離SJUMPの最大値のように、ジャンプ時間TJUMPが最大ジャンプ時間TJUMP_MAXに等しいときでのジャンプ距離SJUMPを「最大ジャンプ距離SJUMP_MAX」という。2D映像のシームレス再生には、2Dエクステントの間隔が最大ジャンプ距離SJUMP_MAX以下であることが必要である。
各エクステント・ブロック内では2Dエクステントの間隔はディペンデントビュー・データ・ブロックのサイズに等しい。従って、そのディペンデントビュー・データ・ブロックのサイズは最大ジャンプ距離SJUMP_MAX以下に制限される。具体的には、2Dエクステント間の最大ジャンプ時間TJUMP_MAXが、図31に規定された最小値200m秒に制限される場合、ディペンデントビュー・データ・ブロックのサイズは、対応する最大ジャンプ距離SJUMP_MAX=10000セクタ(=約19.5MB)以下に制限される。
異なる記録層に配置された二つのエクステント・ブロック間をシームレスに接続するとき、先に読み出されたエクステント・ブロックの後端から、次に読み出されるエクステント・ブロックの先端まで、ロング・ジャンプが生じる。そのロング・ジャンプは、フォーカス・ジャンプ等、記録層の切り換え操作を伴う。従って、そのロング・ジャンプに要する時間は、図31の表に規定された最大ジャンプ時間TJUMP_MAXに加えて、記録層の切り換え操作に要する時間、すなわち「層切換時間」を更に含む。層切換時間は例えば350m秒である。ここで、先に読み出されたエクステント・ブロックの後端には(n+1)番目の2DエクステントEXT2D[n]が配置され、後に読み出されるエクステント・ブロックの先端には(n+2)番目の2DエクステントEXT2D[n+1]が配置されている。その場合、(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は、図31の表において、(n+1)番目の2DエクステントEXT2D[n]の後端から(n+2)番目の2DエクステントEXT2D[n+1]の先端までのセクタ数に対応付けられた値に等しい。第2パラメータTL[n]は層切換時間、例えば350m秒を表す。従って、二つの2DエクステントEXT2D[n]、EXT2D[n+1]の間隔は、図31の表において、ロング・ジャンプの最大ジャンプ時間TJUMP_MAXから層切換時間を除いた値に対応する最大ジャンプ距離SJUMP_MAX以下に制限される。例えばジャンプ時間TJUMP−2D[n]が最大ジャンプ時間TJUMP_MAX=700m秒以下に制限されるとき、二つの2DエクステントEXT2D[n]、EXT2D[n+1]間の最大ジャンプ距離SJUMP_MAXは40000セクタ(=約78.1MB)である。
[2]3D再生モードでの条件
図32は、3D再生モードの再生装置102内の再生処理系統を示すブロック図である。図32を参照するに、その再生処理系統は、BD−ROMドライブ3201、スイッチ3202、一対のリード・バッファ3211、3212、及びシステム・ターゲット・デコーダ3203を含む。BD−ROMドライブ3201はBD−ROMディスク101からエクステントSSを読み出し、読み出し速度RUD72でスイッチ3202へ転送する。スイッチ3202は各エクステントSSをベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとに分離する。その分離処理の詳細については後述する。第1リード・バッファ3211及び第2リード・バッファ3212(以下、RB1及びRB2と略す。)は再生装置102に内蔵のバッファ・メモリであり、スイッチ3202によって分離された各データ・ブロックを蓄積する。RB13211はベースビュー・データ・ブロックを格納し、RB23212はディペンデントビュー・データ・ブロックを格納する。システム・ターゲット・デコーダ3203は、RB13211内の各ベースビュー・データ・ブロックからはソースパケットをベースビュー転送速度REXT1で読み出し、RB23212内の各ディペンデントビュー・データ・ブロックからはソースパケットをディペンデントビュー転送速度REXT2で読み出す。システム・ターゲット・デコーダ3203は更に、読み出されたベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとの対を映像データVDと音声データADとに復号する。
ベースビュー転送速度REXT1は、システム・ターゲット・デコーダ3203がRB13211内の各ソースパケットからTSパケットを抽出する処理の平均速度の192/188倍に等しい。ベースビュー転送速度REXT1の最高値RMAX1は、ファイル2Dに対するシステム・レートRTS1の192/188倍に等しい:RMAX1=RTS1×192/188。そのシステム・レートRTS1は通常、ビット/秒(bps)で表されるので、バイト/秒(Bps)で表されるメインTSの記録速度の8倍に等しい。ディペンデントビュー転送速度REXT2は、システム・ターゲット・デコーダ3203がRB23212内の各ソースパケットからTSパケットを抽出する処理の平均速度の192/188倍に等しい。ディペンデントビュー転送速度REXT2の最高値RMAX2は、ファイルDEPに対するシステム・レートRTS2の192/188倍と等しい:RMAX2=RTS2×192/188。そのシステム・レートRTS2は通常、ビット/秒(bps)で表されるので、バイト/秒(Bps)で表されるメインTSの記録速度の8倍に等しい。各転送速度REXT1、REXT2は通常、ビット/秒で表され、具体的には、ビット単位で表された各データ・ブロックのサイズをエクステントATC時間で割ったときの値に等しい。エクステントATC時間は、データ・ブロック内のソースパケットを全て、RB13211又はRB23212からシステム・ターゲット・デコーダ3203へ転送するのに要する時間に等しい。ベースビュー転送速度REXT1とディペンデントビュー転送速度REXT2とは、2Dエクステントの平均転送速度REXT2Dと同様に、データ・ブロックのサイズとエクステントATC時間との比で評価される:REXT1[・]=SEXT1[・]/TEXT[・]、REXT2[・]=SEXT2[・]/TEXT[・]。
読み出し速度RUD72は通常、ビット/秒で表され、いずれの転送速度REXT1、REXT2の最高値RMAX1、RMAX2よりも高い値、例えば72Mbpsに設定される:RUD72>RMAX1、RUD72>RMAX2。それにより、BD−ROMドライブ3201によってBD−ROMディスク101から一つのエクステントSSを読み出している間、システム・ターゲット・デコーダ3203の復号処理に伴うRB13211とRB23212とのアンダーフローが防止される。
[2−1]エクステント・ブロック内でのシームレス接続
図33の(a)、(b)は、一つのエクステント・ブロックから3D映像がシームレスに再生されるとき、RB13211、RB23212に蓄積されるデータ量DA1、DA2の変化を示すグラフである。図33の(c)は、そのエクステント・ブロック3310と3D再生モードでの再生経路3320との間の対応関係を示す模式図である。図33の(c)を参照するに、再生経路3320に従い、エクステント・ブロック3310の全体が一つのエクステントSSとして一括して読み出される。その後、スイッチ3202によってそのエクステントSSからディペンデントビュー・データ・ブロックD[k]とベースビュー・データ・ブロックB[k]とが分離される(k=…、n、n+1、n+2、…)。
BD−ROMドライブ3201による読み出し/転送動作は実際には、図33の(a)、(b)の各グラフから示唆される連続的なものではなく、断続的なものである。それにより、各データ・ブロックD[k]、B[k]の読み出し期間PRD[k]、PRB[k]では、RB13211、RB23212のオーバーフローが防止される。すなわち、図33の(a)、(b)の各グラフは、実際には階段状である増減を直線的な増減として近似的に表したものである。
図33の(a)、(b)を参照するに、(n+1)番目のディペンデントビュー・データ・ブロックD[n]の読み出し期間PRD[n]では、RB23212の蓄積データ量DA2は、読み出し速度RUD72とディペンデントビュー転送速度REXT2[n]との間の差RUD72−REXT2[n]に等しい速度で増加し、RB13211の蓄積データ量DA1はベースビュー転送速度REXT1[n−1]で減少する。図33の(c)を参照するに、(n+1)番目のディペンデントビュー・データ・ブロックD[n]から(n+1)番目のベースビュー・データ・ブロックB[n]まではゼロ・セクタ遷移J0[2n]が生じる。図33の(a)、(b)に示されているように、ゼロ・セクタ遷移期間PJ0[n]では、RB13211の蓄積データ量DA1はベースビュー転送速度REXT1[n−1]で減少し続け、RB23212の蓄積データ量DA2はディペンデントビュー転送速度REXT2[n]で減少する。
図33の(a)、(b)を更に参照するに、(n+1)番目のベースビュー・データ・ブロックB[n]の読み出し期間PRB[n]では、RB13311の蓄積データ量DA1は、読み出し速度RUD72とベースビュー転送速度REXT1[n]との間の差RUD72−REXT1[n]に等しい速度で増加する。一方、RB23212の蓄積データ量DA2は、ディペンデントビュー転送速度REXT2[n]で減少し続ける。図33の(c)を更に参照するに、そのベースビュー・データ・ブロックB[n]から次のディペンデントビュー・データ・ブロックD[n+1]まではゼロ・セクタ遷移J0[2n+1]が生じる。図33の(a)、(b)に示されているように、ゼロ・セクタ遷移期間PJ0[2n+1]では、RB13211の蓄積データ量DA1はベースビュー転送速度REXT1[n]で減少し、RB23212の蓄積データ量DA2はディペンデントビュー転送速度REXT2[n]で減少し続ける。
一つのエクステント・ブロック3310から3D映像をシームレスに再生するには、そのエクステント・ブロックに属するデータ・ブロックB[n]、D[n]の各サイズは、以下に説明される条件2、3を満たせばよい。
(n+1)番目のベースビュー・データ・ブロックB[n]のサイズSEXT1[n]は少なくとも、その読み出し期間PRB[n]から次のベースビュー・データ・ブロックB[n+1]の読み出し期間PRB[n+1]の直前までに、RB13211からシステム・ターゲット・デコーダ3203へ転送されるデータ量に等しい。その場合、図33の(a)に示されているように、次のベースビュー・データ・ブロックB[n+1]の読み出し期間PRB[n+1]の直前では、RB13211の蓄積データ量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に等しい。従って、条件2は次のことを示す。そのベースビュー・データ・ブロックB[n]の最小エクステント・サイズは、次式(2)の右辺で表される:
(n+1)番目のディペンデントビュー・データ・ブロックD[n]のサイズSEXT2[n]は少なくとも、その読み出し期間PRD[n]から次のディペンデントビュー・データ・ブロックD[n+1]の読み出し期間PRD[n+1]の直前までに、RB23212からシステム・ターゲット・デコーダ3203へ転送されるデータ量に等しい。その場合、図33の(b)に示されているように、次のディペンデントビュー・データ・ブロックD[n+1]の読み出し期間PRD[n+1]の直前ではRB23012の蓄積データ量DA2が(n+1)番目のディペンデントビュー・データ・ブロックD[n]の読み出し期間PRD[n]の直前での量を下回らない。ここで、(n+1)番目のディペンデントビュー・データ・ブロックD[n]の読み出し期間PRD[n]の長さは、そのディペンデントビュー・データ・ブロックD[n]のサイズSEXT2[n]を読み出し速度RUD72で割った値SEXT2[n]/RUD72に等しい。従って、条件3は次のことを示す。そのディペンデントビュー・データ・ブロックD[n]の最小エクステント・サイズは、次式(3)の右辺で表される:
[2−2]エクステント・ブロック間のシームレス接続
図25に示されているように、エクステント・ブロック2501−2503の間は一般に、他のデータの記録領域NAV又は層境界LBによって分離されている。そのように分離されたエクステント・ブロック間をシームレスに接続するには、エクステント・ブロックを一つ読み出す間に、RB13211、RB23212のそれぞれに十分なデータ量が蓄積されるようにすればよい。具体的には、RB13211、RB23212の各蓄積データ量DA1、DA2が、図33の(a)、(b)に示されているグラフとは異なり、(n+2)番目の各データ・ブロックB[n+1]、D[n+1]の読み出し期間PRB[n+1]、PRD[n+1]の直前で、(n+1)番目の各データ・ブロックB[n]、D[n]の読み出し期間PRB[n]、PRD[n]の直前での量よりも少し多く残るようにすればよい。例えば、各データ・ブロックのサイズを、式(2)、(3)の各右辺で与えられる最小エクステント・サイズよりも少し大きくすればよい。それにより、一つのエクステント・ブロックを後端まで読み込んだ時点で、RB13211、RB23212のそれぞれに十分なデータ量が蓄積されるようにすることができる。
≪クリップ情報ファイル≫
図34は、第1クリップ情報ファイル(01000.clpi)、すなわち2Dクリップ情報ファイル1231のデータ構造を示す模式図である。ディペンデントビュー・クリップ情報ファイル(02000.clpi、03000.clpi)1232、1233も同様なデータ構造を持つ。以下では、まず、クリップ情報ファイル全般に共通するデータ構造を2Dクリップ情報ファイル1231のデータ構造を例に説明する。その後、2Dクリップ情報ファイルとディペンデントビュー・クリップ情報ファイルとのデータ構造上の相違点について説明する。
図34を参照するに、2Dクリップ情報ファイル1231は、クリップ情報3410、ストリーム属性情報3420、エントリ・マップ3430、及び3Dメタデータ3440を含む。3Dメタデータ3440はエクステント起点3442を含む。
クリップ情報3410は、図34に示されているように、システム・レート3411、再生開始時刻3412、及び再生終了時刻3413を含む。システム・レート3411は、ファイル2D(01000.m2ts)1241に対するシステム・レートRTSを規定する。ここで、図29に示されているように、2D再生モードの再生装置102は、ファイル2D1241に属する“TSパケット”を、リード・バッファ2902からシステム・ターゲット・デコーダ2903へ転送する。従って、ファイル2D1241では、TSパケットの転送速度がシステム・レートRTS以下に抑えられるようにソースパケットのATSの間隔が設定されている。再生開始時刻3412は、ファイル2D1241の先頭のVAUに割り当てられたPTS、例えば先頭の映像フレームのPTSを示す。再生終了時刻3412は、ファイル2D1241の後端のVAUに割り当てられたPTSから更に所定量遅れたSTCの値、例えば最後の映像フレームのPTSに1フレーム当たりの再生時間を加えた値を示す。
ストリーム属性情報3420は、図34に示されているように、ファイル2D1241に含まれる各エレメンタリ・ストリームのPID3421とその属性情報3422との間の対応表である。属性情報3422は、ビデオ・ストリーム、オーディオ・ストリーム、PGストリーム、及びIGストリームのそれぞれで異なる。例えばプライマリ・ビデオ・ストリームのPID0x1011に対応付けられた属性情報は、そのビデオ・ストリームの圧縮に利用されたコーデックの種類、そのビデオ・ストリームを構成する各ピクチャの解像度、アスペクト比、及びフレームレートを含む。一方、プライマリ・オーディオ・ストリームのPID0x1100に対応付けられた属性情報は、そのオーディオ・ストリームの圧縮に利用されたコーデックの種類、そのオーディオ・ストリームに含まれるチャンネル数、言語、及びサンプリング周波数を含む。属性情報3422は再生装置102により、デコーダの初期化に利用される。
[エントリ・マップ]
図35の(a)は、エントリ・マップ3430のデータ構造を示す模式図である。図35の(a)を参照するに、エントリ・マップ3430はテーブル3500を含む。テーブル3500は、メインTSに多重化されたビデオ・ストリームと同数であり、各ビデオ・ストリームに一つずつ割り当てられている。図35の(a)では、各テーブル3500は割り当て先のビデオ・ストリームのPIDで区別されている。各テーブル3500はエントリ・マップ・ヘッダ3501とエントリ・ポイント3502とを含む。エントリ・マップ・ヘッダ3501は、そのテーブル3500に対応付けられたPIDと、そのテーブル3500に含まれるエントリ・ポイント3502の総数とを含む。エントリ・ポイント3502は、PTS3503とソースパケット番号(SPN)3504との対を一つずつ、異なるエントリ・ポイントID(EP_ID)3505に対応付ける。PTS3503は、エントリ・マップ・ヘッダ3501の示すPIDのビデオ・ストリームに含まれるいずれかのIピクチャのPTSに等しい。SPN3504は、そのIピクチャが格納されたソースパケット群の先頭のSPNに等しい。ここで、「SPN」とは、一つのAVストリーム・ファイルに属するソースパケット群に、先頭から順に割り当てられた通し番号をいう。SPNは、そのAVストリーム・ファイル内での各ソースパケットのアドレスとして利用される。2Dクリップ情報ファイル1231内のエントリ・マップ3430において、SPNは、ファイル2D1241に属するソースパケット群、すなわちメインTSを格納しているソースパケット群に割り当てられた番号を意味する。従って、エントリ・ポイント3502は、ファイル2D1241に含まれる各IピクチャのPTSとアドレス、すなわちSPNとの間の対応関係を表す。
エントリ・ポイント3502は、ファイル2D1241内の全てのIピクチャに対して設定されていなくてもよい。但し、IピクチャがGOPの先頭に位置し、かつ、そのIピクチャの先頭を含むTSパケットが2Dエクステントの先頭に位置するときは、そのIピクチャにはエントリ・ポイント3502が設定されなければならない。
図35の(b)は、ファイル2D1241に属するソースパケット群3510のうち、エントリ・マップ3430によって各EP_ID3505に対応付けられているものを示す模式図である。図35の(c)は、そのソースパケット群3510に対応するBD−ROMディスク101上のデータ・ブロック群D[n]、B[n](n=0、1、2、3、…)を示す模式図である。再生装置102はファイル2D1241から2D映像を再生する際にエントリ・マップ3430を利用して、任意のシーンを表すフレームのPTSから、そのフレームを含むソースパケットのSPNを特定する。具体的には、再生開始位置として特定のエントリ・ポイントのPTS、例えばPTS=360000が指定されたとき、再生装置102はまず、エントリ・マップ3430から、そのPTSに対応付けられたSPN=3200を検索する。再生装置102は次に、そのSPNとソースパケット一つ当たりのデータ量192バイトとの積を求め、更に、その積をセクタ一つ当たりのデータ量2048バイトで割ったときの商、SPN×192/2048を求める。図15の(c)、(d)から理解されるとおり、その商は、メインTSのうち、そのSPNが割り当てられたソースパケットよりも前の部分が記録されたセクタの総数に等しい。図35の(b)に示されている例では、その商、3200×192/2048=300は、0から3199までのSPNが割り当てられたソースパケット群3511が記録されたセクタの総数に等しい。再生装置102は続いて、ファイル2D1241のファイル・エントリを参照し、2Dエクステント群が記録されたセクタ群の先頭から数えて(上記の総数+1)番目のセクタのLBNを特定する。図35の(c)に示されている例では、2DエクステントEXT2D[0]、EXT2D[1]、EXT2D[2]、…としてアクセス可能なベースビュー・データ・ブロックB[0]、B[1]、B[2]、…が記録されたセクタ群のうち、先頭から数えて301番目のセクタのLBNが特定される。再生装置102はそのLBNをBD−ROMドライブに指定する。それにより、そのLBNのセクタから順にベースビュー・データ・ブロック群がアラインド・ユニット単位で読み出される。再生装置102は更に、最初に読み出されたアラインド・ユニットから、再生開始位置のエントリ・ポイントの示すソースパケットを選択し、それらからIピクチャを抽出して復号する。それ以降、後続のピクチャは、先に復号されたピクチャを利用して順次復号される。こうして、再生装置102はファイル2D1241から特定のPTS以降の2D映像を再生できる。
エントリ・マップ3430は更に、早送り再生及び巻戻し再生等の特殊再生の効率的な処理に有利である。例えば2D再生モードの再生装置102は、まずエントリ・マップ3430を参照して、再生開始位置、例えばPTS=360000以降のPTSを含むエントリ・ポイント、EP_ID=2、3、…からSPN=3200、4800、…を順番に読み出す。再生装置102は次にファイル2D1241のファイル・エントリを利用して、各SPNに対応するセクタのLBNを特定する。再生装置102は続いて、各LBNをBD−ROMドライブに指定する。それにより、各LBNのセクタからアラインド・ユニットが読み出される。再生装置102は更に各アラインド・ユニットから、各エントリ・ポイントの示すソースパケットを選択し、それらからIピクチャを抽出して復号する。こうして、再生装置102は2Dエクステント群EXT2D[n]自体を解析することなく、ファイル2D1241からIピクチャを選択的に再生できる。
[エクステント起点]
図36の(a)は、エクステント起点3442のデータ構造を示す模式図である。図36の(a)を参照するに、「エクステント起点(Extent_Start_Point)」3442はベースビュー・エクステントID(EXT1_ID)3611とSPN3612とを含む。EXT1_ID3611は、第1ファイルSS(01000.ssif)1245に属する各ベースビュー・データ・ブロックに、先頭から順に割り当てられた通し番号である。SPN3612は各EXT1_ID3611に一つずつ割り当てられ、そのEXT1_ID3611で識別されるベースビュー・データ・ブロックの先端に位置するソースパケットのSPNに等しい。ここで、そのSPNは、第1ファイルSS1245に属するベースビュー・データ・ブロック群に含まれる各ソースパケットに、先頭から順に割り当てられた通し番号である。
図25に示されているエクステント・ブロック2501−2503では、各ベースビュー・データ・ブロックB[0]、B[1]、B[2]、…はファイル2D1241と第1ファイルSS1245とに共有される。しかし、記録層間の境界等、ロング・ジャンプの必要な箇所に配置されたデータ・ブロック群は一般に、ファイル2D1241又は第1ファイルSS1245のいずれかにのみ属するベースビュー・データ・ブロックを含む。従って、エクステント起点3442の示すSPN3612は、ファイル2D1241に属する2Dエクステントの先端に位置するソースパケットのSPNとは一般に異なる。
図36の(b)は、第2クリップ情報ファイル(02000.clpi)、すなわちディペンデントビュー・クリップ情報ファイル1232に含まれるエクステント起点3620のデータ構造を示す模式図である。図36の(b)を参照するに、エクステント起点3620は、ディペンデントビュー・エクステントID(EXT2_ID)3621とSPN3622とを含む。EXT2_ID3621は、第1ファイルSS1245に属する各ディペンデントビュー・データ・ブロックに先頭から順に割り当てられた通し番号である。SPN3622は各EXT2_ID3621に一つずつ割り当てられ、そのEXT2_ID3621で識別されるディペンデントビュー・データ・ブロックの先端に位置するソースパケットのSPNに等しい。ここで、そのSPNは、第1ファイルSS1245に属するディペンデントビュー・データ・ブロック群に含まれる各ソースパケットに、先頭から順に割り当てられた通し番号である。
図36の(d)は、第1ファイルDEP(02000.m2ts)1242に属するディペンデントビュー・エクステントEXT2[0]、EXT2[1]、…と、エクステント起点3620の示すSPN3622との間の対応関係を表す模式図である。図25に示されているように、ディペンデントビュー・データ・ブロックは、第1ファイルDEP1242と第1ファイルSS1245とに共有される。従って、図36の(d)に示されているように、エクステント起点3620の示す各SPN3622は、各ライトビュー・エクステントEXT2[0]、EXT2[1]、…の先端に位置するソースパケットのSPNに等しい。
2Dクリップ情報ファイル1231のエクステント起点3442と、ディペンデントビュー・クリップ情報ファイル1232のエクステント起点3620とは、以下に説明するように、第1ファイルSS1245から3D映像が再生されるとき、各エクステントSSに含まれるデータ・ブロックの境界の検出に利用される。
図36の(e)は、第1ファイルSS1245に属するエクステントSSEXTSS[0]とBD−ROMディスク101上のエクステント・ブロックとの間の対応関係を示す模式図である。図36の(e)を参照するに、そのエクステント・ブロックはインターリーブ配置のデータ・ブロック群D[n]、B[n](n=0、1、2、…)を含む。尚、以下の説明はその他の配置でも同様に成立する。そのエクステント・ブロックは一つのエクステントSSEXTSS[0]としてアクセス可能である。更に、そのエクステントSSEXTSS[0]の中で、(n+1)番目のベースビュー・データ・ブロックB[n]に含まれるソースパケットの数は、エクステント起点3442において、EXT1_ID=n+1、nのそれぞれに対応するSPN間の差A(n+1)−Anに等しい。ここで、A0=0とする。一方、ディペンデントビュー・データ・ブロックD[n+1]に含まれるソースパケットの数は、エクステント起点3620において、EXT2_ID=n+1、nのそれぞれに対応するSPN間の差B(n+1)−Bnに等しい。ここで、B0=0とする。
3D再生モードの再生装置102は、第1ファイルSS1245から3D映像を再生するとき、各クリップ情報ファイル1231、1232のエントリ・マップとエクステント起点3442、3620とを利用する。それにより、再生装置102は、任意のシーンのライトビューを表すフレームのPTSから、そのフレームの構成に必要なディペンデントビュー・データ・ブロックが記録されたセクタのLBNを特定する。具体的には、再生装置102はまず、例えばディペンデントビュー・クリップ情報ファイル1232のエントリ・マップから、そのPTSに対応付けられたSPNを検索する。仮に、そのSPNの示すソースパケットが、第1ファイルDEP1242の3番目のディペンデントビュー・エクステントEXT2[2]、すなわちディペンデントビュー・データ・ブロックD[2]に含まれる場合を想定する。再生装置102は次に、ディペンデントビュー・クリップ情報ファイル1232のエクステント起点3620の示すSPN3622の中から、目標のSPN以下で最大のもの“B2”と、それに対応するEXT2_ID=“2”とを検索する。再生装置102は続いて、2Dクリップ情報ファイル1231のエクステント起点3442から、そのEXT2_ID=“2”と等しいEXT1_IDに対応するSPN3612の値“A2”を検索する。再生装置102は更に、検索されたSPNの和B2+A2を求める。図36の(e)から理解されるように、その和B2+A2は、エクステントSSEXTSS[0]の中で、3番目のディペンデントビュー・データ・ブロックD[2]よりも前に配置されたソースパケットの総数に等しい。従って、その和B2+A2とソースパケット一つ当たりのデータ量192バイトとの積をセクタ一つ当たりのデータ量2048バイトで割ったときの商(B2+A2)×192/2048は、エクステントSSEXTSS[0]の先頭から3番目のディペンデントビュー・データ・ブロックD[2]の直前までのセクタ数に等しい。この商を利用して第1ファイルSS1245のファイル・エントリを参照すれば、そのディペンデントビュー・データ・ブロックD[2]の先端が記録されたセクタのLBNを特定することができる。
再生装置102は、上記のようにLBNを特定した後、そのLBNをBD−ROMドライブに指定する。それにより、そのLBNのセクタ以降に記録されたエクステントSSEXTSS[0]の部分、すなわち3番目のライトビュー・データ・ブロックD[2]以降のデータ・ブロック群D[2]、B[2]、D[3]、B[3]、…がアラインド・ユニット単位で読み出される。
再生装置102は更にエクステント起点3442、3620を利用して、読み出されたエクステントSSからディペンデントビュー・データ・ブロックとベースビュー・データ・ブロックとを交互に抽出する。例えば、図36の(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)個のソースパケットを2番目のディペンデントビュー・データ・ブロックD[1]として抽出する。再生装置102は更に、(A1+B2)番目のソースパケットと、それに続く(A2−A1−1)個のソースパケットとの計(A2−A1)個のソースパケットを2番目のベースビュー・データ・ブロックB[1]として抽出する。それ以降も再生装置102は同様に、読み出されるソースパケットの数からエクステントSS内のデータ・ブロック間の境界を検出して、ディペンデントビューとベースビューとの各データ・ブロックを交互に抽出する。抽出されたベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとはパラレルにシステム・ターゲット・デコーダに渡されて復号される。
こうして、3D再生モードの再生装置102は第1ファイルSS1245から特定のPTS以降の3D映像を再生できる。その結果、再生装置102は、BD−ROMドライブの制御に関する上記の利点(A)、(B)を実際に享受できる。
≪ファイル・ベース≫
図36の(c)は、3D再生モードの再生装置102によって第1ファイルSS1245から抽出されたベースビュー・データ・ブロックB[0]、B[1]、B[2]、…を表す模式図である。図36の(c)を参照するに、それらのベースビュー・データ・ブロックB[n](n=0、1、2、…)に含まれるソースパケット群に、先頭から順にSPNを割り当てたとき、各ベースビュー・データ・ブロックB[n]の先端に位置するソースパケットのSPNは、エクステント起点3442の示すSPN3612に等しい。それらのベースビュー・データ・ブロック群B[n]のように、エクステント起点を利用して一つのファイルSSから抽出されるベースビュー・データ・ブロック群を「ファイル・ベース」という。更に、ファイル・ベースに含まれるベースビュー・データ・ブロックを「ベースビュー・エクステント」という。図36の(e)に示されているように、各ベースビュー・エクステントEXT1[0]、EXT1[1]、…は、クリップ情報ファイル内のエクステント起点3442、3620を利用して参照される。
ベースビュー・エクステントEXT1[n]は2DエクステントEXT2D[n]とベースビュー・データ・ブロックB[n]を共有する。従って、ファイル・ベースはファイル2Dと同じメインTSを含む。しかし、ベースビュー・エクステントEXT1[n]は2DエクステントEXT2D[n]とは異なり、いずれのファイルのファイル・エントリによっても参照されない。上記のとおり、ベースビュー・エクステントEXT1[n]は、クリップ情報ファイル内のエクステント起点を利用して、ファイルSS内のエクステントSSEXTSS[・]から抽出される。このように、ファイル・ベースは本来のファイルとは異なり、ファイル・エントリを含まず、かつ、ベースビュー・エクステントの参照にエクステント起点を必要とする。それらの意味で、ファイル・ベースは「仮想的なファイル」である。特にファイル・ベースはファイルシステムでは認識されず、図12に示されているディレクトリ/ファイル構造には現れない。
図37は、BD−ROMディスク101上に記録された一つのエクステント・ブロック3700と、ファイル2D3710、ファイル・ベース3711、ファイルDEP3712、及びファイルSS3720の各エクステント群との間の対応関係を示す模式図である。図37を参照するに、エクステント・ブロック3700はディペンデントビュー・データ・ブロックD[n]とベースビュー・データ・ブロックB[n]とを含む(n=0、1、2、3、…)。ベースビュー・データ・ブロックB[n]は2DエクステントEXT2D[n]としてファイル2D3710に属する。ディペンデントビュー・データ・ブロックD[n]はディペンデントビュー・エクステントEXT2[n]としてファイルDEP3712に属する。エクステント・ブロック3700の全体が一つのエクステントSSEXTSS[0]としてファイルSS3720に属する。従って、エクステントSSEXTSS[0]は、2DエクステントEXT2D[n]とはベースビュー・データ・ブロックB[n]を共有し、ディペンデントビュー・エクステントEXT2[n]とはディペンデントビュー・データ・ブロックD[n]を共有する。エクステントSSEXTSS[0]は再生装置102に読み込まれた後、ディペンデントビュー・データ・ブロックD[n]とベースビュー・データ・ブロックB[n]とに分離される。それらのベースビュー・データ・ブロックB[n]はベースビュー・エクステントEXT1[n]としてファイル・ベース3711に属する。エクステントSSEXTSS[0]内でのベースビュー・エクステントEXT1[n]とディペンデントビュー・エクステントEXT2[n]との間の境界は、ファイル2D3710とファイルDEP3712とのそれぞれに対応付けられたクリップ情報ファイル内のエクステント起点を利用して特定される。
≪ディペンデントビュー・クリップ情報ファイル≫
ディペンデントビュー・クリップ情報ファイルは、図34、35に示されている2Dクリップ情報ファイルとデータ構造が同様である。従って、以下の説明では、ディペンデントビュー・クリップ情報ファイルと2Dクリップ情報ファイルとの間の相違点に触れ、同様な点についての説明は上記の説明を援用する。
ディペンデントビュー・クリップ情報ファイルは、2Dクリップ情報ファイルとは、主に次の三点で異なる:(i)ストリーム属性情報に条件が課せられている;(ii)エントリ・ポイントに条件が課せられている;(iii)3Dメタデータがオフセット・テーブルを含まない。
(i)ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとが、L/Rモードの再生装置102によって3D映像の再生に利用されるものであるとき、図17に示されているとおり、ディペンデントビュー・ビデオ・ストリームはベースビュー・ビデオ・ストリームを利用して圧縮されている。そのとき、ディペンデントビュー・ビデオ・ストリームはベースビュー・ビデオ・ストリームとビデオ・ストリーム属性が等しい。ここで、ベースビュー・ビデオ・ストリームに関するビデオ・ストリーム属性情報は2Dクリップ情報ファイルのストリーム属性情報3420内でPID=0x1011に対応付けられている。一方、ディペンデントビュー・ビデオ・ストリームに関するビデオ・ストリーム属性情報はディペンデントビュー・クリップ情報ファイルのストリーム属性情報内でPID=0x1012又は0x1013に対応付けられている。従って、それらのビデオ・ストリーム属性情報間では、図34に示されている各項目、すなわち、コーデック、解像度、アスペクト比、及びフレームレートが一致しなければならない。コーデックの種類が一致していれば、ベースビュー・ピクチャとディペンデントビュー・ピクチャとの間に符号化での参照関係が成立するので、各ピクチャを復号することができる。解像度、アスペクト比、及びフレームレートがいずれも一致していれば、左右の映像の画面表示を同期させることができる。それ故、それらの映像を3D映像として視聴者に違和感を与えることなく見せることができる。
(ii)ディペンデントビュー・クリップ情報ファイルのエントリ・マップは、ディペンデントビュー・ビデオ・ストリームに割り当てられたテーブルを含む。そのテーブルは、図35の(a)に示されているテーブル3500と同様に、エントリ・マップ・ヘッダとエントリ・ポイントとを含む。エントリ・マップ・ヘッダは、対応するディペンデントビュー・ビデオ・ストリームのPID、すなわち0x1012又は0x1013を示す。各エントリ・ポイントは一対のPTSとSPNとを一つのEP_IDに対応付けている。各エントリ・ポイントのPTSは、ディペンデントビュー・ビデオ・ストリームに含まれるいずれかのGOPにおいて、その先頭に位置するピクチャのPTSと等しい。各エントリ・ポイントのSPNは、同じエントリ・ポイントに属するPTSで特定されるピクチャが格納されたソースパケット群のうち、その先頭に割り当てられたSPNに等しい。ここで、SPNは、ファイルDEPに属するソースパケット群、すなわちサブTSを構成するソースパケット群に先頭から順に割り当てられた通し番号を意味する。各エントリ・ポイントのPTSは、2Dクリップ情報ファイルのエントリ・マップのうち、ベースビュー・ビデオ・ストリームに割り当てられたテーブル内のエントリ・ポイントのPTSと一致しなければならない。すなわち、同じ3D・VAUに含まれる一対のピクチャの一方を含むソースパケット群の先頭にエントリ・ポイントが設定されているときは常に、他方を含むソースパケット群の先頭にもエントリ・ポイントが設定されていなければならない。
図38は、ベースビュー・ビデオ・ストリーム3810とディペンデントビュー・ビデオ・ストリーム3820とに設定されたエントリ・ポイントの例を示す模式図である。各ビデオ・ストリーム3810、3820では、先頭から数えて同じ順番のGOPが同じ再生期間の映像を表す。図38を参照するに、ベースビュー・ビデオ・ストリーム3810では、その先頭のGOPから数えて奇数番目に位置するGOP#1、GOP#3、GOP#5の各先頭にエントリ・ポイント3801B、3803B、3805Bが設定されている。それに併せて、ディペンデントビュー・ビデオ・ストリーム3820でも、その先頭のGOPから数えて奇数番目に位置するGOP#1、GOP#3、GOP#5の各先頭にエントリ・ポイント3801D、3803D、3805Dが設定されている。その場合、再生装置102は、例えばGOP#3から3D映像の再生を開始するとき、対応するエントリ・ポイント3803B、3803DのSPNから、ファイルSS内の再生開始位置のSPNを直ちに算定できる。特にエントリ・ポイント3803B、3803Dがいずれもデータ・ブロックの先端に設定されているとき、図36の(e)から理解されるとおり、エントリ・ポイント3803B、3803DのSPNの和がファイルSS内の再生開始位置のSPNに等しい。図36の(e)の説明で述べたとおり、そのソースパケットの数からは、ファイルSS内の再生開始位置の部分が記録されたセクタのLBNを算定することができる。こうして、3D映像の再生においても、飛び込み再生等、ビデオ・ストリームのランダムアクセスを要する処理の応答速度を向上させることができる。
≪2Dプレイリスト・ファイル≫
図39は、2Dプレイリスト・ファイルのデータ構造を示す模式図である。図12に示されている第1プレイリスト・ファイル(00001.mpls)1221はこのデータ構造を持つ。図39を参照するに、2Dプレイリスト・ファイル1221はメインパス3901と二つのサブパス3902、3903とを含む。
メインパス3901はプレイアイテム情報(以下、PIと略す。)の配列であり、ファイル2D1241の主要な再生経路、すなわち再生対象の部分とその再生順とを規定する。各PIは固有のプレイアイテムID=#N(N=1、2、3、…)で識別される。各PI#Nは主要な再生経路の異なる再生区間を一対のPTSで規定する。その対の一方はその再生区間の開始時刻(In−Time)を表し、他方は終了時刻(Out−Time)を表す。更に、メインパス3901内でのPIの順序は、対応する再生区間の再生経路内での順序を表す。
各サブパス3902、3903はサブプレイアイテム情報(以下、SUB_PIと略す。)の配列であり、ファイル2D1241の主要な再生経路に並列に付随可能な再生経路を規定する。その再生経路は、メインパス3901の表すファイル2D1241の部分とは別の部分とその再生順、又は、別のファイル2Dに多重化されたストリーム・データの部分とその再生順を示す。そのストリーム・データの表す2D映像は、メインパス3901に従ってファイル2D1241から再生される2D映像と同時に再生されるべきものであって、例えば、ピクチャ・イン・ピクチャ方式における副映像、ブラウザ画面、ポップアップ・メニュー、又は字幕を含む。サブパス3902、3903には2Dプレイリスト・ファイル1221への登録順に通し番号“0”、“1”が振られている。その通し番号はサブパスIDとして各サブパス3902、3903の識別に利用される。各サブパス3902、3903では、各SUB_PIが固有のサブプレイアイテムID=#M(M=1、2、3、…)で識別される。各SUB_PI#Mは、再生経路の異なる再生区間を一対のPTSで規定する。その対の一方はその再生区間の再生開始時刻を表し、他方は再生終了時刻を表す。更に、各サブパス3902、3903内でのSUB_PIの順序は、対応する再生区間の再生経路内での順序を表す。
図40は、PI#Nのデータ構造を示す模式図である。図40を参照するに、PI#Nは、参照クリップ情報4001、再生開始時刻(In_Time)4002、再生終了時刻(Out_Time)4003、コネクション・コンディション4004、及びストリーム選択テーブル(以下、STN(Stream Number)テーブルと略す。)4005を含む。参照クリップ情報4001は、2Dクリップ情報ファイル1231を識別するための情報である。再生開始時刻4002と再生終了時刻4003とは、ファイル2D1241の再生対象部分の先端と後端との各PTSを示す。コネクション・コンディション4004は、再生開始時刻4002と再生終了時刻4003とによって規定された再生区間での映像を、一つ前のPI#(N−1)によって規定された再生区間での映像に接続するときの条件を規定する。STNテーブル4005は、再生開始時刻4002から再生終了時刻4003までの間に、再生装置102内のデコーダによってファイル2D1241から選択可能なエレメンタリ・ストリームのリストを表す。
SUB_PIのデータ構造は、図40に示されているPIのデータ構造と、参照クリップ情報、再生開始時刻、及び再生終了時刻を含む点で共通する。特にSUB_PIの再生開始時刻と再生終了時刻とは、PIのそれらと同じ時間軸上の値で表される。SUB_PIは更に「SPコネクション・コンディション」というフィールドを含む。SPコネクション・コンディションはPIのコネクション・コンディションと同じ意味を持つ。
[コネクション・コンディション]
コネクション・コンディション(以下、CCと略す。)4004は、例えば、“1”、“5”、“6”の三種類の値を取り得る。CC4004が“1”であるとき、PI#Nによって規定されるファイル2D1241の部分から再生される映像は、直前のPI#(N−1)によって規定されるファイル2D1241の部分から再生される映像とは必ずしもシームレスに接続されなくてもよい。一方、CC4004が“5”又は“6”であるとき、それら両方の映像が必ずシームレスに接続されなければならない。
図41の(a)、(b)はそれぞれ、CCが“5”、“6”であるときに接続されるべき二つの再生区間PI#(N−1)、PI#Nの間の関係を示す模式図である。ここで、PI#(N−1)はファイル2D1241の第1部分4101を規定し、PI#Nはファイル2D1241の第2部分4102を規定する。図41の(a)を参照するに、CCが“5”であるとき、二つのPI#(N−1)、PI#Nの間でSTCが途切れていても良い。すなわち、第1部分4101の後端のPTS#1と第2部分4102の先端のPTS#2とは不連続であってもよい。但し、いくつかの制約条件が満たされねばならない。例えば、第1部分4101に続けて第2部分4102がデコーダに供給された際にそのデコーダが復号処理をスムーズに持続できるように、各部分4101、4102は作成されていなければならない。更に、第1部分4101に含まれるオーディオ・ストリームの最後のフレームは、第2部分4102に含まれるオーディオ・ストリームの先頭フレームと重複させなければならない。一方、図41の(b)を参照するに、CCが“6”であるとき、第1部分4101と第2部分4102とは、デコーダの復号処理上、一連の部分として扱えるものでなければならない。すなわち、第1部分4101と第2部分4102との間では、STCとATCとがいずれも連続でなければならない。同様に、SPコネクション・コンディションが“5”又は“6”であるとき、隣接する二つのSUB_PIによって規定されるファイル2Dの部分の間では、STCとATCとがいずれも連続でなければならない。
[STNテーブル]
図40を再び参照するに、STNテーブル4005はストリーム登録情報の配列である。「ストリーム登録情報」とは、再生開始時刻4002から再生終了時刻4003までの間にメインTSから再生対象として選択可能なエレメンタリ・ストリームを個別に示す情報である。ストリーム番号(STN)4006は、ストリーム登録情報に個別に割り当てられた通し番号であり、再生装置102によって各エレメンタリ・ストリームの識別に利用される。STN4006は更に、同じ種類のエレメンタリ・ストリームの間では選択の優先順位を表す。ストリーム登録情報は、ストリーム・エントリ4009とストリーム属性情報4010と含む。ストリーム・エントリ4009は、ストリーム・パス情報4007とストリーム識別情報4008とを含む。ストリーム・パス情報4007は、選択対象のエレメンタリ・ストリームが属するファイル2Dを示す情報である。例えばストリーム・パス情報4007が“メインパス”を示すとき、そのファイル2Dは、参照クリップ情報4001の示す2Dクリップ情報ファイルに対応するものである。一方、ストリーム・パス情報4007が“サブパスID=1”を示すとき、選択対象のエレメンタリ・ストリームが属するファイル2Dは、サブパスID=1のサブパスに含まれるSUB_PIの参照クリップ情報が示す2Dクリップ情報ファイルに対応するものである。そのSUB_PIの規定する再生開始時刻又は再生終了時刻のいずれかは、STNテーブル4005を含むPIの規定する再生開始時刻4002から再生終了時刻4003までの期間に含まれる。ストリーム識別情報4008は、ストリーム・パス情報4007によって特定されるファイル2Dに多重化されているエレメンタリ・ストリームのPIDを示す。このPIDの示すエレメンタリ・ストリームが再生開始時刻4002から再生終了時刻4003までの間に選択可能である。ストリーム属性情報4010は各エレメンタリ・ストリームの属性情報を表す。例えば、オーディオ・ストリーム、PGストリーム、及びIGストリームの各属性情報は言語の種類を示す。
[2Dプレイリスト・ファイルに従った2D映像の再生]
図42は、2Dプレイリスト・ファイル(00001.mpls)1221の示すPTSと、ファイル2D(01000.m2ts)1241から再生される部分との間の対応関係を示す模式図である。図42を参照するに、2Dプレイリスト・ファイル1221のメインパス3901では、PI#1は、再生開始時刻IN1を示すPTS#1と、再生終了時刻OUT1を示すPTS#2とを規定する。PI#1の参照クリップ情報は2Dクリップ情報ファイル(01000.clpi)1231を示す。再生装置102は、2Dプレイリスト・ファイル1221に従って2D映像を再生するとき、まずPI#1からPTS#1、#2を読み出す。再生装置102は次に、2Dクリップ情報ファイル1231のエントリ・マップを参照して、PTS#1、#2に対応するファイル2D1241内のSPN#1、#2を検索する。再生装置102は続いて、SPN#1、#2から、それぞれに対応するセクタ数を算定する。再生装置102は更にそれらのセクタ数とファイル2D1241のファイル・エントリとを利用して、再生対象の2Dエクステント群EXT2D[0]、…、EXT2D[n]が記録されたセクタ群P1の先端のLBN#1と後端のLBN#2とを特定する。セクタ数の算定とLBNの特定とは、図35を用いて説明したとおりである。再生装置102は最後に、LBN#1からLBN#2までの範囲をBD−ROMドライブ121に指定する。それにより、その範囲のセクタ群P1から、2Dエクステント群EXT2D[0]、…、EXT2D[n]に属するソースパケット群が読み出される。同様に、PI#2の示すPTS#3、#4の対は、まず2Dクリップ情報ファイル1231のエントリ・マップを利用してSPN#3、#4の対に変換される。次に、ファイル2D1241のファイル・エントリを利用して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プレイリスト・ファイル1221のメインパス3901に従って、ファイル2D1241から2D映像を再生できる。
2Dプレイリスト・ファイル1221はエントリ・マーク4201を含んでもよい。エントリ・マーク4201は、メインパス3901のうち、実際に再生が開始されるべき時点を示す。例えば図42に示されているように、PI#1に対して複数のエントリ・マーク4201が設定されてもよい。エントリ・マーク4201は特に頭出し再生において、再生開始位置の検索に利用される。例えば2Dプレイリスト・ファイル1221が映画タイトルの再生経路を規定するとき、エントリ・マーク4201は各チャプタの先頭に付与される。それにより、再生装置102はその映画タイトルをチャプタごとに再生できる。
≪3Dプレイリスト・ファイル≫
図43は、3Dプレイリスト・ファイルのデータ構造を示す模式図である。図12に示されている第2プレイリスト・ファイル(00002.mpls)1222はこのデータ構造を持つ。第2プレイリスト・ファイル(00003.mpls)1223も同様である。図43を参照するに、3Dプレイリスト・ファイル1222は、メインパス4301、サブパス4302、及び拡張データ4303を含む。
メインパス4301は、図13の(a)に示されているメインTSの再生経路を規定する。従って、メインパス4301は、図39に示されている2Dプレイリスト・ファイル1221のメインパス3901と実質的に等しい。すなわち、2D再生モードの再生装置102は、3Dプレイリスト・ファイル1222のメインパス4301に従ってファイル2D1241から2D映像を再生できる。一方、メインパス4301は、図39に示されているメインパス3901とは次の点で異なる:各PIのSTNテーブルは、いずれかのグラフィックス・ストリームのPIDに一つのSTNを対応付けている際には更に、そのSTNに一つのオフセット・シーケンスIDを割り当てている。
サブパス4302は、図13の(b)、(c)に示されているサブTSの再生経路、すなわち、第1ファイルDEP1242又は第2ファイルDEP1243のいずれかの再生経路を規定する。サブパス4302のデータ構造は、図39に示されている2Dプレイリスト・ファイル1241のサブパス3902、3903のデータ構造と同様である。従って、その同様なデータ構造の詳細、特にSUB_PIのデータ構造の詳細についての説明は、図39を用いた説明を援用する。
サブパス4302のSUB_PI#N(N=1、2、3、…)はメインパス4301のPI#Nと一対一に対応する。更に、各SUB_PI#Nの規定する再生開始時刻と再生終了時刻とはそれぞれ、対応するPI#Nの規定する再生開始時刻と再生終了時刻とに等しい。サブパス4302はその上、サブパス・タイプ4310を含む。「サブパス・タイプ」は一般に、メインパスとサブパスとの間で再生処理が同期すべきか否かを示す。3Dプレイリスト・ファイル1222では特に、サブパス・タイプ4310が3D再生モードの種類、すなわちサブパス4302に従って再生されるべきディペンデントビュー・ビデオ・ストリームの種類を示す。図43では、サブパス・タイプ4310は、その値が「3D・L/R」であるので、3D再生モードがL/Rモードであること、すなわち、ライトビュー・ビデオ・ストリームが再生対象であることを示す。一方、サブパス・タイプ4310は、その値が「3Dデプス」であるとき、3D再生モードがデプス・モードであること、すなわち、デプスマップ・ストリームが再生対象であることを示す。3D再生モードの再生装置102は、サブパス・タイプ4310の値が「3D・L/R」又は「3Dデプス」であることを検出したとき、メインパス4301に従った再生処理と、サブパス4302に従った再生処理とを同期させる。
拡張データ4303は、3D再生モードの再生装置102によってのみ解釈される部分であり、2D再生モードの再生装置102には無視される。拡張データ4303は特に拡張ストリーム選択テーブル4330を含む。「拡張ストリーム選択テーブル(STN_table_SS)」(以下、STNテーブルSSと略す。)は、3D再生モードにおいて、メインパス4301内の各PIの示すSTNテーブルに追加されるべきストリーム登録情報の配列である。このストリーム登録情報は、サブTSから再生対象として選択可能なエレメンタリ・ストリームを示す。
[STNテーブル]
図44は、3Dプレイリスト・ファイル1222のメインパス4301の含むSTNテーブル4405を示す模式図である。図44を参照するに、ストリーム識別情報4408のうち、“5”から“11”までのSTN4406が割り当てられたものは、PGストリーム又はIGストリームのPIDを示す。その場合、同じSTNが割り当てられたストリーム属性情報4410は参照オフセットID(stream_ref_offset_id)4401を含む。ファイルDEP1242では、図21に示されているように、各ビデオ・シーケンスのVAU#1にオフセット・メタデータ2110が配置されている。参照オフセットID4401は、そのオフセット・メタデータ2110の含むオフセット・シーケンスID2112のいずれかに等しい。すなわち、参照オフセットID4401は、そのオフセット・メタデータ2110の含む複数のオフセット・シーケンスの中で、“5”から“11”までの各STNに対応付けられるべきオフセット・シーケンスを規定する。
[STNテーブルSS]
図45は、STNテーブルSS4430のデータ構造を示す模式図である。図45を参照するに、STNテーブルSS4430はストリーム登録情報列4501、4502、4503、…、を含む。ストリーム登録情報列4501、4502、4503、…、はメインパス4301内のPI#1、#2、#3、…、に個別に対応する。3D再生モードの再生装置102はそれらのストリーム登録情報列4501、…を、対応するPI内のSTNテーブルに含まれるストリーム登録情報列と組み合わせて利用する。各PIに対するストリーム登録情報列4501は、ポップアップ期間のオフセット(Fixed_offset_during_Popup)4511、ディペンデントビュー・ビデオ・ストリームのストリーム登録情報列4512、PGストリームのストリーム登録情報列4513、及びIGストリームのストリーム登録情報列4514を含む。
ポップアップ期間のオフセット4511は、IGストリームからポップアップ・メニューが再生されるか否かを示す。3D再生モードの再生装置102はそのオフセット4511の値に依ってビデオ・プレーンとPGプレーンとの表示モード(presentation mode)を変える。ここで、ビデオ・プレーンの表示モードにはB−D表示モードとB−B表示モードとの二種類がある。PGプレーンとIGプレーンとの各表示モードには、2プレーン・モード、1プレーン+オフセット・モード、及び1プレーン+ゼロ・オフセット・モードの三種類がある。例えばポップアップ期間のオフセット4511の値が“0”であるとき、IGストリームからはポップアップ・メニューが再生されない。そのとき、ビデオ・プレーンの表示モードとしてB−D表示モードが選択され、PGプレーンの表示モードとして2プレーン・モード又は1プレーン+オフセット・モードが選択される。一方、ポップアップ期間のオフセット4511の値が“1”であるとき、IGストリームからポップアップ・メニューが再生される。そのとき、ビデオ・プレーンの表示モードとしてB−B表示モードが選択され、PGプレーンの表示モードとして1プレーン+ゼロ・オフセット・モードが選択される。
「2プレーン・モード」では、例えば図13の(b)、(c)に示されているように、サブTSがベースビューとディペンデントビューとのグラフィックス・ストリームを両方含むとき、再生装置102が各グラフィックス・ストリームからレフトビューとライトビューとのグラフィックス・プレーンを復号して交互に出力する。「1プレーン+オフセット・モード」では、再生装置102がオフセット制御により、メインTS内のグラフィックス・ストリームからレフトビューとライトビューとのグラフィックス・プレーンの対を生成して交互に出力する。いずれのモードでも表示装置103の画面にレフトビューとライトビューとのグラフィックス・プレーンを交互に表示することができる。その場合、視聴者には、それらのグラフィックス・プレーンが一つの3Dグラフィックス映像として見える。「1プレーン+ゼロ・オフセット・モード」では、再生装置102が、動作モードを3D再生モードに維持したまま、オフセット制御を一時的に停止させ、メインTS内のグラフィックス・ストリームから復号されたグラフィックス・プレーンを一フレーム当たり二回ずつ出力する。従って、表示装置103の画面にはレフトビューとライトビューとのいずれかのグラフィックス・プレーンしか表示されないので、視聴者にはそれらが2Dグラフィックス映像としてしか見えない。
3D再生モードの再生装置102は、PIごとにポップアップ期間のオフセット4511を参照して、IGストリームからポップアップ・メニューが再生されるときはB−B表示モードと1プレーン+ゼロ・オフセット・モードとを選択する。それにより、ポップアップ・メニューが表示される間、表示装置103が2D表示モードと3D表示モードとのいずれで動作しても、他の3D映像が一時的に2D映像に変更されるので、ポップアップ・メニューの視認性・操作性が向上する。
ディペンデントビュー・ビデオ・ストリームのストリーム登録情報列4512、PGストリームのストリーム登録情報列4513、及びIGストリームのストリーム登録情報列4514はそれぞれ、サブTSから再生対象として選択可能なディペンデントビュー・ビデオ・ストリーム、PGストリーム、及びIGストリームを示すストリーム登録情報を含む。これらのストリーム登録情報列4512、4513、4514はそれぞれ、対応するPI内のSTNテーブルに含まれるストリーム登録情報列のうち、ベースビュー・ビデオ・ストリーム、PGストリーム、及びIGストリームを示すものと組み合わされて利用される。3D再生モードの再生装置102は、STNテーブル内のいずれかのストリーム登録情報を読み出すとき、そのストリーム登録情報に組み合わされたSTNテーブルSS内のストリーム登録情報列も自動的に読み出す。それにより、再生装置102は、2D再生モードを単に3D再生モードへ切り換えるとき、設定済みのSTN、及び言語等のストリーム属性を同一に維持できる。
ディペンデントビュー・ビデオ・ストリームのストリーム登録情報列4512は、一般に複数のストリーム登録情報(SS_dependet_view_block)4520を含む。それらは、対応するPI内のストリーム登録情報のうち、ベースビュー・ビデオ・ストリームを示すものと同数である。各ストリーム登録情報4520は、STN4521、ストリーム・エントリ4522、及びストリーム属性情報4523を含む。STN4521は、ストリーム登録情報4520に個別に割り当てられた通し番号であり、対応するPI内の組み合わせ対象のストリーム登録情報のSTNと等しい。ストリーム・エントリ4522は、サブパスID参照情報(ref_to_Subpath_id)4531、ストリーム・ファイル参照情報(ref_to_subClip_entry_id)4532、及びPID(ref_to_stream_PID_subclip)4533を含む。サブパスID参照情報4531は、ディペンデントビュー・ビデオ・ストリームの再生経路を規定するサブパスのサブパスIDを示す。ストリーム・ファイル参照情報4532は、そのディペンデントビュー・ビデオ・ストリームが格納されたファイルDEPを識別するための情報である。PID4533は、そのディペンデントビュー・ビデオ・ストリームのPIDである。ストリーム属性情報4523は、そのディペンデントビュー・ビデオ・ストリームの属性、例えば、フレームレート、解像度、及びビデオ・フォーマットを含む。特にそれらは、対応するPI内の組み合わせ対象のストリーム登録情報の示すベースビュー・ビデオ・ストリームのものと共通である。
PGストリームのストリーム登録情報列4513は、一般に複数のストリーム登録情報4540を含む。それらは、対応するPI内のストリーム登録情報のうち、PGストリームを示すものと同数である。各ストリーム登録情報4540は、STN4541、立体視フラグ(is_SS_PG)4542、ベースビュー・ストリーム・エントリ(stream_entry_for_base_view)4543、ディペンデントビュー・ストリーム・エントリ(stream_entry_for_depentdent_view)4544、及びストリーム属性情報4545を含む。STN4541は、ストリーム登録情報4540に個別に割り当てられた通し番号であり、対応するPI内の組み合わせ対象のストリーム登録情報のSTNと等しい。立体視フラグ4542は、「ベースビュー及びディペンデントビュー(例えば、レフトビュー及びライトビュー)の両方のPGストリームがBD−ROMディスク101に記録されているか否か」を示す。立体視フラグ4542がオンであるとき、サブTSには両方のPGストリームが含まれている。従って、ベースビュー・ストリーム・エントリ4543、ディペンデントビュー・ストリーム・エントリ4544、及びストリーム属性情報4545のいずれのフィールドも再生装置102によって読み出される。立体視フラグ4542がオフであるとき、それらのフィールド4543−4545はいずれも再生装置102によって無視される。ベースビュー・ストリーム・エントリ4543とディペンデントビュー・ストリーム・エントリ4544とはそれぞれ、サブパスID参照情報4551、ストリーム・ファイル参照情報4552、及びPID4553を含む。サブパスID参照情報4551は、ベースビューとディペンデントビューとの各PGストリームの再生経路を規定するサブパスのサブパスIDを示す。ストリーム・ファイル参照情報4552は、各PGストリームが格納されたファイルDEPを識別するための情報である。PID4553は各PGストリームのPIDである。ストリーム属性情報4545は各PGストリームの属性、例えば言語の種類を含む。IGストリームのストリーム登録情報列4514も同様なデータ構造を持つ。
[3Dプレイリスト・ファイルに従った3D映像の再生]
図46は、3Dプレイリスト・ファイル(00002.mpls)1222の示すPTSと、第1ファイルSS(01000.ssif)1245から再生される部分との間の対応関係を示す模式図である。図46を参照するに、3Dプレイリスト・ファイル1222のメインパス4601では、PI#1は、再生開始時刻IN1を示すPTS#1と、再生終了時刻OUT1を示すPTS#2とを規定する。PI#1の参照クリップ情報は2Dクリップ情報ファイル(01000.clpi)1231を示す。サブパス4602では、SUB_PI#1がPI#1と同じPTS#1、#2を規定する。SUB_PI#1の参照クリップ情報はディペンデントビュー・クリップ情報ファイル(02000.clpi)1232を示す。
再生装置102は3Dプレイリスト・ファイル1222に従って3D映像を再生するとき、まずPI#1とSUB_PI#1とからPTS#1、#2を読み出す。再生装置102は、次に2Dクリップ情報ファイル1231のエントリ・マップを参照して、PTS#1、#2に対応するファイル2D1241内のSPN#1、#2を検索する。それと並行して、再生装置102はディペンデントビュー・クリップ情報ファイル1232のエントリ・マップを参照して、PTS#1、#2に対応する第1ファイルDEP1242内のSPN#11、#12を検索する。再生装置102は続いて、図36の(e)の説明で述べたように、各クリップ情報ファイル1231、1232のエクステント起点3442、3620を利用して、第1ファイルSS1245の先頭から再生開始位置までのソースパケット数SPN#21をSPN#1、#11から算定する。再生装置102は同様に、第1ファイルSS1245の先頭から再生終了位置までのソースパケット数SPN#22をSPN#2、#12から算定する。再生装置102は更に、SPN#21、#22のそれぞれに対応するセクタ数を算定する。再生装置102は続いて、それらのセクタ数と第1ファイルSS1245のファイル・エントリとを利用して、再生対象のエクステントSS群EXTSS[0]、…、EXTSS[n]が記録されたセクタ群P11の先端のLBN#1と後端のLBN#2とを特定する。セクタ数の算定とLBNの特定とは、図36の(e)の説明で述べたものと同様である。再生装置102は最後に、LBN#1からLBN#2までの範囲をBD−ROMドライブ121に指定する。それにより、その範囲のセクタ群P11から、エクステントSS群EXTSS[0]、…、EXTSS[n]に属するソースパケット群が読み出される。同様に、PI#2とSUB_PI#2との示すPTS#3、#4の対は、まずクリップ情報ファイル1231、1232の各エントリ・マップを利用してSPN#3、#4の対とSPN#13、#14の対とに変換される。次に、SPN#3、#13からは、第1ファイルSS1245の先頭から再生開始位置までのソースパケット数SPN#23が算定される。更に、SPN#4、#14からは、第1ファイルSS1245の先頭から再生終了位置までのソースパケット数SPN#24が算定される。続いて、第1ファイルSS1245のファイル・エントリを利用して、SPN#23、#24の対がLBN#3、#4の対に変換される。その後、LBN#3からLBN#4までの範囲のセクタ群P12から、エクステントSS群に属するソースパケット群が読み出される。
上記の読み出し処理と並行して、再生装置102は、図36の(e)の説明で述べたように各クリップ情報ファイル1231、1232のエクステント起点3442、3620を利用して、各エクステントSSからベースビュー・エクステントとディペンデントビュー・エクステントとを抽出してパラレルに復号する。こうして、再生装置102は、3Dプレイリスト・ファイル1222に従って第1ファイルSS1245から3D映像を再生する。
≪インデックス・ファイル≫
図47は、図12に示されているインデックス・ファイル(index.bdmv)1211のデータ構造を示す模式図である。図47を参照するに、インデックス・ファイル1211は、インデックス・テーブル4710、3D存在フラグ4720、及び2D/3Dお好みフラグ4730を含む。
インデックス・テーブル4710は、項目「ファーストプレイ」4701、「トップメニュー」4702、及び「タイトルk」4703(k=1、2、…、n:文字nは1以上の整数を表す。)を含む。各項目には、ムービーオブジェクトMVO−2D、MVO−3D、…、又はBD−JオブジェクトBDJO−2D、BDJO−3D、…のいずれかが対応付けられている。ユーザの操作又はアプリケーション・プログラムの指示に応じてタイトル又はメニューが呼び出される度に、再生装置102の制御部は、インデックス・テーブル4710の対応する項目を参照する。制御部は更に、その項目に対応付けられているオブジェクトをBD−ROMディスク101から呼び出し、それに従って様々な処理を実行する。具体的には、項目「ファーストプレイ」4701には、BD−ROMディスク101がBD−ROMドライブ121へ挿入された時に呼び出されるべきオブジェクトが指定されている。項目「トップメニュー」4702には、例えばユーザの操作で「メニューに戻れ」というコマンドが入力された時に表示装置103にメニューを表示させるためのオブジェクトが指定されている。項目「タイトルk」4703には、BD−ROMディスク101上のコンテンツを構成するタイトルが個別に割り当てられている。例えばユーザの操作によって再生対象のタイトルが指定されたとき、そのタイトルが割り当てられている項目「タイトルk」には、そのタイトルに対応するAVストリーム・ファイルから映像を再生するためのオブジェクトが指定されている。
図47に示されている例では、項目「タイトル1」と項目「タイトル2」とが2D映像のタイトルに割り当てられている。項目「タイトル1」に対応付けられているムービーオブジェクトMVO−2Dは、2Dプレイリスト・ファイル(00001.mpls)1221を用いた2D映像の再生処理に関する命令群を含む。再生装置102によって項目「タイトル1」が参照されたとき、そのムービーオブジェクトMVO−2Dに従い、2Dプレイリスト・ファイル1221がBD−ROMディスク101から読み出され、それに規定された再生経路に沿って2D映像の再生処理が実行される。項目「タイトル2」に対応付けられているBD−JオブジェクトBDJO−2Dは、2Dプレイリスト・ファイル1221を用いた2D映像の再生処理に関するアプリケーション管理テーブルを含む。再生装置102によって項目「タイトル2」が参照されたとき、そのBD−JオブジェクトBDJO−2D内のアプリケーション管理テーブルに従ってJARファイル1261からJavaアプリケーション・プログラムが呼び出されて実行される。それにより、2Dプレイリスト・ファイル1221がBD−ROMディスク101から読み出され、それに規定された再生経路に沿って2D映像の再生処理が実行される。
図47に示されている例では更に、項目「タイトル3」と項目「タイトル4」とが3D映像のタイトルに割り当てられている。項目「タイトル3」に対応付けられているムービーオブジェクトMVO−3Dは、2Dプレイリスト・ファイル1221を用いた2D映像の再生処理に関する命令群に加え、3Dプレイリスト・ファイル(00002.mpls)1222、(00003.mpls)1223のいずれかを用いた3D映像の再生処理に関する命令群を含む。項目「タイトル4」に対応付けられているBD−JオブジェクトBDJO−3Dでは、アプリケーション管理テーブルが、2Dプレイリスト・ファイル1221を用いた2D映像の再生処理に関するJavaアプリケーション・プログラムに加え、3Dプレイリスト・ファイル1222、1223のいずれかを用いた3D映像の再生処理に関するJavaアプリケーション・プログラムを規定する。
3D存在フラグ4720は、BD−ROMディスク101に3D映像コンテンツが記録されているか否かを示すフラグである。再生装置102は、BD−ROMドライブ121にBD−ROMディスク101が挿入されたとき、まずその3D存在フラグ4720をチェックする。3D存在フラグ4720がオンである場合、再生装置102は、HDMIケーブル122を通して表示装置103とCECメッセージを交換して、3D映像の再生に対応可能か否かを表示装置103に問い合わせなければならない。その問い合わせを行うには、再生装置102は表示装置103に対してHDCP認証を行わねばならない。一方、3D存在フラグ4720がオフである場合、再生装置102は3D再生モードを選択する必要がないので、表示装置103に対してHDCP認証を行うことなく、2D再生モードに速やかに移行できる。こうして、HDMI認証がスキップされることにより、BD−ROMディスク101の挿入から2D映像の再生開始までの時間が短縮される。
2D/3Dお好みフラグ4730は、再生装置と表示装置とが共に2D映像と3D映像とのいずれの再生にも対応可能であるときに、3D映像の再生を優先すべきか否かを指定するフラグである。2D/3Dお好みフラグ4730はコンテンツ・プロバイダによって設定される。再生装置102は、BD−ROMディスク101の3D存在フラグ4720がオンであるとき、続いて2D/3Dお好みフラグ4730を更にチェックする。2D/3Dお好みフラグ4730がオンである場合、3D映像の再生が優先されるので、再生装置102はユーザに再生モードを選択させなくてもよい。従って、再生装置102は、表示装置103に再生モードの選択画面を表示させることなくHDCP認証を行い、その結果に依って2D再生モードと3D再生モードとのいずれかで動作する。特に表示装置103が3D映像の再生に対応可能であることが判明した場合、再生装置102は直ちに3D再生モードで起動する。こうして、フレームレートの切り換え等、2D再生モードから3D再生モードへの移行処理に起因する起動の遅れを回避することができる。
[3D映像タイトルの選択時でのプレイリスト・ファイルの選択]
図47に示されている例では、再生装置102は、インデックス・テーブル4710の項目「タイトル3」を参照したとき、ムービーオブジェクトMVO−3Dに従って、まず次の判別処理を行う:(1)3D存在フラグ4720がオンかオフか、(2)再生装置102自身が3D映像の再生に対応しているか否か、(3)2D/3Dお好みフラグ4730がオンかオフか、(4)ユーザが3D再生モードを選択しているか否か、(5)表示装置103が3D映像の再生に対応しているか否か、及び(6)再生装置102の3D再生モードがL/Rモードとデプス・モードとのいずれであるか。再生装置102は次に、それらの判別結果に依って、いずれかのプレイリスト・ファイル1221−1223を再生対象として選択する。一方、再生装置102は項目「タイトル4」を参照したとき、BD−JオブジェクトBDJO−3D内のアプリケーション管理テーブルに従ってJARファイル1261からJavaアプリケーション・プログラムを呼び出して実行する。それにより、まず上記の判別処理(1)−(6)が行われ、次にその判別結果に依って、プレイリスト・ファイルの選択が行われる。
図48は、上記の判別処理(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存在フラグ4720と2D/3Dお好みフラグ4730とのそれぞれがオンであるときの値を“1”とし、オフであるときの値を“0”とする。
ステップS4801では、再生装置102は3D存在フラグ4720の値をチェックする。その値が“1”であるとき、処理はステップS4802へ進む。その値が“0”であるとき、処理はステップS4807へ進む。
ステップS4802では、3D存在フラグ4720はオンであるので、3D再生モードが選択される可能性がある。従って、再生装置102は第1フラグの値をチェックする。その値が“1”であるとき、処理はステップS4803へ進む。その値が“0”であるとき、処理はステップS4807へ進む。
ステップS4803では、第1フラグはオンであるので、再生装置102は3D映像の再生に対応可能である。再生装置102は更に2D/3Dお好みフラグ4730の値をチェックする。その値が“0”であるとき、処理はステップS4804へ進む。その値が“1”であるとき、処理はステップS4805へ進む。
ステップS4804では、2D/3Dお好みフラグ4730がオフであるので、3D映像の再生は優先されない。従って、再生装置102は表示装置103にメニューを表示させて、ユーザに2D再生モードと3D再生モードとのいずれかを選択させる。ユーザがリモコン105等を操作して3D再生モードを選択したとき、処理はステップS4805へ進み、2D再生モードを選択したとき、処理はステップS4807へ進む。
ステップS4805では、3D映像の再生が優先され、又は3D再生モードがユーザによって選択されている。従って、再生装置102はHDCP認証を行って、表示装置103が3D映像の再生に対応しているか否かをチェックする。表示装置103が3D映像の再生に対応している場合、処理はステップS4806へ進む。表示装置103が3D映像の再生に対応していない場合、処理はステップS4807へ進む。
ステップS4806では、3D再生モードでの起動が決定されている。再生装置102は更に第2フラグの値をチェックする。その値が“0”であるとき、処理はステップS4808へ進む。その値が“1”であるとき、処理はステップS4809へ進む。
ステップS4807では、2D再生モードでの起動が決定されている。従って、再生装置102は2Dプレイリスト・ファイル1221を再生対象として選択する。尚、そのとき、再生装置102は表示装置103に、3D映像の再生が選択されなかった理由を表示させてもよい。その後、処理は終了する。
ステップS4808では、再生装置102はL/Rモードで起動する。すなわち、再生装置102はL/Rモード用の3Dプレイリスト・ファイル1222を再生対象として選択する。その後、処理は終了する。
ステップS4809では、再生装置102はデプス・モードで起動する。すなわち、再生装置102はデプス・モード用の3Dプレイリスト・ファイル1223を再生対象として選択する。その後、処理は終了する。
<2D再生装置の構成>
2D再生モードの再生装置102はBD−ROMディスク101から2D映像コンテンツを再生するとき、2D再生装置として動作する。図49は、2D再生装置4900の機能ブロック図である。図49を参照するに、2D再生装置4900は、BD−ROMドライブ4901、再生部4902、及び制御部4903を含む。再生部4902は、リード・バッファ4921、システム・ターゲット・デコーダ4923、プレーン加算部4924、及びHDMI通信部4925を含む。制御部4903は、動的シナリオ・メモリ4931、静的シナリオ・メモリ4932、ユーザイベント処理部4933、プログラム実行部4934、再生制御部4935、及びプレーヤ変数記憶部4936を含む。再生部4902と制御部4903とは、互いに異なる集積回路に実装されている。その他に、両者が単一の集積回路に統合されていてもよい。
BD−ROMドライブ4901は、内部にBD−ROMディスク101が挿入されたとき、そのディスク101にレーザ光を照射してその反射光の変化を検出する。更に、その反射光の光量の変化から、ディスク101に記録されたデータを読み取る。具体的には、BD−ROMドライブ4901は光ピックアップ、すなわち光学ヘッドを備えている。その光学ヘッドは、半導体レーザ、コリメータ・レンズ、ビーム・スプリッタ、対物レンズ、集光レンズ、及び光検出器を含む。半導体レーザから出射された光ビームは、コリメータ・レンズ、ビーム・スプリッタ、及び対物レンズを順に通ってディスク101の記録層に集められる。集められた光ビームはその記録層で反射/回折される。その反射/回折光は、対物レンズ、ビーム・スプリッタ、及び集光レンズを通って光検出器に集められる。光検出器は、その集光量に応じたレベルの再生信号を生成する。更に、その再生信号からデータが復調される。
BD−ROMドライブ4901は、再生制御部4935からの要求に従ってBD−ROMディスク101からデータを読み出す。そのデータのうち、ファイル2Dのエクステント、すなわち2Dエクステントはリード・バッファ4921へ転送され、動的シナリオ情報は動的シナリオ・メモリ4931へ転送され、静的シナリオ情報は静的シナリオ・メモリ4932へ転送される。「動的シナリオ情報」は、インデックス・ファイル、ムービーオブジェクト・ファイル、及びBD−Jオブジェクト・ファイルを含む。「静的シナリオ情報」は2Dプレイリスト・ファイルと2Dクリップ情報ファイルとを含む。
リード・バッファ4921、動的シナリオ・メモリ4931、及び静的シナリオ・メモリ4932はいずれもバッファ・メモリである。リード・バッファ4921としては、再生部4902に内蔵されたメモリ素子が利用され、動的シナリオ・メモリ4931及び静的シナリオ・メモリ4932としては、制御部4903に内蔵されたメモリ素子が利用される。その他に、単一のメモリ素子の異なる領域が、それらのバッファ・メモリ4921、4931、4932の一部又は全部として利用されてもよい。リード・バッファ4921は2Dエクステントを格納し、動的シナリオ・メモリ4931は動的シナリオ情報を格納し、静的シナリオ・メモリ4932は静的シナリオ情報を格納する。
システム・ターゲット・デコーダ4923は、リード・バッファ4921から2Dエクステントをソースパケット単位で読み出して多重分離処理を行い、分離された各エレメンタリ・ストリームに対して復号処理を行う。ここで、各エレメンタリ・ストリームの復号に必要な情報、例えばコーデックの種類及びストリームの属性は予め、再生制御部4935からシステム・ターゲット・デコーダ4923へ送られている。システム・ターゲット・デコーダ4923は更に、復号後のプライマリ・ビデオ・ストリーム、セカンダリ・ビデオ・ストリーム、IGストリーム、及びPGストリーム内の各VAUを、主映像プレーン、副映像プレーン、IGプレーン、及びPGプレーンに変換してプレーン加算部4924へ送出する。一方、システム・ターゲット・デコーダ4923は、復号後のプライマリ・オーディオ・ストリームとセカンダリ・オーディオ・ストリームとをミキシングして、表示装置103の内蔵スピーカ103A等、音声出力装置へ送出する。システム・ターゲット・デコーダ4923はその他に、プログラム実行部4934からグラフィックス・データを受信する。そのグラフィックス・データは、GUI用のメニュー等のグラフィックスを画面に表示するためのものであり、JPEG又はPNG等のラスタ・データで表現されている。システム・ターゲット・デコーダ4923はそのグラフィックス・データを処理してイメージ・プレーンに変換し、プレーン加算部4924へ送出する。尚、システム・ターゲット・デコーダ4923の詳細については後述する。
プレーン加算部4924は、システム・ターゲット・デコーダ4923から、主映像プレーン、副映像プレーン、IGプレーン、PGプレーン、及びイメージ・プレーンを読み出し、それらを互いに重畳して一つの映像プレーン(フレーム又はフィールド)に合成する。合成後の映像プレーンはHDMI通信部4925へ送出される。
HDMI通信部4925は、プレーン加算部4924からは合成後の映像データを受信し、システム・ターゲット・デコーダ4923からは音声データを受信し、再生制御部4935からは制御データ、特に再生モードを受信する。HDMI通信部4925は更に、それらの受信データをHDMI方式のシリアル信号に変換し、HDMIケーブル122内のTMDSチャネルを通して表示装置103へ伝送する。HDMI通信部4925は特にそのシリアル信号を、図4に示されているフォーマットで生成する。ここで、3D構造401と再生モード402とはインフォ・フレームに設定されなくてもよい。表示装置103はそのシリアル信号に従って、映像データの表す映像を画面に表示し、音声データの表す音声をスピーカ103Aから放出する。一方、HDMI通信部4925は、HDMIケーブル122内のCECラインを通して表示装置103との間でCECメッセージを交換し、HDMIケーブル122内のディスプレイ・データ・チャネルを通してEDIDを表示装置103から読み出す。尚、HDMI通信部4925の詳細については後述する。
ユーザイベント処理部4933は、リモコン105又は再生装置102のフロントパネルを通してユーザの操作を検出し、その操作の種類に依って、プログラム実行部4934又は再生制御部4935に処理を依頼する。例えば、ユーザがリモコン105のボタンを押下してポップアップ・メニューの表示を指示したとき、ユーザイベント処理部4933はその押下を検出してそのボタンを識別する。ユーザイベント処理部4933は更にプログラム実行部4934に、そのボタンに対応するコマンドの実行、すなわちポップアップ・メニューの表示処理を依頼する。一方、ユーザがリモコン105の早送り又は巻戻しボタンを押下したとき、ユーザイベント処理部4933はその押下を検出してそのボタンを識別する。ユーザイベント処理部4933は更に再生制御部4935に、現在再生中のプレイリストの早送り又は巻戻し処理を依頼する。
プログラム実行部4934はプロセッサであり、動的シナリオ・メモリ4931に格納されたムービーオブジェクト・ファイル又はBD−Jオブジェクト・ファイルからプログラムを読み出して実行する。プログラム実行部4934は更に各プログラムに従って次の制御を行う:(1)再生制御部4935に対してプレイリスト再生処理を命令する;(2)メニュー用又はゲーム用のグラフィックス・データをPNG又はJPEGのラスタ・データとして生成してシステム・ターゲット・デコーダ4923へ転送し、システム・ターゲット・デコーダ4923にそのデータを他の映像データと合成させる。これらの制御の具体的な内容は、プログラムの設計を通じて比較的自由に設計することができる。すなわち、それらの制御内容は、BD−ROMディスク101のオーサリング工程のうち、ムービーオブジェクト・ファイル及びBD−Jオブジェクト・ファイルのプログラミング工程によって決まる。
再生制御部4935は、2Dエクステント及びインデックス・ファイル等、各種のデータをBD−ROMディスク101から、リード・バッファ4921、動的シナリオ・メモリ4931、及び静的シナリオ・メモリ4932へ転送する処理を制御する。その制御には、図12に示されているディレクトリ/ファイル構造を管理するファイルシステムが次のように利用される。再生制御部4935はファイル・オープン用のシステムコールを利用して、ファイルシステムに検索対象のファイル名を与え、ディレクトリ/ファイル構造から検索させる。その検索に成功したとき、ファイルシステムはまず、再生制御部4935内のメモリに転送対象のファイルのファイル・エントリを転送して、そのメモリ内にFCB(File Control Block)を生成する。ファイルシステムは次に、転送対象のファイルのファイル・ハンドルを再生制御部4935へ返す。再生制御部4935はそのファイル・ハンドルをBD−ROMドライブ4901に提示する。それに応じて、BD−ROMドライブ4901はその転送対象のファイルを、BD−ROMディスク101から各バッファ・メモリ4921、4931、4932へ転送する。
再生制御部4935は、BD−ROMドライブ4901とシステム・ターゲット・デコーダ4923とを制御して、ファイル2Dから映像データと音声データとを復号させる。具体的には、再生制御部4935はまず、プログラム実行部4934からの命令、又はユーザイベント処理部4933からの依頼に応じて、静的シナリオ・メモリ4932から2Dプレイリスト・ファイルを読み出してその内容を解釈する。再生制御部4935は次に、その解釈された内容、特に再生経路に従って、BD−ROMドライブ4901とシステム・ターゲット・デコーダ4923とに再生対象のファイル2Dを指定し、その読み出し処理及び復号処理を指示する。このようなプレイリスト・ファイルに従った再生処理を「プレイリスト再生処理」という。
その他に、再生制御部4935は静的シナリオ情報を利用して、プレーヤ変数記憶部4936に各種のプレーヤ変数を設定する。再生制御部4935は更に、それらのプレーヤ変数を参照して、システム・ターゲット・デコーダ4923に復号対象のエレメンタリ・ストリームを指定し、かつ、各エレメンタリ・ストリームの復号に必要な情報を提供する。また、再生制御部4935はそれらのプレーヤ変数を参照して、映像データに付随する制御データ、特に再生モードをHDMI通信部4923に提供する。
プレーヤ変数記憶部4936は、プレーヤ変数を記憶するためのレジスタ群である。プレーヤ変数の種類にはシステム・パラメータ(SPRM)と汎用のパラメータ(GPRM)とがある。SPRMは再生装置102の状態を示す。図50はSPRMの一覧表である。図50を参照するに、各SPRMには通し番号5001が振られ、各通し番号5001に変数値5002が個別に対応付けられている。SPRMは例えば64個であり、それぞれの示す意味は以下のとおりである。ここで、括弧内の数字は通し番号5001を示す。
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)のパレンタル・レベルは、再生装置102を利用する視聴者の年齢の下限を示し、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等を利用してユーザに変更させることもでき、プログラム実行部4934を通じてアプリケーション・プログラムに変更させることもできる。例えばSPRM(16)が「英語」を示しているとき、再生制御部4935はプレイリスト再生処理において、まず現時点での再生区間を示すPI、すなわちカレントPIの含むSTNテーブルから、「英語」の言語コードを含むストリーム・エントリを検索する。再生制御部4935は次に、そのストリーム・エントリのストリーム識別情報からPIDを抽出してシステム・ターゲット・デコーダ4923に渡す。それにより、そのPIDのオーディオ・ストリームがシステム・ターゲット・デコーダ4923によって選択されて復号される。これらの処理は、ムービーオブジェクト・ファイル又はBD−Jオブジェクト・ファイルを利用して再生制御部4935に実行させることができる。
プレーヤ変数は再生処理中、再生制御部4935によって再生状態の変化に応じて更新される。特に、SPRM(1)、SPRM(2)、SPRM(21)、及びSPRM(22)が更新される。それらは順に、処理中のオーディオ・ストリーム、字幕ストリーム、セカンダリ・ビデオ・ストリーム、及びセカンダリ・オーディオ・ストリームの各STNを示す。例えばプログラム実行部4934によってSPRM(1)が変更されたときを想定する。再生制御部4935はまず、変更後のSPRM(1)の示すSTNを利用して、カレントPI内のSTNテーブルから、そのSTNを含むストリーム・エントリを検索する。再生制御部4935は次に、そのストリーム・エントリ内のストリーム識別情報からPIDを抽出してシステム・ターゲット・デコーダ4923に渡す。それにより、そのPIDのオーディオ・ストリームがシステム・ターゲット・デコーダ4923によって選択されて復号される。こうして、再生対象のオーディオ・ストリームが切り換えられる。同様に、再生対象の字幕及びセカンダリ・ビデオ・ストリームを切り換えることもできる。
<2D再生装置の再生動作>
図51は、2D再生装置4900の再生動作のフローチャートである。この動作は、再生装置102が、図48に示されている選択処理の結果、2D再生モードで起動することによって開始される。
ステップS5101では、2D再生装置4900は、BD−ROMドライブ4901によってBD−ROMディスク101からストリーム・データを読み出して、リード・バッファ4921へ格納する。その後、処理はステップS5102へ進む。
ステップS5102では、2D再生装置4900は、システム・ターゲット・デコーダ4923によってリード・バッファ4921からストリーム・データを読み出し、そのストリーム・データからエレメンタリ・ストリームを多重分離する。その後、処理はステップS5103へ進む。
ステップS5103では、2D再生装置4900は、システム・ターゲット・デコーダ4923によって各エレメンタリ・ストリームを復号する。特に、プライマリ・ビデオ・ストリーム、セカンダリ・ビデオ・ストリーム、IGストリーム、及びPGストリームはそれぞれ、主映像プレーン、副映像プレーン、IGプレーン、及びPGプレーンに復号される。更に、プライマリ・オーディオ・ストリームとセカンダリ・オーディオ・ストリームとがミキシングされる。その他に、プログラム実行部4934からのグラフィックス・データがイメージ・プレーンに変換される。その後、処理はステップS5104へ進む。
ステップS5104では、2D再生装置4900は、システム・ターゲット・デコーダ4923によって復号された主映像プレーン、副映像プレーン、IGプレーン、PGプレーン、及びイメージ・プレーンを、プレーン加算部4924によって一つの映像プレーンに合成する。その後、処理はステップS5105へ進む。
ステップS5105では、2D再生装置4900は、プレーン加算部4924によって合成された映像プレーン、システム・ターゲット・デコーダ4923によってミキシングされた音声データ、及び再生制御部4935からの制御データを、HDMI通信部4925によってシリアル信号に変換し、HDMIケーブル122を通して表示装置103へ伝送する。特にそのシリアル信号は、図4に示されているフォーマットで生成される。その後、処理はステップS5106へ進む。
ステップS5106では、2D再生装置4900は、リード・バッファ4921に未処理のストリーム・データが残されているか否かをチェックする。残されているときは、処理がステップS5101から繰り返される。残されていないときは、処理が終了する。
<2Dプレイリスト再生処理>
図52は、再生制御部4935による2Dプレイリスト再生処理のフローチャートである。2Dプレイリスト再生処理は、2Dプレイリスト・ファイルに従ったプレイリスト再生処理であり、再生制御部4935が静的シナリオ・メモリ4932から2Dプレイリスト・ファイルを読み出すことによって開始される。
ステップS5201では、再生制御部4935はまず、2Dプレイリスト・ファイル内のメインパスからPIを一つ読み出してカレントのPIとして設定する。再生制御部4935は次に、カレントPIのSTNテーブルから再生対象のエレメンタリ・ストリームのPIDを選択し、かつ、それらの復号に必要な属性情報を特定する。選択されたPIDと属性情報とはシステム・ターゲット・デコーダ4923に指示される。再生制御部4935は更に、2Dプレイリスト・ファイル内のサブパスから、カレントPIに付随するSUB_PIを特定する。その後、処理はステップS5202へ進む。
ステップS5202では、再生制御部4935はカレントPIから、参照クリップ情報、再生開始時刻IN1を示すPTS#1、及び再生終了時刻OUT1を示すPTS#2を読み出す。その参照クリップ情報から、再生対象のファイル2Dに対応する2Dクリップ情報ファイルが特定される。更に、カレントPIに付随するSUB_PIが存在するときは、それらからも同様な情報が読み出される。その後、処理はステップS5203へ進む。
ステップS5203では、再生制御部4935は2Dクリップ情報ファイルのエントリ・マップを参照して、PTS#1、#2に対応するファイル2D内のSPN#1、#2を検索する。SUB_PIの示すPTSの対も同様にSPNの対に変換される。その後、処理はステップS5204へ進む。
ステップS5204では、再生制御部4935は、SPN#1、#2から、それぞれに対応するセクタ数を算定する。具体的には、再生制御部4935はまず、SPN#1、#2のそれぞれとソースパケット一つ当たりのデータ量192バイトとの積を求める。再生制御部4935は次に、各積をセクタ一つ当たりのデータ量2048バイトで割ってその商を求める:N1=SPN#1×192/2048、N2=SPN#2×192/2048。商N1、N2は、メインTSのうち、SPN#1、#2のそれぞれが割り当てられたソースパケットよりも前の部分が記録されたセクタの総数に等しい。SUB_PIの示すPTSの対から変換されたSPNの対も同様にセクタ数の対に変換される。その後、処理はステップS5205へ進む。
ステップS5205では、再生制御部4935は、ステップS5204で得られたセクタ数N1、N2のそれぞれから、再生対象の2Dエクステント群の先端と後端とのLBNを特定する。具体的には、再生制御部4935は、再生対象のファイル2Dのファイル・エントリを参照して、2Dエクステント群が記録されたセクタ群の先頭から数えて(N1+1)番目のセクタのLBN=LBN#1と、(N2+1)番目のセクタのLBN=LBN#2とを特定する。再生制御部4935は更に、LBN#1からLBN#2までの範囲をBD−ROMドライブ4901に指定する。SUB_PIの示すPTSの対から変換されたセクタ数の対も同様にLBNの対に変換されて、BD−ROMドライブ4901に指定される。その結果、指定された範囲のセクタ群から、2Dエクステント群に属するソースパケット群がアラインド・ユニット単位で読み出される。その後、処理はステップS5206へ進む。
ステップS5206では、再生制御部4935は、メインパスに未処理のPIが残されているか否かをチェックする。残されているときは、処理がステップS5201から繰り返される。残されていないときは、処理が終了する。
<システム・ターゲット・デコーダ>
図53は、システム・ターゲット・デコーダ4923の機能ブロック図である。図53を参照するに、システム・ターゲット・デコーダ4923は、ソース・デパケタイザ5310、ATCカウンタ5320、第1の27MHzクロック5330、PIDフィルタ5340、STCカウンタ(STC1)5350、第2の27MHzクロック5360、主映像デコーダ5370、副映像デコーダ5371、PGデコーダ5372、IGデコーダ5373、主音声デコーダ5374、副音声デコーダ5375、イメージ・プロセッサ5380、主映像プレーン・メモリ5390、副映像プレーン・メモリ5391、PGプレーン・メモリ5392、IGプレーン・メモリ5393、イメージ・プレーン・メモリ5394、及び音声ミキサ5395を含む。
ソース・デパケタイザ5310はリード・バッファ4921からソースパケットを読み出し、その中からTSパケットを取り出してPIDフィルタ5340へ送出する。ソース・デパケタイザ5310は更にその送出時刻を、各ソースパケットのATSの示す時刻に合わせる。具体的には、ソース・デパケタイザ5310はまず、ATCカウンタ5320が生成するATCの値を監視する。ここで、ATCの値はATCカウンタ5320により、第1の27MHzクロック5330のクロック信号のパルスに応じてインクリメントされる。ソース・デパケタイザ5310は次に、ATCの値がソースパケットのATSと一致した瞬間、そのソースパケットから取り出されたTSパケットをPIDフィルタ5340へ転送する。そのような送出時刻の調節により、ソース・デパケタイザ5310からPIDフィルタ5340へのTSパケットの平均転送速度は、図34に示されている2Dクリップ情報ファイル1231内のシステム・レート3411で規定される値RTSを超えない。
PIDフィルタ5340はまず、ソース・デパケタイザ5310から送出されたTSパケットの含むPIDを監視する。そのPIDが、再生制御部4935から予め指定されたPIDに一致したとき、PIDフィルタ5340はそのTSパケットを選択し、そのPIDの示すエレメンタリ・ストリームの復号に適したデコーダ5370−5375へ転送する。例えばPIDが0x1011であるとき、そのTSパケットは主映像デコーダ5370へ転送される。一方、PIDが、0x1B00−0x1B1F、0x1100−0x111F、0x1A00−0x1A1F、0x1200−0x121F、及び0x1400−0x141Fの各範囲に属するとき、TSパケットはそれぞれ、副映像デコーダ5371、主音声デコーダ5374、副音声デコーダ5375、PGデコーダ5372、及びIGデコーダ5373へ転送される。
PIDフィルタ5340は更に、各TSパケットのPIDを利用してそのTSパケットの中からPCRを検出する。PIDフィルタ5340はそのとき、STCカウンタ5350の値を所定値に設定する。ここで、STCカウンタ5350の値は、第2の27MHzクロック5360のクロック信号のパルスに応じてインクリメントされる。また、STCカウンタ5350に設定されるべき値は予め、再生制御部4935からPIDフィルタ5340に指示されている。各デコーダ5370−5375はSTCカウンタ5350の値をSTCとして利用する。具体的には、各デコーダ5370−5375はまず、PIDフィルタ5340から受け取ったTSパケットをPESパケットに再構成する。各デコーダ5370−5375は次に、そのPESペイロードの含むデータの復号処理の時期を、そのPESヘッダに含まれるPTS又はDTSの示す時刻に従って調節する。
主映像デコーダ5370は、図53に示されているように、トランスポート・ストリーム・バッファ(TB:Transport Stream Buffer)5301、多重化バッファ(MB:Multiplexing Buffer)5302、エレメンタリ・ストリーム・バッファ(EB:Elementary Stream Buffer)5303、圧縮映像デコーダ(DEC)5304、及び復号ピクチャ・バッファ(DPB:Decoded Picture Buffer)5305を含む。
TB5301、MB5302、及びEB5303はいずれもバッファ・メモリであり、それぞれ主映像デコーダ5370に内蔵のメモリ素子の一領域を利用する。その他に、それらのいずれか又は全てが異なるメモリ素子に分離されていてもよい。TB5301は、PIDフィルタ5340から受信されたTSパケットをそのまま蓄積する。MB5302は、TB5301に蓄積されたTSパケットから復元されたPESパケットを蓄積する。尚、TB5301からMB5302へTSパケットが転送されるとき、そのTSパケットからTSヘッダが除去される。EB5303はPESパケットから、符号化されたVAUを抽出して格納する。そのVAUには圧縮ピクチャ、すなわち、Iピクチャ、Bピクチャ、及びPピクチャが格納されている。尚、MB5302からEB5303へデータが転送されるとき、そのPESパケットからPESヘッダが除去される。
DEC5304は、圧縮ピクチャの復号処理に特化したハードウェア・デコーダであり、特にその復号処理のアクセラレータ機能を備えたLSIで構成されている。DEC5304は、EB5303内の各VAUからピクチャを、元のPESパケットに含まれるDTSの示す時刻に復号する。その復号処理では、DEC5304は予めそのVAUのヘッダを解析して、そのVAU内に格納された圧縮ピクチャの圧縮符号化方式とストリーム属性とを特定し、それらに依って復号方法を選択する。その圧縮符号化方式は、例えば、MPEG−2、MPEG−4 AVC、及びVC1を含む。DEC5304は更に、復号された非圧縮のピクチャをDPB5305へ転送する。
DPB5305は、TB5301、MB5302、及びEB5303と同様なバッファ・メモリであり、主映像デコーダ5370に内蔵のメモリ素子の一領域を利用する。DPB5305はその他に、他のバッファ・メモリ5301、5302、5303とは異なるメモリ素子に分離されていてもよい。DPB5305は復号後のピクチャを一時的に保持する。DEC5304によってPピクチャ又はBピクチャが復号されるとき、DPB5305はDEC5304からの指示に応じて、保持している復号後のピクチャから参照ピクチャを検索してDEC5304に提供する。DPB5305は更に、保持している各ピクチャを、元のPESパケットに含まれるPTSの示す時刻に主映像プレーン・メモリ5390へ書き込む。
副映像デコーダ5371は主映像デコーダ5370と同様の構成を含む。副映像デコーダ5371はまず、PIDフィルタ5340から受信されたセカンダリ・ビデオ・ストリームのTSパケットを非圧縮のピクチャに復号する。副映像デコーダ5371は次に、そのPESパケットに含まれるPTSの示す時刻に非圧縮のピクチャを副映像プレーン・メモリ5391へ書き込む。
PGデコーダ5372は、PIDフィルタ5340から受信されたTSパケットを非圧縮のグラフィックス・オブジェクトに復号し、そのPESパケットに含まれるPTSの示す時刻にPGプレーン・メモリ5392へ書き込む。その書き込み処理の詳細については後述する。
IGデコーダ5373は、PIDフィルタ5340から受信されたTSパケットを非圧縮のグラフィックス・オブジェクトに復号する。IGデコーダ5373は更に、それらのTSパケットから復元されたPESパケットに含まれるPTSの示す時刻に、その非圧縮のグラフィックス・オブジェクトをIGプレーン・メモリ5393へ書き込む。それらの処理の詳細は、PGデコーダ5372によるものと同様である。
主音声デコーダ5374はまず、PIDフィルタ5340から受信されたTSパケットを内蔵のバッファに蓄える。主音声デコーダ5374は次に、そのバッファ内のTSパケット群からTSヘッダとPESヘッダとを除去し、残りのデータを非圧縮のLPCM音声データに復号する。主音声デコーダ5374は更にその音声データを、元のPESパケットに含まれるPTSの示す時刻に音声ミキサ5395へ送出する。ここで、主音声デコーダ5374は、TSパケットに含まれるプライマリ・オーディオ・ストリームの圧縮符号化方式及びストリーム属性に依って圧縮音声データの復号方法を選択する。その圧縮符号化方式は例えばAC−3又はDTSを含む。
副音声デコーダ5375は主音声デコーダ5374と同様の構成を含む。副音声デコーダ5375はまず、PIDフィルタ5340から受信されたセカンダリ・オーディオ・ストリームのTSパケット群からPESパケットを復元し、そのPESペイロードの含むデータを非圧縮のLPCM音声データに復号する。副音声デコーダ5375は次に、そのPESヘッダの含むPTSの示す時刻にその非圧縮のLPCM音声データを音声ミキサ5395へ送出する。ここで、副音声デコーダ5375は、TSパケットに含まれるセカンダリ・オーディオ・ストリームの圧縮符号化方式及びストリーム属性に依って圧縮音声データの復号方法を選択する。その圧縮符号化方式は例えばドルビー・デジタル・プラス又はDTS−HD LBRを含む。
音声ミキサ5395は、主音声デコーダ5374と副音声デコーダ5375とのそれぞれから非圧縮の音声データを受信し、それらを用いてミキシングを行う。音声ミキサ5395は更に、そのミキシングで得られた合成音を表示装置103の内蔵スピーカ103A等へ送出する。
イメージ・プロセッサ5380は、プログラム実行部4934からグラフィックス・データ、すなわちPNG又はJPEGのラスタ・データを受信する。イメージ・プロセッサ5380はそのとき、そのグラフィックス・データに対するレンダリング処理を行ってイメージ・プレーン・メモリ5394へ書き込む。
≪PGデコーダによる復号処理≫
図54の(a)は、PGデコーダ5372がPGストリーム内の一つのデータ・エントリからグラフィックス・オブジェクトを復号する処理のフローチャートである。この処理は、PGデコーダ5372がPIDフィルタ5340から、図16に示されている一つのデータ・エントリを構成するTSパケット群を受信したときに開始される。図54の(b)−(e)は、図54の(a)に示されている処理に従って変化するグラフィックス・オブジェクトを示す模式図である。
ステップS5401では、PGデコーダ5372はまず、PCS内の参照オブジェクトID1605と同じオブジェクトIDを持つODSを特定する。PGデコーダ5372は次に、特定されたODSからグラフィックス・オブジェクトを復号してオブジェクト・バッファに書き込む。ここで、「オブジェクト・バッファ」は、PGデコーダ5372に内蔵のバッファ・メモリである。図54の(b)に示されている「ニコちゃんマーク」FOBは、オブジェクト・バッファに書き込まれたグラフィックス・オブジェクトの例を示す。
ステップS5402では、PGデコーダ5372はPCS内のクロッピング情報1602に従ってクロッピング処理を行い、グラフィックス・オブジェクトからその一部を切り出してオブジェクト・バッファに書き込む。図54の(c)では、ニコちゃんマークFOBの左右の両端部から帯状領域LST、RSTが切り取られて、残りの部分OBJがオブジェクト・バッファに書き込まれている。
ステップS5403では、PGデコーダ5372はまず、PCS内の参照ウィンドウID1603と同じウィンドウIDを持つWDSを特定する。PGデコーダ5372は次に、特定されたWDSの示すウィンドウ位置1612と、PCS内のオブジェクト表示位置1601とから、グラフィックス・プレーンにおけるグラフィックス・オブジェクトの表示位置を決定する。図54の(d)では、グラフィックス・プレーンGPLにおけるウィンドウWINの左上隅の位置と、グラフィックス・オブジェクトOBJの左上隅の位置DSPとが決定される。
ステップS5404では、PGデコーダ5372はオブジェクト・バッファ内のグラフィックス・オブジェクトを、ステップS5403で決定された表示位置に書き込む。その際、PGデコーダ5372は、WDSの示すウィンドウ・サイズ1613を利用して、グラフィックス・オブジェクトを描画する範囲を決める。図54の(d)では、グラフィックス・オブジェクトOBJがグラフィックス・プレーンGPLに、左上隅の位置DSPからウィンドウWINの範囲内で書き込まれている。
ステップS5405では、PGデコーダ5372はまず、PCS内の参照パレットID1604と同じパレットIDを持つPDSを特定する。PGデコーダ5372は次に、PDS内のCLUT1622を利用して、グラフィックス・オブジェクト内の各画素データが示すべき色座標値を決定する。図54の(e)では、グラフィックス・オブジェクトOBJ内の各画素の色が決定されている。こうして、一つのデータ・エントリの含むグラフィックス・オブジェクトの描画処理が完了する。ステップS5401−S5405は、そのグラフィックス・オブジェクトと同じPESパケットに含まれるPTSの示す時刻までに実行される。
<HDMI通信部>
図55は、HDMI通信部4925の構成を示す機能ブロック図である。HDMI通信部4925はHDMIケーブル122で表示装置103、特に図3に示されているHDMI通信部211に接続されている。それにより、HDMI通信部4925は、システム・ターゲット・デコーダ4923とプレーン加算部4924とのそれぞれから表示装置103へ送出されるストリーム・データを中継する。HDMI通信部4925は更に、再生制御部4935と表示装置103との間でのデータ交換を中継する。図55を参照するに、HDMI通信部4925は、TMDSエンコーダ5501、EDID読み出し部5502、及びCEC部5503を含む。
TMDSエンコーダ5501は、HDMIケーブル122内のTMDSチャネルCH1、CH2、CH3、CLKを通して表示装置103へ、映像データ、音声データ、補助データ、及び制御信号を表すシリアル信号を送信する。TMDSエンコーダ5501は特に、各データ・チャネルCH1−3を通して、例えば、R、G、Bの各ピクセル・データ(8ビット)、4ビットの音声データと補助データ(インフォ・フレーム)、及び2ビットの制御信号(水平同期信号と垂直同期信号とを含む)をそれぞれ、10ビットのデータ列に変換して送出する。TMDSエンコーダ5501は特にそのシリアル信号を、図4に示されているフォーマットで生成する。
EDID読み出し部5502は、HDMIケーブル122内のディスプレイ・データ・チャネルDDCを通して、図3に示されているEDID記憶部302に接続されている。EDID読み出し部5502はそのEDID記憶部302から、表示装置103の機能、特性、状態を表すEDIDを読み出す。EDID読み出し部5502はその他に、図3に示されている信号処理部220との間で、ディスプレイ・データ・チャネルDDCを通してHDCP認証を行う。
CEC部5503は、HDMIケーブル122内のCECラインCECを通して、図3に示されているCEC部303との間でCECメッセージを交換する。CEC部5503は特に、再生装置102がリモコン105から受けた情報をCECメッセージに変換して信号処理部220へ通知し、又は逆に、表示装置103がリモコン105から受けた情報をCECメッセージとして信号処理部220から通知される。
<3D再生装置の構成>
3D再生モードの再生装置102は、BD−ROMディスク101から3D映像コンテンツを再生するとき、3D再生装置として動作する。その構成の基本部分は、図49、53、55に示されている2D再生装置の構成と同様である。従って、以下では2D再生装置の構成からの拡張部分及び変更部分について説明し、基本部分の詳細についての説明は上記の2D再生装置についての説明を援用する。また、2Dプレイリスト再生処理に利用される構成は2D再生装置の構成と同様である。従って、その詳細についての説明も上記の2D再生装置についての説明を援用する。以下の説明では、3Dプレイリスト・ファイルに従った3D映像の再生処理、すなわち3Dプレイリスト再生処理を想定する。
図56は、3D再生装置5600の機能ブロック図である。3D再生装置5600は、BD−ROMドライブ5601、再生部5602、及び制御部5603を含む。再生部5602は、スイッチ5620、第1リード・バッファ(RB1)5621、第2リード・バッファ(RB2)5622、システム・ターゲット・デコーダ5623、プレーン加算部5624、及びHDMI通信部5625を含む。制御部5603は、動的シナリオ・メモリ5631、静的シナリオ・メモリ5632、ユーザイベント処理部5633、プログラム実行部5634、再生制御部5635、及び、プレーヤ変数記憶部5636を含む。再生部5602と制御部5603とは互いに異なる集積回路に実装されている。その他に、両者が単一の集積回路に統合されていてもよい。特に、動的シナリオ・メモリ5631、静的シナリオ・メモリ5632、ユーザイベント処理部5633、及びプログラム実行部5634は、図49に示されている2D再生装置内のものと同様である。従って、それらの詳細についての説明は上記の2D再生装置についての説明を援用する。
再生制御部5635は、3Dプレイリスト再生処理をプログラム実行部5634等から命じられたとき、静的シナリオ・メモリ5632に格納された3Dプレイリスト・ファイルからPIを順番に読み出してカレントPIとして設定する。再生制御部5635は、カレントPIを設定する度に、まず、そのSTNテーブルとその3Dプレイリスト・ファイル内のSTNテーブルSSとに従って、システム・ターゲット・デコーダ5623とプレーン加算部5624との動作条件を設定する。具体的には、再生制御部5635は復号対象のエレメンタリ・ストリームのPIDを選択して、そのエレメンタリ・ストリームの復号に必要な属性情報と共にシステム・ターゲット・デコーダ5623へ渡す。選択されたPIDの示すエレメンタリ・ストリームの中にPGストリーム又はIGストリームが含まれている場合、再生制御部5635は更に、それらのストリーム・データに割り当てられた参照オフセットID4401を特定して、プレーヤ変数記憶部5636内のSPRM(27)に設定する。また、再生制御部5635は、STNテーブルSSの示すポップアップ期間のオフセット4511に依ってカレントPIに対する再生モードを選択して、プレーヤ変数記憶部5636内のSPRM(33)に設定する。
次に、再生制御部5635はカレントPIに従い、図36の(e)の説明に示されている手順で、読み出し対象のエクステントSSが記録されたセクタ群のLBNの範囲をBD−ROMドライブ5601に指示する。一方、再生制御部5635は、静的シナリオ・メモリ5632に格納されたクリップ情報ファイル内のエクステント起点を利用して、各エクステントSS内のデータ・ブロックの境界を示す情報を生成する。以下、その情報を「データ・ブロック境界情報」と呼ぶ。データ・ブロック境界情報は、例えばそのエクステントSSの先頭から各境界までのソースパケット数を示す。再生制御部5635は更に、データ・ブロック境界情報をスイッチ5620へ渡す。
3D映像の再生中、例えばユーザがリモコン105のボタンを押下してポップアップ・メニューの表示を指示したとき、ユーザイベント処理部5633はその押下を検出してそのボタンを識別し、プログラム実行部5634にポップアップ・メニューの表示処理を依頼する。プログラム実行部5634は、その依頼に応じて、対応するプログラムを動的シナリオ・メモリ5631から読み出して実行する。プログラム実行部5634は更にそのプログラムに従って、再生制御部5635に対してSPRM(33)の更新を命令する一方、メニュー用のグラフィックス・データを生成してシステム・ターゲット・デコーダ5623へ転送する。再生制御部5635は、プログラム実行部5634からの命令又はユーザイベント処理部5633からの依頼に応じ、SPRM(33)に設定された再生モードの値を“3D”から“2D”へ更新する。再生制御部5635はまた、再生モードの更新をHDMI通信部4923に通知する。
プレーヤ変数記憶部5636は、2D再生装置内のもの4936と同様にSPRMを含む。しかし、図50とは異なり、SPRM(24)、SPRM(25)、SPRM(27)、及びSPRM(33)が、以下のようなデータを含む。SPRM(24)は、図48に示されている第1フラグを含み、SPRM(25)は第2フラグを含む。SPRM(24)が“0”であるときは再生装置102が2D映像の再生のみに対応可能であり、“1”であるときは3D映像の再生にも対応可能である。SPRM(25)が、“0”、“1”、“2”であるときはそれぞれ、再生装置102が、L/Rモード、デプス・モード、2D再生モードである。SPRM(27)は、各プレーン・データに割り当てられた参照オフセットID4401の格納領域を含む。具体的には、SPRM(27)は、四種類の参照オフセットIDを格納する領域を含む。それらの参照オフセットIDは、PGプレーンに対するもの(PG_ref_offset_id)、IGプレーンに対するもの(IG_ref_offset_id)、副映像プレーンに対するもの(SV_ref_offset_id)、及びイメージ・プレーンに対するもの(IM_ref_offset_id)である。SPRM(33)はパラメータ「再生ステータス」を含む。再生ステータスは、再生モードに加えて、映像データに関する再生部5602の出力モード(B−D表示モードとB−B表示モードとのいずれかであるか等)を表す。再生ステータスの示す値にはタイプA−Dの4種類がある。タイプA−D、再生モード、及び再生部5602の出力モードの間の関係については後述する。
BD−ROMドライブ5601は、図49に示されている2D再生装置内のもの4901と同様な構成要素を含む。BD−ROMドライブ5601は、再生制御部5635からLBNの範囲が指示されたとき、その範囲の示すBD−ROMディスク101上のセクタ群からデータを読み出す。特にファイルSSのエクステント、すなわちエクステントSSに属するソースパケット群は、BD−ROMドライブ5601からスイッチ5620へ転送される。ここで、各エクステントSSは、図25に示されているとおり、ベースビューとディペンデントビューとのデータ・ブロックの対を一つ以上含む。それらのデータ・ブロックは、RB15621とRB25622とへパラレルに転送されなければならない。従って、BD−ROMドライブ5601には2D再生装置内のBD−ROMドライブ4901以上のアクセス・スピードが求められる。
スイッチ5620は、BD−ROMドライブ5601からはエクステントSSを受信し、再生制御部5635からは、そのエクステントSSに関するデータ・ブロック境界情報を受信する。スイッチ5620は更に、そのデータ・ブロック境界情報を利用して、各エクステントSSからベースビュー・エクステントを抽出してRB15621へ送出し、ディペンデントビュー・エクステントを抽出してRB25622へ送出する。
RB15621とRB25622とはいずれも、再生部5602内のメモリ素子を利用したバッファ・メモリである。特に単一のメモリ素子内の異なる領域がRB15621、RB25622として利用される。その他に、異なるメモリ素子が個別にRB15621、RB25622として利用されてもよい。RB15621、RB25622はスイッチ5620からそれぞれ、ベースビュー・エクステント、ディペンデントビュー・エクステントを受信して格納する。
システム・ターゲット・デコーダ5623は、3Dプレイリスト再生処理において、まず再生制御部5635から、復号対象のストリーム・データのPIDと、その復号に必要な属性情報とを受信する。システム・ターゲット・デコーダ5623は次に、RB15621に格納されたベースビュー・エクステントと、RB25622に格納されたディペンデントビュー・エクステントとから交互にソースパケットを読み出す。システム・ターゲット・デコーダ5623は続いて、再生制御部5635から受信されたPIDの示すエレメンタリ・ストリームを各ソースパケットから分離して復号する。システム・ターゲット・デコーダ5623は更に、復号後のエレメンタリ・ストリームをその種類別に内蔵のプレーン・メモリに書き込む。ベースビュー・ビデオ・ストリームは左映像プレーン・メモリに書き込まれ、ディペンデントビュー・ビデオ・ストリームは右映像プレーン・メモリに書き込まれる。一方、セカンダリ・ビデオ・ストリームは副映像プレーン・メモリに書き込まれ、IGストリームはIGプレーン・メモリに書き込まれ、PGストリームはPGプレーン・メモリに書き込まれる。ここで、図13の(b)、(c)に示されているPGストリーム等のように、ビデオ・ストリーム以外のストリーム・データがベースビューとディペンデントビューとのストリーム・データの対から成るとき、そのストリーム・データに対応付けられるべきプレーン・メモリは、ベースビュー・プレーンとディペンデントビュー・プレーンとの両方に対して個別に用意される。システム・ターゲット・デコーダ5623はその他に、プログラム実行部5634からのグラフィックス・データ、例えばJPEG又はPNG等のラスタ・データに対してレンダリング処理を行ってイメージ・プレーン・メモリに書き込む。
システム・ターゲット・デコーダ5623は、プレーヤ変数記憶部5636内のSPRM(33)を参照し、それの示す再生ステータスの値に応じて、左映像プレーン・メモリと右映像プレーン・メモリとからのプレーン・データの出力モードを、B−D表示モードとB−B表示モードとのいずれかに設定する。具体的には、再生ステータスがB−D表示モードを示すとき、システム・ターゲット・デコーダ5623は左映像プレーン・メモリと右映像プレーン・メモリとから交互にプレーン・データを1/48秒間隔で1回ずつ送出する。一方、再生ステータスがB−B表示モードを示すとき、システム・ターゲット・デコーダ5623は、左映像プレーン・メモリと右映像プレーン・メモリとのいずれかからのみ、プレーン・データを1フレーム当たり2回ずつ、すなわち1/48秒間隔で2回ずつ送出する。
システム・ターゲット・デコーダ5623は更に、SPRM(33)の示す再生ステータスの値に応じて、グラフィックス・プレーン・メモリと副映像プレーン・メモリとからのプレーン・データの出力モードを、2プレーン・モード、1プレーン+オフセット・モード、及び1プレーン+ゼロ・オフセット・モードのいずれかに設定する。ここで、グラフィックス・プレーン・メモリは、PGプレーン・メモリ、IGプレーン・メモリ、及びイメージ・プレーン・メモリを含む。再生ステータスが2プレーン・モードを示すとき、システム・ターゲット・デコーダ5623は各プレーン・メモリからプレーン加算部5624へ、ベースビュー・プレーンとディペンデントビュー・プレーンとを交互に送出する。再生ステータスが1プレーン+オフセット・モードを示すとき、システム・ターゲット・デコーダ5623は各プレーン・メモリからプレーン加算部5624へ、2D映像を表すプレーン・データを送出する。それと並行して、システム・ターゲット・デコーダ5623は、ディペンデントビュー・ビデオ・ストリームから各ビデオ・シーケンスの先頭のVAUを読み出す度に、そのVAUからオフセット・メタデータ2110を読み出す。そのビデオ・シーケンスの再生区間では、システム・ターゲット・デコーダ5623はまず、各VAUと共に同じPESパケットに格納されたPTSと、そのVAUの圧縮ピクチャ・データの表すフレームの番号とを特定する。システム・ターゲット・デコーダ5623は次に、そのフレーム番号に対応付けられたオフセット情報をオフセット・メタデータから読み出して、特定されたPTSの示す時刻にプレーン加算部5624へ送出する。再生ステータスが1プレーン+ゼロ・オフセット・モードを示すとき、システム・ターゲット・デコーダ5623は各プレーン・メモリからプレーン加算部5624へ、2D映像を表すプレーン・データを送出する。それと並行して、システム・ターゲット・デコーダ5623は、オフセット値が“0”に設定されたオフセット情報をプレーン加算部5624へ送出する。
プレーン加算部5624は、システム・ターゲット・デコーダ5623から各種のプレーン・データを受信し、それらを互いに重畳して一つのプレーン・データ(フレーム又はフィールド)に合成する。特にL/Rモードでは、左映像プレーンはレフトビュー・ビデオ・プレーンを表し、右映像プレーンはライトビュー・ビデオ・プレーンを表す。従って、プレーン加算部5624は、左映像プレーンには、レフトビューを表す他のプレーン・データを重畳し、右映像プレーン・データには、ライトビューを表す他のプレーン・データを重畳する。一方、デプス・モードでは、右映像プレーンは、左映像プレーンの表す映像に対するデプスマップを表す。従って、プレーン加算部5624は、まず両方の映像プレーンからレフトビューとライトビューとのビデオ・プレーンの対を生成する。その後の合成処理は、L/Rモードでの合成処理と同様である。
プレーン加算部5624は、プレーヤ変数記憶部5636内のSPRM(33)を参照し、それの示す再生ステータスの値に応じて、副映像プレーン又はグラフィックス・プレーン(PGプレーン、IGプレーン、イメージ・プレーン)の各表示モードを選択する。具体的には、各プレーン・データについて再生ステータスが1プレーン+オフセット・モードを示すとき、そのプレーン・データに対してオフセット制御を次の手順で行う。プレーン加算部5624はまず、プレーヤ変数記憶部5636内のSPRM(27)から、そのプレーン・データに対する参照オフセットIDを読み出す。プレーン加算部5624は次に、システム・ターゲット・デコーダ5623から受け取ったオフセット情報を参照して、参照オフセットIDの示すオフセット・シーケンス2113に属するオフセット情報、すなわちオフセット方向2122とオフセット値2123との対を検索する。プレーン加算部5624はその後、検索されたオフセット値を利用して、対応するプレーン・データに対してオフセット制御を行う。それにより、プレーン加算部5624は、一つのプレーン・データからレフトビュー・プレーンとライトビュー・プレーンとの対を生成し、対応するビデオ・プレーンに合成する。再生ステータスが1プレーン+ゼロ・オフセット・モードを示すとき、プレーン加算部5624は、SPRM(27)を参照することなく、各プレーン・データに対するオフセット値を“0”に設定する。それにより、プレーン加算部5624は、各プレーン・データに対するオフセット制御を一時的に停止させる。従って、同じプレーン・データがレフトビュー・ビデオ・プレーンとライトビュー・ビデオ・プレーンとの両方に合成される。再生ステータスが2プレーン・モードを示すとき、プレーン加算部5624はシステム・ターゲット・デコーダ5623からベースビュー・プレーンとディペンデントビュー・プレーンとの対を受信する。ここで、L/Rモードでは、ベースビュー・プレーンはレフトビュー・プレーンを表し、ディペンデントビュー・プレーンはライトビュー・プレーンを表す。従って、プレーン加算部5624は、ベースビュー・プレーンを左映像プレーンに重畳し、ディペンデントビュー・プレーンを右映像プレーンに重畳する。一方、デプス・モードではディペンデントビュー・プレーンは、ベースビュー・プレーンの表す映像に対するデプスマップを表す。従って、プレーン加算部5624は、まずベースビュー・プレーンとディペンデントビュー・プレーンとの対からレフトビュー・プレーンとライトビュー・プレーンとの対を生成し、その後、ビデオ・プレーンとの合成処理を行う。
プレーン加算部5624はその他に、合成後のプレーン・データの出力形式を、表示装置103等、そのデータの出力先の装置による3D映像の表示方式に合わせて変換する。例えば出力先の装置が継時分離方式を利用するとき、プレーン加算部5624は合成後のプレーン・データを一つの映像プレーン(フレーム又はフィールド)として送出する。一方、出力先の装置がレンチキュラーレンズを利用するとき、プレーン加算部5624は内蔵のバッファ・メモリを利用して、レフトビュー・プレーンとライトビュー・プレーンとの対を一つの映像プレーンに合成して送出する。具体的には、プレーン加算部5624は、先に合成されたレフトビュー・プレーンを一旦、そのバッファ・メモリに格納して保持する。プレーン加算部5624は続いて、ライトビュー・プレーンを合成して、バッファ・メモリに保持されたレフトビュー・プレーンと更に合成する。その合成では、レフトビュー・プレーンとライトビュー・プレーンとがそれぞれ、縦方向に細長い短冊形の小領域に分割され、各小領域が一つのフレーム又はフィールドの中に横方向に交互に並べられて一つのフレーム又はフィールドに再構成される。こうして、レフトビュー・プレーンとライトビュー・プレーンとの対が一つの映像プレーンに合成される。
HDMI通信部5625は、プレーン加算部5624からは合成後の映像データを受信し、システム・ターゲット・デコーダ5623からは音声データを受信し、再生制御部5635からは制御データ、特に再生モードを受信する。HDMI通信部5625は更に、それらの受信データをHDMI方式のシリアル信号に変換し、HDMIケーブル122内のTMDSチャネルを通して表示装置103へ伝送する。HDMI通信部5625は特にそのシリアル信号を、図4に示されているフォーマットで生成する。そのとき、3D映像の1フレームを構成するレフトビュー・プレーンとライトビュー・プレーンとの対は、好ましくは図5の(a)に示されているフレーム・パッキング方式で伝送される。その他に、図5の(b)−(e)に示されているいずれの方式が採用されてもよい。HDMI通信部5625はまた、インフォ・フレーム内の3D構造401に、採用された伝送フォーマットを示す値を設定し、再生モード402に再生制御部5635から受信した値を設定する。表示装置103はそのインフォ・フレームから、3D構造401の示す伝送フォーマットを識別し、再生モード402の示す値を検出する。それらの情報を利用して、表示装置103は、図7−11のいずれかの(c)に示されているパターンで、HDMI通信部5625から受信したレフトビュー・フレームLとライトビュー・フレームRとの一方又は両方を表示する。それと並行して、図7−11の(d)に示されているように、表示装置103はシャッター眼鏡104に、フレームL、Rの切り換えと同期して左右のレンズを交互に透明にさせる。
HDMI通信部5625は上記の他に、HDMIケーブル122を通して表示装置103との間でCECメッセージを交換する。また、HDMI通信部5625は、ディスプレイ・データ・チャネルDDCを通してEDIDを表示装置103から読み出し、更に、表示装置103に対してHDCP認証を行って、3D映像の再生に対応可能か否かを表示装置103に問い合わせる。
<3D再生装置の再生動作>
図57は、3D再生装置5600の再生動作のフローチャートである。この動作は、再生装置102が、図48に示されている選択処理の結果、3D再生モードで起動することによって開始される。
ステップS5701では、3D再生装置5600はまず、BD−ROMドライブ5601によってBD−ROMディスク101からストリーム・データを読み出す。3D再生装置5600は次にスイッチ5620を利用して、そのストリーム・データからベースビュー・エクステントとディペンデントビュー・エクステントとを抽出し、それぞれ、RB15621、RB25622へ格納する。その後、処理はステップS5702へ進む。
ステップS5702では、3D再生装置5600は、システム・ターゲット・デコーダ5623によって、RB15621からはベースビュー・エクステントを読み出し、RB25622からはディペンデントビュー・エクステントを読み出す。3D再生装置5600は更に、各エクステントからエレメンタリ・ストリームを多重分離する。その後、処理はステップS5703へ進む。
ステップS5703では、3D再生装置5600は、システム・ターゲット・デコーダ5623によって各エレメンタリ・ストリームを復号する。特に、ベースビュー・エクステントとディペンデントビュー・エクステントとのそれぞれから復号されたプライマリ・ビデオ・ストリームは、ベースビュー・ビデオ・プレーンとディペンデントビュー・ビデオ・プレーンとに復号される。セカンダリ・ビデオ・ストリーム、IGストリーム、及びPGストリームはそれぞれ、副映像プレーン、IGプレーン、及びPGプレーンに復号される。更に、プライマリ・オーディオ・ストリームとセカンダリ・オーディオ・ストリームとがミキシングされる。その他に、プログラム実行部5634からのグラフィックス・データがイメージ・プレーンに変換される。その後、処理はステップS5704へ進む。
ステップS5704では、3D再生装置5600はまず、システム・ターゲット・デコーダ5623によって復号されたベースビュー・ビデオ・プレーンとディペンデントビュー・ビデオ・プレーンとの対を、プレーン加算部5624によってレフトビュー・プレーンとライトビュー・プレーンとの対に変換する。3D再生装置5600は次に、副映像プレーン、IGプレーン、PGプレーン、及びイメージ・プレーンを、プレーン加算部5624によってレフトビュー・プレーンとライトビュー・プレーンとのそれぞれに合成する。ここで、プレーン加算部5624は必要に応じて、副映像プレーン、IGプレーン、PGプレーン、又はイメージ・プレーンにオフセットを与えて、レフトビュー・プレーンとライトビュー・プレーンとの対に変換する。その後、処理はステップS5705へ進む。
ステップS5705では、3D再生装置5600は、プレーン加算部5624によって合成された映像プレーン、システム・ターゲット・デコーダ5623によってミキシングされた音声データ、及び再生制御部5635からの制御データを、HDMI通信部5625によってシリアル信号に変換し、HDMIケーブル122を通して表示装置103へ伝送する。特に再生モードが、図4に示されている垂直帰線区間VBLK内のインフォ・フレームによって伝送される。その後、処理はステップS5706へ進む。
ステップS5706では、3D再生装置5600は、RB15621に未処理のベースビュー・エクステントが残されているか否かをチェックする。残されているときは、処理がステップS5701から繰り返される。残されていないときは、処理が終了する。
<3Dプレイリスト再生処理>
図58は、再生制御部5635による3Dプレイリスト再生処理のフローチャートである。3Dプレイリスト再生処理は、再生制御部5635が静的シナリオ・メモリ5632から3Dプレイリスト・ファイルを読み出すことによって開始される。
ステップS5801では、再生制御部5635はまず、3Dプレイリスト・ファイル内のメインパスからPIを一つ読み出して、カレントのPIとして設定する。再生制御部5635は次に、カレントPIのSTNテーブルから再生対象のエレメンタリ・ストリームのPIDを選択し、かつ、それらの復号に必要な属性情報を特定する。再生制御部5635は更に、3Dプレイリスト・ファイル内のSTNテーブルSS4330のうち、カレントPIに対応する項目から、再生対象として追加されるべきエレメンタリ・ストリームのPIDを選択し、かつ、それらの復号に必要な属性情報を特定する。選択されたPIDと属性情報とはシステム・ターゲット・デコーダ5623に指示される。再生制御部5635はその他に、3Dプレイリスト・ファイル内のサブパスから、カレントPIと同時に参照されるべきSUB_PIを特定し、カレントのSUB_PIとして設定する。その後、処理はステップS5802へ進む。
ステップS5802では、再生制御部5635は、STNテーブルSSの示すポップアップ期間のオフセット4511に依ってカレントPIに対する再生モードを選択し、プレーヤ変数記憶部5636内のSPRM(33)に設定する。具体的には、ポップアップ期間のオフセットの値が“0”であるとき、再生モードとして“3D”が選択される。一方、ポップアップ期間のオフセットの値が“1”であるとき、再生モードとして“2D”が選択される。再生制御部5635はまた、ビデオ・プレーンの表示モードとしてB−D表示モードとB−B表示モードとのいずれかを選択し、グラフィックス・プレーンの表示モードとして、2プレーン・モード、1プレーン+オフセット・モード、又は1プレーン+ゼロ・オフセット・モードのいずれかを選択する。その後、処理はステップS5803へ進む。
ステップS5803では、グラフィックス・プレーンの表示モードとして1プレーン+オフセット・モードが選択されたか否かをチェックする。1プレーン+オフセット・モードが選択された場合、処理はステップS5804へ進む。一方、2プレーン・モード又は1プレーン+ゼロ・オフセット・モードが選択された場合、処理はステップS5805へ進む。
ステップS5804では、1プレーン+オフセット・モードが選択されているので、ディペンデントビュー・ビデオ・ストリームからオフセット情報が抽出されなければならない。従って、再生制御部5635はまず、カレントPIのSTNテーブルを参照して、選択されたPIDの示すエレメンタリ・ストリームの中からPGストリーム又はIGストリームを検出する。再生制御部5635は次に、それらのストリーム・データに割り当てられた参照オフセットIDを特定して、プレーヤ変数記憶部5636内のSPRM(27)に設定する。その後、処理はステップS5805へ進む。
ステップS5805では、再生制御部5635は、カレントのPIとSUB_PIとのそれぞれから、参照クリップ情報、再生開始時刻IN1を示すPTS#1、及び再生終了時刻OUT1を示すPTS#2を読み出す。その参照クリップ情報から、再生対象のファイル2DとファイルDEPとのそれぞれに対応するクリップ情報ファイルが特定される。その後、処理はステップS5806へ進む。
ステップS5806では、再生制御部5635は、ステップS5805で特定されたクリップ情報ファイルの各エントリ・マップを参照して、図46に示されているように、PTS#1、#2に対応するファイル2D内のSPN#1、#2とファイルDEP内のSPN#11、#12とを検索する。再生制御部5635は更に、各クリップ情報ファイルのエクステント起点を利用して、ファイルSSの先頭から再生開始位置までのソースパケット数SPN#21をSPN#1、#11から算定し、ファイルSSの先頭から再生終了位置までのソースパケット数SPN#22をSPN#2、#12から算定する。具体的には、再生制御部5635はまず、2Dクリップ情報ファイルのエクステント起点の示すSPNの中から、SPN#1以下で最大のもの“Am”を検索し、ディペンデントビュー・クリップ情報ファイルのエクステント起点の示すSPNの中から、SPN#11以下で最大のもの“Bm”を検索する。再生制御部5635は続いて、検索されたSPNの和Am+Bmを求めてSPN#21として決定する。再生制御部5635は次に、2Dクリップ情報ファイルのエクステント起点の示すSPNの中から、SPN#2よりも大きく、かつ最小のもの“An”を検索し、ディペンデントビュー・クリップ情報ファイルのエクステント起点の示すSPNの中から、SPN#12より大きく、かつ最小のもの“Bn”を検索する。再生制御部5635は更に、検索されたSPNの和An+Bnを求めてSPN#22として決定する。その後、処理はステップS5807へ進む。
ステップS5807では、再生制御部5635は、ステップS5806で決定されたSPN#21、#22をセクタ数の対N1、N2に変換する。具体的には、再生制御部5635はまず、SPN#21とソースパケット一つ当たりのデータ量192バイトとの積を求める。再生制御部5635は次に、その積をセクタ一つ当たりのデータ量2048バイトで割ったときの商SPN#21×192/2048を求める。この商は、ファイルSSの先頭から再生開始位置の直前までのセクタ数N1に等しい。同様に、再生制御部5635は、SPN#22から商SPN#22×192/2048を求める。この商は、ファイルSSの先頭から再生終了位置の直前までのセクタ数N2に等しい。その後、処理はステップS5808へ進む。
ステップS5808では、再生制御部5635は、ステップS5807で得られたセクタ数N1、N2のそれぞれから、再生対象のエクステントSS群の先端と後端とのLBNを特定する。具体的には、再生制御部5635は、再生対象のファイルSSのファイル・エントリを参照して、エクステントSS群が記録されたセクタ群の先頭から数えて(N1+1)番目のセクタのLBN=LBN#1と、(N2+1)番目のセクタのLBN=LBN#2とを特定する。再生制御部5635は更に、LBN#1からLBN#2までの範囲をBD−ROMドライブ5601に指定する。その結果、指定された範囲のセクタ群から、エクステントSS群に属するソースパケット群がアラインド・ユニット単位で読み出される。その後、処理はステップS5809へ進む。
ステップS5809では、再生制御部5635は、ステップS5806で利用されたクリップ情報ファイルのエクステント起点を再び利用して、エクステントSS群に関するデータ・ブロック境界情報を生成し、スイッチ5620へ送出する。具体的な例として、再生開始位置を示すSPN#21が、各エクステント起点の示すSPNの和An+Bnに等しく、再生終了位置を示すSPN#22が、各エクステント起点の示すSPNの和Am+Bmに等しいときを想定する。そのとき、再生制御部5635は、各エクステント起点から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)を求めて、データ・ブロック境界情報としてスイッチ5620へ送出する。図36の(e)に示されているとおり、この列は、エクステントSSに含まれる各データ・ブロックのソースパケット数を示す。スイッチ5620は、BD−ROMドライブ5601から受信されるエクステントSSのソースパケット数を0からカウントする。そのカウントが、データ・ブロック境界情報の示すSPNの差と一致する度に、スイッチ5620は、ソースパケットの送出先をRB15621とRB25622との間で切り換え、かつカウントを0にリセットする。その結果、エクステントSSの先頭から{B(n+1)−Bn}個のソースパケットは最初のディペンデントビュー・エクステントとしてRB25622へ送出され、続く{A(n+1)−An}個のソースパケットは最初のベースビュー・エクステントとしてRB15621へ送出される。以降も同様に、スイッチ5620によって受信されるソースパケットの数が、データ・ブロック境界情報の示すSPNの差と一致する度に、エクステントSSからディペンデントビューとベースビューとの各エクステントが交互に抽出される。その後、処理はステップS5810へ進む。
ステップS5810では、再生制御部5635は、メインパスに未処理のPIが残されているか否かをチェックする。残されているときは、処理がステップS5801から繰り返される。残されていないときは、処理が終了する。
<再生モードの更新>
図59は、再生制御部5635による再生モードの更新処理のフローチャートである。この処理は次の場合に開始される:3D映像の再生中、例えばユーザがリモコン105のボタンを押下してポップアップ・メニューの表示を指示する。そのとき、ユーザイベント処理部5633はその押下を検出してプログラム実行部5634にポップアップ・メニューの表示処理を依頼する。プログラム実行部5634は、その依頼に応じて、再生制御部5635にSPRM(33)の更新を命令する。ここで、SPRM(33)は再生モードとして“3D”を示す。
ステップS5901では、再生制御部5635は、プログラム実行部5634からの命令又はユーザイベント処理部5633からの依頼が、ポップアップ・メニューの表示を指示するものに相当するか否かを識別する。その結果が肯定的であれば、処理はステップS5902へ進み、否定的であれば、処理はステップS5903へ進む。
ステップS5902では、ポップアップ・メニューの表示が指示されている。従って、再生制御部5635は、SPRM(33)に再生モードとして“2D”を設定する。その後、処理はステップS5904へ進む。
ステップS5903では、ポップアップ・メニューの表示が指示されていない。その場合には特に、ポップアップ・メニューの消去が指示された場合が含まれる。従って、再生制御部5635は、SPRM(33)に再生モードとして“3D”を設定する。その後、処理はステップS5904へ進む。
ステップS5904では、再生制御部5635は、SPRM(33)の示す再生モードの値をHDMI通信部5623に通知する。HDMI通信部5625はその通知に応じ、新たな再生モードをインフォ・フレームに設定して表示装置103へ通知する。その後、処理は終了する。
<システム・ターゲット・デコーダ>
図60は、システム・ターゲット・デコーダ5623の機能ブロック図である。図60に示されている構成要素は、図53に示されている2D再生装置のもの5323とは次の二点で異なる:(1)リード・バッファから各デコーダへの入力系統が二重化されている点、並びに、(2)主映像デコーダは3D再生モードに対応可能であり、副映像デコーダ、PGデコーダ、及びIGデコーダは2プレーン・モードに対応可能である点。すなわち、それらの映像デコーダはいずれも、ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとを交互に復号できる。特に2プレーン・モードの各デコーダは、ベースビュー・プレーンを復号する部分と、ディペンデントビュー・プレーンを復号する部分とに分離されていてもよい。一方、主音声デコーダ、副音声デコーダ、音声ミキサ、イメージ・プロセッサ、及び各プレーン・メモリは、図53に示されている2D再生装置のものと同様である。従って、以下では、図60に示されている構成要素のうち、図53に示されているものとは異なるものについて説明し、同様なものの詳細についての説明は図53についての説明を援用する。更に、各映像デコーダはいずれも同様な構造を持つので、以下では主映像デコーダ6015の構造について説明する。同様な説明は他の映像デコーダの構造についても成立する。
第1ソース・デパケタイザ6011は、RB15621からソースパケットを読み出し、更にその中からTSパケットを抽出して第1PIDフィルタ6013へ送出する。第2ソース・デパケタイザ6012は、RB25622からソースパケットを読み出し、更にその中からTSパケットを抽出して第2PIDフィルタ6014へ送出する。各ソース・デパケタイザ6011、6012は更に、各TSパケットの送出時刻を、各ソースパケットのATSの示す時刻に合わせる。その同期方法は、図53に示されているソース・デパケタイザ5310による方法と同様である。従って、その詳細については、図53についての説明を援用する。そのような送出時刻の調節により、第1ソース・デパケタイザ6011から第1PIDフィルタ6013へのTSパケットの平均転送速度RTS1は、2Dクリップ情報ファイルの示すシステム・レートを超えない。同様に、第2ソース・デパケタイザ6012から第2PIDフィルタ6014へのTSパケットの平均転送速度RTS2は、ディペンデントビュー・クリップ情報ファイルの示すシステム・レートを超えない。
第1PIDフィルタ6013は、第1ソース・デパケタイザ6011からTSパケットを受信する度に、そのPIDを選択対象のPIDと比較する。その選択対象のPIDは再生制御部5635によって予め、3Dプレイリスト・ファイル内のSTNテーブルに従って指定されている。両方のPIDが一致したとき、第1PIDフィルタ6013はそのTSパケットを、そのPIDに割り当てられたデコーダへ転送する。例えば、PIDが0x1011であるとき、そのTSパケットは主映像デコーダ6015内のTB16001へ転送される。その他に、PIDが、0x1B00−0x1B1F、0x1100−0x111F、0x1A00−0x1A1F、0x1200−0x121F、及び0x1400−0x141Fの各範囲に属するとき、対応するTSパケットはそれぞれ、副映像デコーダ、主音声デコーダ、副音声デコーダ、PGデコーダ、及びIGデコーダへ転送される。
第2PIDフィルタ6014は、第2ソース・デパケタイザ6012からTSパケットを受信する度に、そのPIDを選択対象のPIDと比較する。その選択対象のPIDは、再生制御部5635によって予め、3Dプレイリスト・ファイル内のSTNテーブルSSに従って指定されている。両方のPIDが一致したとき、第2PIDフィルタ6014はそのTSパケットを、そのPIDに割り当てられたデコーダへ転送する。例えば、PIDが0x1012又は0x1013であるとき、そのTSパケットは主映像デコーダ6015内のTB26008へ転送される。その他に、PIDが、0x1B20−0x1B3F、0x1220−0x127F、及び0x1420−0x147Fの各範囲に属するとき、対応するTSパケットはそれぞれ、副映像デコーダ、PGデコーダ、及びIGデコーダへ転送される。
主映像デコーダ6015は、TB16001、MB16002、EB16003、TB26008、MB26009、EB26010、バッファ・スイッチ6006、DEC6004、DPB6005、及びピクチャ・スイッチ6007を含む。TB16001、MB16002、EB16003、TB26008、MB26009、EB26010、及びDPB6005はいずれもバッファ・メモリである。各バッファ・メモリは、主映像デコーダ6015に内蔵されたメモリ素子の一領域を利用する。その他に、それらのバッファ・メモリのいずれか又は全てが、異なるメモリ素子に分離されていてもよい。
TB16001は、ベースビュー・ビデオ・ストリームを含むTSパケットを第1PIDフィルタ6013から受信してそのまま蓄積する。MB16002は、TB16001に蓄積されたTSパケットからPESパケットを復元して蓄積する。そのとき、各TSパケットからTSヘッダが除去される。EB16003は、MB16002に蓄積されたPESパケットから、符号化されたVAUを抽出して蓄積する。そのとき、各PESパケットからPESヘッダが除去される。
TB26008は、ディペンデントビュー・ビデオ・ストリームを含むTSパケットを第2PIDフィルタ6014から受信してそのまま蓄積する。MB26009は、TB26008に蓄積されたTSパケットからPESパケットを復元して蓄積する。そのとき、各TSパケットからTSヘッダが除去される。EB26010は、MB26009に蓄積されたPESパケットから、符号化されたVAUを抽出して蓄積する。そのとき、各PESパケットからPESヘッダが除去される。
バッファ・スイッチ6006は、EB16003とEB26010とのそれぞれに蓄積されたVAUのヘッダをDEC6004からの要求に応じて転送する。バッファ・スイッチ6006は更に、そのVAUの圧縮ピクチャ・データを、元のTSパケットに含まれるDTSの示す時刻にDEC6004へ転送する。ここで、ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとの間では、同じ3D・VAUに属する一対のピクチャのDTSが等しい。従って、バッファ・スイッチ6006は、DTSの等しい一対のVAUのうち、EB16003に蓄積された方を先にDEC6004へ転送する。
DEC6004は、図53に示されているDEC5304と同様、圧縮ピクチャの復号処理に特化したハードウェア・デコーダであり、特にその復号処理のアクセラレータ機能を備えたLSIで構成されている。DEC6004は、バッファ・スイッチ6006から転送された圧縮ピクチャ・データを順次復号する。その復号処理では、DEC6004は予め、各VAUのヘッダを解析して、そのVAU内に格納された圧縮ピクチャの圧縮符号化方式とストリーム属性とを特定し、それらに応じて復号方法を選択する。ここで、その圧縮符号化方式は、例えば、MPEG−2、MPEG−4 AVC、及びVC1を含む。DEC6004は更に、復号された非圧縮のピクチャをDPB6005へ転送する。
DEC6004はその他に、ディペンデントビュー・ビデオ・ストリームから一つのビデオ・シーケンスの先頭のVAUを読み出す度に、そのVAUからオフセット・メタデータを読み出す。そのビデオ・シーケンスの再生区間では、DEC6004は、まず、そのVAUと共に一つのPESパケットに格納されたPTSと、そのVAUの圧縮ピクチャ・データの表すフレームの番号とを特定する。DEC6004は次に、そのフレーム番号に対応付けられたオフセット情報をオフセット・メタデータから読み出して、特定されたPTSの示す時刻にプレーン加算部5624へ送出する。
DPB6005は、復号された非圧縮のピクチャを一時的に保持する。DEC6004がPピクチャ及びBピクチャを復号するとき、DPB6005はDEC6004からの要求に応じて、保持されている非圧縮のピクチャの中から参照ピクチャを検索してDEC6004に提供する。
ピクチャ・スイッチ6007は、DPB6005から非圧縮の各ピクチャを、元のTSパケットに含まれるPTSの示す時刻に、左映像プレーン・メモリ6020と右映像プレーン・メモリ6021とのいずれかに書き込む。ここで、同じ3D・VAUに属するベースビュー・ピクチャとディペンデントビュー・ピクチャとではPTSが等しい。従って、ピクチャ・スイッチ6007は、DPB6005に保持された、PTSの等しい一対のピクチャのうち、ベースビュー・ピクチャを先に左映像プレーン・メモリ6020に書き込み、続いてディペンデントビュー・ピクチャを右映像プレーン・メモリ6021に書き込む。
<1プレーン+(ゼロ・)オフセット・モードのプレーン加算部>
図61は、1プレーン+オフセット・モード又は1プレーン+ゼロ・オフセット・モードのプレーン加算部5624の機能ブロック図である。図61を参照するに、プレーン加算部5624は、視差映像生成部6110、スイッチ6120、四つのクロッピング処理部6131−6134、及び四つの加算部6141−6144を含む。
視差映像生成部6110は、システム・ターゲット・デコーダ6123から左映像プレーン6101と右映像プレーン6102とを受信する。L/Rモードの再生装置102では、左映像プレーン6101はレフトビュー・ビデオ・プレーンを表し、右映像プレーン6102はライトビュー・ビデオ・プレーンを表す。L/Rモードの視差映像生成部6110は、受信された各ビデオ・プレーン6101、6102をそのままスイッチ6120へ送出する。一方、デプス・モードの再生装置102では、左映像プレーン6101は2D映像のビデオ・プレーンを表し、右映像プレーン6102はその2D映像に対するデプスマップを表す。デプス・モードの視差映像生成部6110は、まずそのデプスマップからその2D映像の各部の両眼視差を計算する。視差映像生成部6110は次に、左映像プレーン6101を加工して、ビデオ・プレーンにおけるその2D映像の各部の表示位置を、計算された両眼視差に依って左右に移動させる。それにより、レフトビュー・ビデオ・プレーンとライトビュー・ビデオ・プレーンとの対が生成される。視差映像生成部6110は更に、生成されたビデオ・プレーンの対を左映像プレーンと右映像プレーンとの対としてスイッチ6120へ送出する。
スイッチ6120は、プレーヤ変数記憶部5636内のSPRM(33)6152を参照し、それの示す再生ステータスの値に応じて、PTSの等しい左映像プレーン6101と右映像プレーン6102との一方又は両方を第1加算部6141へ送出する。具体的には、再生ステータスがB−D表示モードを示すとき、スイッチ6120は、左映像プレーン6101と右映像プレーン6102とをその順で第1加算部6141へ送出する。再生ステータスがB−B表示モードを示すとき、スイッチ6120は左映像プレーン6101を2回繰り返して第1加算部6141へ送出し、右映像プレーン6102を破棄する。
第1クロッピング処理部6131は、プレーヤ変数記憶部5636内のSPRM(33)6152を参照し、それの示す再生ステータスの値に応じて、副映像プレーン6103に対してオフセット制御を行う。具体的には、再生ステータスが1プレーン+オフセット・モードを示すとき、第1クロッピング処理部6131はまず、システム・ターゲット・デコーダ5623からオフセット情報6107を受信する。そのとき、第1クロッピング処理部6131は、プレーヤ変数記憶部5636内のSPRM(27)6151から副映像プレーンに対する参照オフセットIDを読み出す。第1クロッピング処理部6131は次に、その参照オフセットIDの示すオフセット・シーケンスに属するオフセット情報を、システム・ターゲット・デコーダ5623から受け取ったオフセット情報6107の中から検索する。第1クロッピング処理部6131は更に、検索されたオフセット情報を利用して、副映像プレーン6103に対してオフセット制御を行う。その結果、副映像プレーン6103は、レフトビューとライトビューとを表す一対のプレーン・データに変換される。更に、レフトビューとライトビューとの副映像プレーンは交互に第1加算部6141へ送出される。
ここで、SPRM(27)6151の値は一般に、カレントPIが切り換わる度に再生制御部5635によって更新される。その他に、プログラム実行部5634が、ムービーオブジェクト又はBD−Jオブジェクトに従ってSPRM(27)6151の値を設定してもよい。
同様に、第2クロッピング処理部6132は、PGプレーン6104をレフトビューとライトビューとのPGプレーンに変換する。それらのPGプレーンは交互に第2加算部6142へ送出される。第3クロッピング処理部6133は、IGプレーン6105をレフトビューとライトビューとのIGプレーンの対に変換する。それらのIGプレーンは交互に第3加算部6143へ送出される。第4クロッピング処理部6134は、イメージ・プレーン6106をレフトビューとライトビューとのイメージ・プレーンに変換する。それらのイメージ・プレーンは交互に第4加算部6144へ送出される。
一方、再生ステータスが1プレーン+ゼロ・オフセット・モードを示すとき、第1クロッピング処理部6131は、副映像プレーン6103に対するオフセット制御を行うことなく、副映像プレーン6103をそのまま、2回繰り返して第1加算部6141へ送出する。他のクロッピング処理部6132−6134についても同様である。
第1加算部6141は、スイッチ6120からはビデオ・プレーンを受信し、第1クロッピング処理部6131からは副映像プレーンを受信する。第1加算部6141はそのとき、受信されたビデオ・プレーンと副映像プレーンとを一組ずつ重畳して第2加算部6142へ渡す。第2加算部6142は、第2クロッピング処理部6132からPGプレーンを受信し、第1加算部6141から受信されたプレーン・データに重畳して第3加算部6143へ渡す。第3加算部6143は、第3クロッピング処理部6133からIGプレーンを受信し、第2加算部6142から受信されたプレーン・データに重畳して第4加算部6144へ渡す。第4加算部6144は、第4クロッピング処理部6134からイメージ・プレーンを受信し、第3加算部6143から受信されたプレーン・データに重畳してHDMI通信部6125へ送出する。ここで、各加算部6141−6144は、プレーン・データの重畳にα合成を利用する。こうして、左映像プレーン6101と右映像プレーン6102とのそれぞれに、副映像プレーン6103、PGプレーン6104、IGプレーン6105、及びイメージ・プレーン6106が、図61に矢印6100で示されている順序で重畳される。その結果、各プレーン・データの示す映像は表示装置103の画面上に、左映像プレーン又は右映像プレーン、副映像プレーン、IGプレーン、PGプレーン、及びイメージ・プレーンの順に重ねられて表示される。
≪オフセット制御のフローチャート≫
図62は、各クロッピング処理部6131−6134によるオフセット制御のフローチャートである。各クロッピング処理部6131−6134はシステム・ターゲット・デコーダ5623からオフセット情報6107を受信したときにオフセット制御を開始する。以下の説明では、第2クロッピング処理部6132がPGプレーン6104に対してオフセット制御を行う場合を想定する。他のクロッピング処理部6131、6133、6134はそれぞれ、副映像プレーン6103、IGプレーン6105、及びイメージ・プレーン6106に対して同様な処理を行う。
ステップS6201では、第2クロッピング処理部6132はまず、システム・ターゲット・デコーダ5623からPGプレーン6104を受信する。そのとき、第2クロッピング処理部6132はSPRM(27)6151から、PGプレーンに対する参照オフセットIDを読み出す。第2クロッピング処理部6131は次に、その参照オフセットIDの示すオフセット・シーケンスに属するオフセット情報を、システム・ターゲット・デコーダ5623から受け取ったオフセット情報6107の中から検索する。その後、処理はステップS6202へ進む。
ステップS6202では、第2クロッピング処理部6132は、スイッチ6120によって選択されたビデオ・プレーンがレフトビューとライトビューとのいずれを表すかをチェックする。ビデオ・プレーンがレフトビューを表すとき、処理はステップS6203へ進む。ビデオ・プレーンがライトビューを表すとき、処理はステップS6206へ進む。
ステップS6203では、第2クロッピング処理部6132は、検索されたオフセット方向の値をチェックする。ここで、次の場合を想定する:オフセット方向の値が“0”であるときは3Dグラフィックス映像の奥行きが画面よりも手前であり、オフセット方向の値が“1”であるときは奥である。オフセット方向の値が“0”であるとき、処理はステップS6204へ進む。オフセット方向の値が“1”であるとき、処理はステップS6205へ進む。
ステップS6204では、ビデオ・プレーンがレフトビューを表し、オフセット方向が画面よりも手前を表す。従って、第2クロッピング処理部6132はPGプレーン6104に右向きのオフセットを与える。すなわち、PGプレーン6104の含む各画素データの位置をオフセット値だけ右へ移動させる。その後、処理はステップS6209へ進む。
ステップS6205では、ビデオ・プレーンがレフトビューを表し、オフセット方向が画面よりも奥を表す。従って、第2クロッピング処理部6132はPGプレーン6104に左向きのオフセットを与える。すなわち、PGプレーン6104の含む各画素データの位置をオフセット値だけ左へ移動させる。その後、処理はステップS6209へ進む。
ステップS6206では、第2クロッピング処理部6132は、検索されたオフセット方向の値をチェックする。オフセット方向の値が“0”であるとき、処理はステップS6207へ進む。オフセット方向の値が“1”であるとき、処理はステップS6208へ進む。
ステップS6207では、ビデオ・プレーンがライトビューを表し、オフセット方向が画面よりも手前を表す。従って、第2クロッピング処理部6132はPGプレーン6104に左向きのオフセットを与える。すなわち、PGプレーン6104の含む各画素データの位置をオフセット値だけ左へ移動させる。その後、処理はステップS6209へ進む。
ステップS6208では、ビデオ・プレーンがライトビューを表し、オフセット方向が画面よりも奥を表す。従って、第2クロッピング処理部6132はPGプレーン6104に右向きのオフセットを与える。すなわち、PGプレーン6104の含む各画素データの位置をオフセット値だけ右へ移動させる。その後、処理はステップS6209へ進む。
ステップS6209では、第2クロッピング処理部6132は、処理後のPGプレーン6104を第3クロッピング処理部6134へ送出する。その後、処理は終了する。
≪オフセット制御によるプレーン・データの変化≫
図63の(b)は、第2クロッピング処理部6132によるオフセット制御で加工される前のPGプレーンGPを示す模式図である。図63の(b)を参照するに、PGプレーンGPは、字幕“I Love you”を表す画素データ群、すなわち字幕データSTLを含む。その字幕データSTLはPGプレーン・データGPの左端から第1距離D0に位置する。
図63の(a)は、右向きのオフセットが与えられたPGプレーンRGPを示す模式図である。図63の(a)を参照するに、第2クロッピング処理部6132は、PGプレーンGPに右向きのオフセットを与える場合、PGプレーンGP内の各画素データの位置を元の位置から、オフセット値に等しい画素数OFSだけ右へ移動させる。具体的には、第2クロッピング処理部6132はまず、クロッピング処理によってPGプレーンGPの右端から、オフセット値に等しい幅OFSの帯状領域AR1に含まれる画素データを除去する。第2クロッピング処理部6132は次に、PGプレーンGPの左端に画素データを付加して、幅OFSの帯状領域AL1を構成する。ここで、その領域AL1に含まれる画素データは透明に設定される。こうして、右向きのオフセットが与えられたPGプレーンRGPが得られる。実際、字幕データSTLはそのPGプレーンRGPの左端から第2距離DRに位置する。第2距離DRは、第1距離D0にオフセット値OFSを加えた値に等しい:DR=D0+OFS。
図63の(c)は、左向きのオフセットが与えられたPGプレーンLGPを示す模式図である。図63の(c)を参照するに、第2クロッピング処理部6132は、PGプレーンGPに左向きのオフセットを与える場合、PGプレーンGP内の各画素データの位置を元の位置から、オフセット値に等しい画素数OFSだけ左へ移動させる。具体的には、第2クロッピング処理部6132はまず、クロッピング処理によってPGプレーンGPの左端から、オフセット値に等しい幅OFSの帯状領域AL2に含まれる画素データを除去する。第2クロッピング処理部6132は次に、PGプレーンGPの右端に画素データを付加して、幅OFSの帯状領域AR2を構成する。ここで、その領域AR2に含まれる画素データは透明に設定される。こうして、左向きのオフセットが与えられたPGプレーンLGPが得られる。実際、字幕データSTLはそのPGプレーンLGPの左端から第3距離DLに位置する。第3距離DLは、第1距離D0からオフセット値OFSを除いた値に等しい:DL=D0−OFS。
<2プレーン・モードのプレーン加算部>
図64は、2プレーン・モードのプレーン加算部5624の部分的な機能ブロック図である。図64を参照するに、2プレーン・モードのプレーン加算部5624は、図61に示されている1プレーン+オフセット・モードのプレーン加算部5624と同様、視差映像生成部6110、スイッチ6120、第1加算部6141、第2加算部6142、及び第2クロッピング処理部6132を含む。図64には示されていないが、2プレーン・モードのプレーン加算部5624は更に、図61に示されている他のクロッピング処理部6131、6133、6134、及び他の加算部6143、6144を含む。それらに加え、2プレーン・モードのプレーン加算部5624は、PGプレーン6104、6105の入力部に、第2視差映像生成部6410と第2スイッチ6420とを含む。図64には示されていないが、同様な構成は、副映像プレーン、IGプレーン、及びイメージ・プレーンの各入力部にも含まれる。
第2視差映像生成部6410は、システム・ターゲット・デコーダ5623からレフトビューPGプレーン6404とライトビューPGプレーン6405とを受信する。L/Rモードの再生装置102では、レフトビューPGプレーン6404とライトビューPGプレーン6405とはそれぞれ、文字通り、レフトビューPGプレーンとライトビューPGプレーンとを表す。従って、第2視差映像生成部6410は各プレーン・データ6404、6405をそのまま第2スイッチ6120へ送出する。一方、デプス・モードの再生装置102では、レフトビューPGプレーン6404は2Dグラフィックス映像のPGプレーンを表し、ライトビューPGプレーン6405はその2Dグラフィックス映像に対するデプスマップを表す。従って、第2視差映像生成部6410は、まずそのデプスマップからその2Dグラフィックス映像の各部の両眼視差を計算する。第2視差映像生成部6410は、次にレフトビューPGプレーン6404を加工して、PGプレーンにおけるその2Dグラフィックス映像の各部の表示位置を、計算された両眼視差に依って左右に移動させる。それにより、レフトビューPGプレーンとライトビューPGプレーンとが生成される。第2視差映像生成部6410は更に、それらのPGプレーンを第2スイッチ6420へ送出する。
第2スイッチ6420は、プレーヤ変数記憶部5636内のSPRM(33)6152を参照し、それの示す再生ステータスの値に応じて、PTSの等しいレフトビューPGプレーン6404とライトビューPGプレーン6405との一方又は両方を第2クロッピング処理部6132へ送出する。具体的には、再生ステータスが2プレーン・モードを示すとき、第2スイッチ6420はレフトビューPGプレーン6404とライトビューPGプレーン6405とをその順で第2クロッピング処理部6132へ送出する。再生ステータスが1プレーン+ゼロ・オフセット・モードを示すとき、第2スイッチ6420はレフトビューPGプレーン6404を2回繰り返して第2クロッピング処理部6132へ送出し、ライトビューPGプレーン6405を破棄する。
第2クロッピング処理部6132は、各PGプレーン6404、6405をそのまま第2加算部6142へ送出する。第2加算部6142は、第1加算部6141から受信されたプレーン・データに各PGプレーン6404、6405を重畳して第3加算部6143へ渡す。その結果、左映像プレーン6101にはレフトビューPGプレーン6404が重畳され、右映像プレーン6102にはライトビューPGプレーン6405が重畳される。
2プレーン・モードの第2クロッピング処理部6132は、オフセット情報6107を利用してレフトビューPGプレーン6404に対してオフセット制御を行ってもよい。それは次の理由に因る。L/Rモードでは、サブTS内のレフトビューPGストリームに代えてメインTS内のPGストリーム(以下、2D・PGストリームと略す。)がレフトビューPGプレーンとして利用されてもよい。但し、2D・PGストリームの表す一つのグラフィックス映像は2D映像としても利用されるので、その表示位置は通常、一定に設定されている。一方、ライトビューPGストリームの表すグラフィックス映像の表示位置は、対応する3Dグラフィックス映像の奥行きが変化する際には、その変化に合わせて左右に移動するように設定されている。従って、3Dグラフィックス映像を左右に移動させることなくその奥行きだけを変化させるには、レフトビューとライトビューとのグラフィックス映像間の中心位置を一定に維持しなければならない。そこで、3Dグラフィックス映像を再生する際には、2D・PGストリームの表すグラフィックス映像にオフセットを与えて、その表示位置を左右へ移動させる。それにより、レフトビューとライトビューとのグラフィックス映像間の中心位置が一定に維持されるので、3Dグラフィックス映像が水平方向には移動しないように見える。こうして、2D・PGストリームをレフトビューPGストリームとして利用することで視聴者に違和感を与える危険性を回避することができる。
<再生ステータスの種類>
図65は、SPRM(33)の示す再生ステータスの種類別に、対応する再生モードの値、及び再生部5602から出力されるべきビデオ・プレーンとグラフィックス・プレーンとを示す表である。図65では、再生部5602が交互に出力する二種類のビデオ・プレーン、又は二種類のグラフィックス・プレーンの一方を「第1プレーン」と呼び、他方を「第2プレーン」と呼ぶ。図65を参照するに、再生ステータスの示す値にはタイプA−Dの4種類がある。まず、再生ステータスの種類を再生モードの値で区別した場合、タイプA、Bでは再生モードは“2D”を示し、タイプC、Dでは“3D”を示す。次に、再生ステータスの種類をビデオ・プレーンに対する再生部5602の出力モードで区別した場合、以下のとおりである:タイプA、Cでは、ビデオ・プレーンの第1プレーンは“L(レフトビュー・プレーン)”であり、第2プレーンは“R(ライトビュー・プレーン)”である。これは、再生部5602の出力モードがB−D表示モードであることを意味する。タイプB、Dでは、ビデオ・プレーンの第1プレーンと第2プレーンとはいずれも“L”である。これは、再生部5602の出力モードがB−B表示モードであることを意味する。続いて、再生ステータスの種類をグラフィックス・プレーンに対する再生部5602の出力モードで区別した場合、以下のとおりである:タイプA、Bでは、グラフィックス・プレーンの第1プレーンと第2プレーンとはいずれも“C(中心位置のプレーン、すなわちオフセットを与えられていないプレーン)”である。これは、再生部5602の出力モードが1プレーン+ゼロ・オフセット・モードであることを意味する。タイプC、Dでは、グラフィックス・プレーンの第1プレーンは“L(レフトビュー・プレーン)”であり、第2プレーンは“R(ライトビュー・プレーン)”である。これは、再生部5602の出力モードが2プレーン・モード又は1プレーン+オフセット・モードであることを意味する。
図66は、再生ステータスがタイプAであるときのプレーン加算部5624の部分的な機能ブロック図である。図66を参照するに、プレーン加算部5624は、図61に示されている1プレーン+オフセット・モードのプレーン加算部5624と同様、視差映像生成部6110、スイッチ6120、第1加算部6141、及び第2加算部6142を含む。図66には示されていないが、プレーン加算部5624は更に、図61に示されている他の加算部6143、6144を含む。図65に示されているとおり、タイプAではビデオ・プレーンに対する出力モードがB−D表示モードであるので、スイッチ6120は、視差映像生成部6110から受信されるレフトビュー・ビデオ・プレーンとライトビュー・ビデオ・プレーンとを交互に第1加算部6141へ送出する(図66に示されている矢印6601はその動作を表す)。一方、グラフィックス・プレーンに対する出力モードが1プレーン+ゼロ・オフセット・モードであるので、クロッピング処理部6131、6132、6133、6134は実質上プレーン・データに対する処理を行わない。従って、PGプレーン6104等のグラフィックス・プレーンはそのまま、各加算部6142へ送出される。
図67は、再生ステータスがタイプBであるときのプレーン加算部5624の部分的な機能ブロック図である。図67を参照するに、プレーン加算部5624は、図66に示されているものと同様、視差映像生成部6110、スイッチ6120、第1加算部6141、及び第2加算部6142を含む。図67には示されていないが、プレーン加算部5624は更に、図61に示されている他の加算部6143、6144を含む。図65に示されているとおり、タイプBではビデオ・プレーンに対する出力モードがB−B表示モードであるので、スイッチ6120は、視差映像生成部6110から受信されるレフトビュー・ビデオ・プレーンのみを第1加算部6141へ送出し、ライトビュー・ビデオ・プレーンを破棄する(図66に示されている実線6701及び破線6702はその動作を表す)。一方、グラフィックス・プレーンに対する出力モードが1プレーン+ゼロ・オフセット・モードであるので、クロッピング処理部6131、6132、6133、6134は実質上プレーン・データに対する処理を行わない。従って、PGプレーン6104等のグラフィックス・プレーンはそのまま、各加算部6142へ送出される。
図68は、再生ステータスがタイプCであるときのプレーン加算部5624の部分的な機能ブロック図である。図68を参照するに、プレーン加算部5624は、図66に示されているものと同様、視差映像生成部6110、スイッチ6120、第1加算部6141、第2加算部6142、及び第2クロッピング処理部6132を含む。図67には示されていないが、プレーン加算部5624は更に、図61に示されている他の加算部6143、6144、及び他のクロッピング処理部6131、6133、6134を含む。図65に示されているとおり、タイプCではビデオ・プレーンに対する出力モードがB−D表示モードであるので、スイッチ6120は、視差映像生成部6110から受信されるレフトビュー・ビデオ・プレーンとライトビュー・ビデオ・プレーンとを交互に第1加算部6141へ送出する(図68に示されている矢印6801はその動作を表す)。一方、グラフィックス・プレーンに対する出力モードが1プレーン+オフセット・モードである場合、第2クロッピング処理部6132はPGプレーン6104に水平方向のオフセットを与えて、レフトビューPGプレーンとライトビューPGプレーンとを交互に第2加算部6142へ送出する。
図69は、再生ステータスがタイプDであるときのプレーン加算部5624の部分的な機能ブロック図である。図69を参照するに、プレーン加算部5624は、図68に示されているものと同様、視差映像生成部6110、スイッチ6120、第1加算部6141、第2加算部6142、及び第2クロッピング処理部6132を含む。図69には示されていないが、プレーン加算部5624は更に、図61に示されている他の加算部6143、6144、及び他のクロッピング処理部6131、6133、6134を含む。図65に示されているとおり、タイプDではビデオ・プレーンに対する出力モードがB−B表示モードであるので、スイッチ6120は、視差映像生成部6110から受信されるレフトビュー・ビデオ・プレーンのみを第1加算部6141へ送出し、ライトビュー・ビデオ・プレーンを破棄する(図69に示されている実線6901及び破線6902はその動作を表す)。一方、グラフィックス・プレーンに対する出力モードが1プレーン+オフセット・モードである場合、第2クロッピング処理部6132はPGプレーン6104に水平方向のオフセットを与えて、レフトビューPGプレーンとライトビューPGプレーンとを交互に第2加算部6142へ送出する。
タイプC、Dにおいて、グラフィックス・プレーンに対する出力モードが2プレーン・モードである場合、プレーン加算部5624の部分的な機能ブロック図は、図68、69とは異なり、図64と同様である。すなわち、第2スイッチ6420は、第2視差映像生成部6410から受信されるレフトビューPGプレーンとライトビューPGプレーンとを交互に第2クロッピング処理部6132へ送出する。第2クロッピング処理部6132は、各PGプレーンをそのまま、又は、オフセット情報6107を利用してレフトビューPGプレーンに対しては水平方向のオフセットを与えて、第2加算部6142へ送出する。
<再生ステータスの変化に応じた映像の変化>
3D映像の再生期間P3Dでは、ビデオ・プレーンに対する出力モードはB−D表示モードであり、グラフィックス・プレーンに対する出力モードは2プレーン・モード又は1プレーン+オフセット・モードである。従って、再生ステータスはタイプCを示す。一方、3D映像の再生期間P3Dの途中に2D映像の再生期間P2Dが挿入される場合、その2D映像の再生期間P2Dにおける各プレーンに対する出力モードの組み合わせは、ユーザの操作又はアプリケーション・プログラムの指示に応じて様々に変更可能である。具体的には、例えば3D映像の再生中にポップアップ・メニューが表示される場合、その表示期間中にSPRM(33)の示すべき再生ステータスの値が、ユーザ又はアプリケーション・プログラムによってタイプA、B、Dから選択される。その選択には、再生装置102のOSD等が利用可能である。
図70の(a)−(f)はそれぞれ、2D映像の再生期間P2Dにおける再生ステータスがタイプAに選択された場合に、再生装置102から送出される再生モードとフレームL、R、Cとの変化、表示装置103によって表示されるフレームL、R、Cの変化、及び、シャッター眼鏡104が左右のレンズを透明にする期間LSL、LSRを示す模式図である。図70の(a)を参照するに、第1時刻T1までは3D映像の再生期間P3Dであって、再生ステータスはタイプCである。従って、再生装置102はB−D表示モードで、かつ2プレーン・モード又は1プレーン+オフセット・モードで動作する。すなわち、再生装置102は、図70の(c)、(d)に示されているように、レフトビュー・フレームLV+LGとライトビュー・フレームRV+RGとを交互に表示装置103へ送出する。ここで、レフトビュー・フレームLV+LGは、レフトビュー・ビデオ・プレーンLVにレフトビュー・グラフィックス・プレーンLGを合成したものであり、ライトビュー・フレームRV+RGは、ライトビュー・ビデオ・プレーンRVにライトビュー・グラフィックス・プレーンRGを合成したものである。一方、図70の(b)に示されているように、再生モードは“3D”に設定されている。従って、表示装置103は、図7の(e)に示されているように、レフトビュー・フレームLV+LGとライトビュー・フレームRV+RGとを交互に表示する。それと並行して、図70の(f)に示されているように、表示装置103はシャッター眼鏡104に、フレームLV+LG、RV+RGの切り換えと同期して左右のレンズを交互に透明にさせる。その結果、レフトビュー・フレームLV+LGとライトビュー・フレームRV+RGとはそれぞれ、視聴者の片目にしか見えないので、それら一対のフレームの示す2D映像はその視聴者には一つの3D映像として見える。
図70の(a)を更に参照するに、第1時刻T1では3D映像の再生期間P3Dが2D映像の再生期間P2Dへ移行する。具体的には、再生装置102が、ユーザの操作又はアプリケーション・プログラムの指示に応じて、SPRM(33)の示す再生ステータスをタイプCからタイプAへ変更する。それに応じて、再生装置102は、第1時刻T1以降、B−D表示モードを継続する一方で、1プレーン+ゼロ・オフセット・モードへ移行する。すなわち、第1時刻T1以降、図70の(c)、(d)に示されているように、中心位置のグラフィックス・プレーンCがレフトビュー・ビデオ・プレーンLVとライトビュー・ビデオ・プレーンRVとに交互に合成される。合成後のフレームは交互に表示装置103へ送出される。一方、図70の(b)に示されているように、第1時刻T1に再生モードは“3D”から“2D”へ変更される。表示装置103はインフォ・フレームから再生モードのその変更を検出し、図70の(e)に示されているように、受信したレフトビュー・フレームLV+Cのみを2回ずつ繰り返し表示する。それと並行して、図70の(f)に示されているように、表示装置103はシャッター眼鏡104に左右両方のレンズを透明に維持させる。その結果、視聴者のいずれの目にもレフトビュー・フレームLV+Cしか見えない。こうして、ビデオ・プレーンとグラフィックス・プレーンとのいずれの表す3D映像も第1時刻T1で2D映像に切り換えられる。
図70の(a)を再び参照するに、2D映像の再生期間P2Dは第1時刻T1から第2時刻T2まで継続され、第2時刻T2で3D映像の再生期間P3Dへ戻る。具体的には、再生装置102は、ユーザの操作又はアプリケーション・プログラムの指示に応じて、SPRM(33)の示す再生ステータスをタイプAからタイプCへ戻す。それに応じて、再生装置102は、第2時刻T2以降、B−D表示モードを継続する一方で、2プレーン・モード又は1プレーン+オフセット・モードへ戻る。すなわち、第2時刻T2以降、図70の(c)、(d)に示されているように、レフトビュー・フレーム(レフトビュー・ビデオ・プレーンLV+レフトビュー・グラフィックス・プレーンLG)とライトビュー・フレームRV+RG(ライトビュー・ビデオ・プレーンRV+ライトビュー・グラフィックス・プレーンRG)とを交互に表示装置103へ送出する。一方、図70の(b)に示されているように、第2時刻T2に再生モードは“2D”から“3D”へ戻る。表示装置103はインフォ・フレームから再生モードのその変更を検出し、図70の(e)に示されているように、レフトビュー・フレームLV+LGとライトビュー・フレームRV+RGとを交互に表示する。それと並行して、図70の(f)に示されているように、表示装置103はシャッター眼鏡104に、フレームLV+LG、RV+RGの切り換えと同期して左右のレンズを交互に透明にさせる。その結果、レフトビュー・フレームLV+LGとライトビュー・フレームRV+RGとの示す2D映像は再び、視聴者には一つの3D映像として見える。
図70から明らかに理解されるとおり、再生装置102は、3D映像を一旦2D映像へ切り換える際、ビデオ・プレーンに対してはB−D表示モードを維持したまま、グラフィックス・プレーンに対してはオフセット制御を中断すればよい。従って、その切り換え動作は迅速である。一方、表示装置103は、インフォ・フレーム内の再生モードの値に応じてライトビュー・フレームを表示するか否かを決めればよい。特にフレームレートは変更されなくてもよい。こうして、グラフィックス・プレーンの表す映像が3D映像に含まれていても、表示装置103は3D映像を2D映像へシームレスに切り換えることができる。
図71の(a)−(f)はそれぞれ、2D映像の再生期間P2Dにおける再生ステータスがタイプBに選択された場合に、再生装置102から送出される再生モードとフレームL、R、Cとの変化、表示装置103によって表示されるフレームL、R、Cの変化、及び、シャッター眼鏡104が左右のレンズを透明にする期間LSL、LSRを示す模式図である。図71の(a)を参照するに、第1時刻T1までは3D映像の再生期間P3Dであって、再生ステータスはタイプCである。従って、図71の(c)−(f)は図70の(c)−(f)と同様である。その結果、レフトビュー・フレームLV+LGとライトビュー・フレームRV+RGとの示す2D映像は、視聴者には一つの3D映像として見える。
図71の(a)を更に参照するに、第1時刻T1では3D映像の再生期間P3Dが2D映像の再生期間P2Dへ移行する。具体的には、再生装置102が、ユーザの操作又はアプリケーション・プログラムの指示に応じて、SPRM(33)の示す再生ステータスをタイプCからタイプBへ変更する。タイプBはタイプAとは、B−D表示モードがB−B表示モードへ変更されている点で異なる。従って、第1時刻T1以降、図71の(c)、(d)に示されているように、中心位置のグラフィックス・プレーンCはレフトビュー・ビデオ・プレーンLVにのみ合成される。合成後のフレームは2回ずつ表示装置103へ送出される。一方、表示装置103は再生モードの変更に応じて、図71の(e)に示されているように、2回繰り返して受信したレフトビュー・フレームLV+Cのうち、最初に受信した方のみを2回ずつ繰り返し表示する。それと並行して、図71の(f)に示されているように、表示装置103はシャッター眼鏡104に左右両方のレンズを透明に維持させる。その結果、視聴者のいずれの目にもレフトビュー・フレームLV+Cしか見えない。こうして、ビデオ・プレーンとグラフィックス・プレーンとのいずれの表す3D映像も第1時刻T1で2D映像に切り換えられる。
図71の(a)を再び参照するに、第2時刻T2で再生ステータスはタイプAからタイプCへ戻る。すなわち、第2時刻T2以降、図71の(c)−(f)は図70の(c)−(f)と同様である。その結果、レフトビュー・フレームLV+LGとライトビュー・フレームRV+RGとの示す2D映像は再び、視聴者には一つの3D映像として見える。
図71を図70と比較すれば明らかに理解されるとおり、再生装置102が3D映像を2D映像へ切り換える際にB−D表示モードをB−B表示モードへ切り換えたとしても、表示装置103は、その動作を特段に変更することなく、3D映像を2D映像へシームレスに切り換えることができる。
図72の(a)−(f)はそれぞれ、2D映像の再生期間P2Dにおける再生ステータスがタイプDに選択された場合に、再生装置102から送出される再生モードとフレームL、R、Cとの変化、表示装置103によって表示されるフレームL、R、Cの変化、及び、シャッター眼鏡104が左右のレンズを透明にする期間LSL、LSRを示す模式図である。図72の(a)を参照するに、第1時刻T1までは3D映像の再生期間P3Dであって、再生ステータスはタイプCである。従って、図72の(c)−(f)は図70の(c)−(f)と同様である。その結果、レフトビュー・フレームLV+LGとライトビュー・フレームRV+RGとの示す2D映像は、視聴者には一つの3D映像として見える。
図72の(a)を更に参照するに、第1時刻T1では3D映像の再生期間P3Dが2D映像の再生期間P2Dへ移行する。具体的には、再生装置102が、ユーザの操作又はアプリケーション・プログラムの指示に応じて、SPRM(33)の示す再生ステータスをタイプCからタイプDへ変更する。タイプDはタイプAとは、B−D表示モードがB−B表示モードへ変更されている点に加え、2プレーン・モード又は1プレーン+ゼロ・オフセット・モードが維持されている点で異なる。従って、第1時刻T1以降、図72の(c)、(d)に示されているように、レフトビュー・フレームLV+LGは、レフトビュー・ビデオ・プレーンLVにレフトビュー・グラフィックス・プレーンLGを合成したものであり、ライトビュー・フレームLV+RGは、レフトビュー・ビデオ・プレーンLVにライトビュー・グラフィックス・プレーンRGを合成したものである。合成後のフレームLV+LG、LV+RGは交互に表示装置103へ送出される。一方、再生モードの値は第1時刻T1以降も“3D”に維持されている。従って、表示装置103は、図72の(e)に示されているように、レフトビュー・フレームLV+LGとライトビュー・フレームLV+RGとを交互に表示する。それと並行して、図72の(f)に示されているように、表示装置103はシャッター眼鏡104に、フレームLV+LG、LV+RGの切り換えと同期して左右のレンズを交互に透明にさせる。その結果、視聴者には、レフトビュー・ビデオ・プレーンLVの表す2D映像しか見えない一方、レフトビュー・グラフィックス・プレーンLGとライトビュー・グラフィックス・プレーンRGとの表す2Dグラフィックス映像は一つの3Dグラフィックス映像として見える。こうして、第1時刻T1以降、IGプレーンの表すポップアップ・メニュー等、グラフィックス映像のみを3D映像として視聴者に見せることができる。
図72の(a)を再び参照するに、第2時刻T2で再生ステータスはタイプDからタイプCへ戻る。すなわち、第2時刻T2以降、図72の(c)−(f)は図70の(c)−(f)と同様である。その結果、ビデオ・プレーンとグラフィックス・プレーンとのいずれの示す2D映像も再び、視聴者には3D映像として見える。
以上のとおり、再生装置102がB−D表示モードをB−B表示モードへ切り換える際に、グラフィックス映像のみを3D映像に維持したとしても、表示装置103は、その動作を特段に変更することなく、3D映像を2D映像へシームレスに切り換えることができる。
<変形例>
(1−E)本発明の実施形態1では、再生ステータスは、ユーザの操作又はアプリケーション・プログラムの指示に応じて設定される。その他に、再生ステータスは、図43に示されているような3Dプレイリスト・ファイルの中に、各PIの属性の一つとして設定されていてもよい。その場合、3Dプレイリスト再生処理では、再生制御部5635がカレントのPIから再生ステータスを解読して、再生モードと再生部5602の出力モードとを決定する。また、再生ステータスは、図14に示されているように、ストリーム・データに格納されていてもよい。その格納先としては、例えば、図24に示されているPMT内のディスクリプタ、又は、図18に示されているVAU内の補足データ若しくはヘッダが利用可能である。ここで、再生ステータスは一般に、GOP単位等、ある程度長い表示期間を一つの単位として設定される。従って、再生ステータスを補足データに格納する場合、その補足データを各GOPの先頭にのみ配置するようにしてもよい。それにより、再生ステータスを表すデータの総量を削減することができる。
(1−F)本発明の実施形態1では、再生装置102がリモコン105等を通してユーザの操作又はアプリケーション・プログラムの指示を直に受け付けて、それに応じて再生ステータスを決定する。その他に、表示装置103がリモコン105等を通してユーザの操作又はアプリケーション・プログラムの指示を直に受け付けて、それに応じて再生ステータスの変更命令をHDMI方式のCECメッセージで再生装置102へ伝送してもよい。その場合、再生装置102はその変更命令に応じて再生ステータスを変更する。
(1−G)図1では、再生装置102と表示装置103とがそれぞれ、独立した装置である。その他に、再生装置102が表示装置103と一体化されていてもよい。また、図2に示されているとおり、表示装置103は、BD−ROMディスク101の他に、メモリカード201、外部ネットワーク202、及び放送波203等の各種媒体から3D映像のストリーム・データを取得してもよい。その場合、表示装置103の受信部210は、各種媒体に適したインターフェースを含む。表示装置103は特に、図56に示されている3D再生装置の再生部5602と同様な構成を備えており、各種媒体から取得したストリーム・データを、レフトビュー・フレーム、ライトビュー・フレーム等に復号する。
(1−H)本発明の実施形態による表示装置103は、再生装置102によってBD−ROMディスク101から読み出されたストリーム・データに従って3D映像を再現する。その他に、図2に示されているように、表示装置103は、外部ネットワーク202又は放送波203で伝送されるストリーム・データに従って3D映像を再現してもよい。その場合、そのストリーム・データは以下のような送信装置で発信される。
図73は、送信装置7300の機能ブロック図である。図73を参照するに、送信装置7300はフォーマット変換部7301と送信部7302とを含む。フォーマット変換部7301は、外部からストリーム・データSTDを受信して所定の送信形式に変換する。ストリーム・データSTDは、図13−21に示されている実施形態1によるデータ構造を持つ。送信部7302は、フォーマット変換部7301によって変換されたストリーム・データを、アンテナから放送波203で送信し、又は、インターネット等の外部ネットワーク202を通して配信する。
(1−I)本発明の実施形態によるL/Rモードでは、ベースビュー・ビデオ・ストリームがレフトビューを表し、ディペンデントビュー・ビデオ・ストリームがライトビューを表す。逆に、ベースビュー・ビデオ・ストリームがライトビューを表し、ディペンデントビュー・ビデオ・ストリームがレフトビューを表してもよい。本発明の実施形態によるBD−ROMディスク101では、ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとは、異なるTSに多重化されている。その他に、ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとが一つのTSに多重化されていてもよい。
(1−J)図21に示されているオフセット・メタデータは、ディペンデントビュー・ビデオ・ストリームに格納されている。その他に、オフセット・メタデータはベースビュー・ビデオ・ストリームに格納されてもよい。その場合でも、オフセット・メタデータは好ましくは、各ビデオ・シーケンスの先頭に位置するVAU内の補足データに格納される。更に、3Dプレイリスト・ファイルは、ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとのいずれがオフセット・メタデータを含むかを示すフラグを備えていてもよい。それにより、各ストリーム・データの作成の自由度を向上させることができる。オフセット・メタデータは、各ビデオ・シーケンス(すなわち、各GOP)の先頭だけでなく、各VAU(すなわち、各フレーム又はフィールド)に格納されてもよい。その他に、コンテンツごとに、オフセット・メタデータの間隔が任意の値に、例えば3フレーム以上に設定されてもよい。その場合、好ましくは、各ビデオ・シーケンスの先頭のVAUには必ずオフセット・メタデータが格納され、かつ、その直前のオフセット・メタデータとの間隔が3フレーム以上であるように制限される。それにより、再生装置にオフセット情報の変更処理を飛び込み再生処理と確実に並行させることができる。
オフセット・メタデータは、ビデオ・ストリームに格納されるのに代えて、独立なストリーム・データとしてメインTS又はサブTSに多重化されてもよい。その場合、オフセット・メタデータには固有のPIDが割り当てられる。システム・ターゲット・デコーダはそのPIDを利用して、オフセット・メタデータを他のストリーム・データから分離する。その他に、オフセット・メタデータは、まず専用のバッファ・メモリにプリロードされ、その後、再生処理を受けてもよい。その場合、オフセット・メタデータは一定のフレーム間隔で格納される。それにより、オフセット・メタデータについてはPTSが不要であるので、PESヘッダのデータ量が削減される。その結果、プリロード用のバッファの容量を節約することができる。尚、オフセット・メタデータはプレイリスト・ファイルに格納されてもよい。
(1−K)BD−ROMディスク101上には、図23に示されているように、ベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとがインターリーブ配置で記録されている。隣接する二つのデータ・ブロックでは一般に、エクステントATC時間が等しい。それら二つのデータ・ブロック、すなわちエクステント・ペアでは更に、再生期間が一致し、かつビデオ・ストリームの再生時間が等しくてもよい。言い換えれば、エクステント・ペア間ではVAUの数が等しくてもよい。その意義は次のとおりである。
図74の(a)は、隣接するベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとの間でエクステントATC時間が異なり、かつビデオ・ストリームの再生時間が異なるときの再生経路を示す模式図である。図74の(a)を参照するに、先頭のベースビュー・データ・ブロックB[0]の再生時間は4秒間であり、先頭のディペンデントビュー・データ・ブロックD[0]の再生時間は1秒間である。ここで、ディペンデントビュー・データ・ブロックD[0]の復号に必要なベースビュー・ビデオ・ストリームの部分はそのディペンデントビュー・データ・ブロックD[0]と同じ再生時間を持つ。従って、再生装置内のリード・バッファの容量を節約するには、図74の(a)に矢印ARW1で示されているように、再生装置にベースビュー・データ・ブロックB[0]とディペンデントビュー・データ・ブロックD[0]とを交互に同じ再生時間ずつ、例えば1秒間ずつ読み込ませることが好ましい。しかし、その場合、図74の(a)に破線で示されているように、読み出し処理の途中でジャンプが生じる。その結果、読み出し処理を復号処理に間に合わせることが難しいので、シームレス再生を確実に持続することが難しい。
図74の(b)は、隣接するベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとの間でビデオ・ストリームの再生時間が等しいときの再生経路を示す模式図である。図74の(b)に示されているように、隣接する二つのデータ・ブロックの間でビデオ・ストリームの再生時間が等しくてもよい。例えば、先頭のデータ・ブロック対B[0]、D[0]ではビデオ・ストリームの再生時間が共に1秒に等しく、二番目のデータ・ブロック対B[1]、D[1]ではビデオ・ストリームの再生時間が共に0.7秒に等しい。その場合、3D再生モードの再生装置は、図74の(b)に矢印ARW2で示されているように、データ・ブロックB[0]、D[0]、B[1]、D[1]、…を先頭から順番に読み出す。それだけで、再生装置はメインTSとサブTSとを交互に同じ再生時間ずつ読み出すことをスムーズに実現できる。特にその読み出し処理ではジャンプが生じないので、3D映像のシームレス再生が確実に持続可能である。
実際には、隣接するベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとの間でエクステントATC時間が等しければ、読み出し処理にジャンプを生じさせることなく、復号処理の同期を維持することはできる。従って、再生期間又はビデオ・ストリームの再生時間が等しくなくても、図74の(b)に示されている場合と同様に、再生装置はデータ・ブロック群を先頭から順番に読み出すだけで、3D映像のシームレス再生を確実に持続できる。
エクステント・ペア間では、VAUのいずれかのヘッダの数、又はPESヘッダの数が等しくてもよい。エクステント・ペア間での復号処理の同期には、それらのヘッダが利用される。従って、エクステント・ペア間でヘッダの数が等しければ、VAUそのものの数が等しくなくても、復号処理の同期を維持することは比較的容易である。更に、VAUそのものの数が等しい場合とは異なり、VAUのデータが全て同じデータ・ブロック内に多重化されていなくてもよい。それ故、BD−ROMディスク101のオーサリング工程において、ストリーム・データの多重化の自由度が高い。
エクステント・ペア間では、エントリ・ポイントの数が等しくてもよい。すなわち、ファイル・ベースとファイルDEPとでは、先頭から同じ順序のエクステントEXT1[k]、EXT2[k]が同じ数のエントリ・ポイントを含むように設定されていてもよい。2D再生モードと3D再生モードとではジャンプの有無は異なる。しかし、エクステント・ペア間でエントリ・ポイントの数が等しいとき、再生時間も実質的に等しい。従って、ジャンプの有無にかかわらず、復号処理の同期を維持することは容易である。更に、VAUそのものの数が等しい場合とは異なり、VAUのデータの全てが同じデータ・ブロック内に多重化されていなくてもよい。それ故、BD−ROMディスク101のオーサリング工程において、ストリーム・データの多重化の自由度が高い。
(1−L)3D映像を表すAVストリーム・ファイルでは、図24に示されているPMT2410に3Dディスクリプタが追加されてもよい。「3Dディスクリプタ」は、3D映像の再生方式に関してAVストリーム・ファイル全体に共通する情報であり、特に3D方式情報を含む。「3D方式情報」は、L/Rモード又はデプス・モード等、3D映像のAVストリーム・ファイルの再生方式を示す。更に、PMT2410の含む各ストリーム情報2403に3Dストリーム・ディスクリプタが追加されてもよい。「3Dストリーム・ディスクリプタ」は、AVストリーム・ファイルに含まれるエレメンタリ・ストリーム別に、3D映像の再生方式に関する情報を示す。特にビデオ・ストリームの3Dストリーム・ディスクリプタは3D表示タイプを含む。「3D表示タイプ」は、そのビデオ・ストリームから映像をL/Rモードで再生するとき、その映像がレフトビューとライトビューとのいずれであるのかを示す。3D表示タイプはまた、そのビデオ・ストリームから映像をデプス・モードで再生するとき、その映像が2D映像とデプスマップとのいずれであるのかを示す。このように、PMT2410が3D映像の再生方式に関する情報を含むとき、その映像の再生系統はAVストリーム・ファイルだけからでもその情報を取得できる。従って、そのようなデータ構造は、例えば放送波で3D映像コンテンツを頒布するときに有効である。
(1−M)ディペンデントビュー・クリップ情報ファイルは、ディペンデントビュー・ビデオ・ストリームのPID=0x1012、0x1013に割り当てられているビデオ・ストリーム属性情報に所定のフラグを含んでもよい。そのフラグがオンであるときは、ディペンデントビュー・ビデオ・ストリームがベースビュー・ビデオ・ストリームを参照するものであることを示す。そのビデオ・ストリーム属性情報が更に、参照先のベースビュー・ビデオ・ストリームに関する情報を含んでもよい。その情報は、3D映像コンテンツが規定のフォーマットどおりに作成されているか否かを所定のツールで検証するときに、ビデオ・ストリーム間の対応関係を確認するのに利用することができる。
本発明の実施形態1では、クリップ情報ファイルに含まれるエクステント起点からベースビュー・エクステントとディペンデントビュー・エクステントとの各サイズを算出することができる。その他に、各エクステントのサイズの一覧表が、例えばクリップ情報ファイルにメタデータの一部として格納されてもよい。
(1−N)図43に示されている3Dプレイリスト・ファイル1222はサブパス4302を一つ含む。その他に、3Dプレイリスト・ファイルがサブパスを複数含んでもよい。例えば、一方のサブパスのサブパス・タイプが「3D・L/R」であり、他方のサブパスのサブパス・タイプが「3D・デプス」であってもよい。その3Dプレイリスト・ファイルに従って3D映像が再生されるとき、再生対象のサブパスがそれら二種類のサブパスの間で切り換えられることにより、再生装置102をL/Rモードとデプス・モードとの間で容易に切り換えさせることができる。特にその切り換え処理は、3Dプレイリスト・ファイルそのものを切り換える処理よりも速やかに実現可能である。
3Dプレイリスト・ファイルは、サブパス・タイプの等しいサブパスを複数含んでいてもよい。例えば、同じシーンに対する両眼視差の異なる3D映像が共通のレフトビューに対するライトビューの違いで表現されるとき、異なるライトビューを表す複数のファイルDEPがBD−ROMディスク101に記録される。その場合、3Dプレイリスト・ファイルは、サブパス・タイプが「3D・L/R」であるサブパスを複数含む。それらのサブパスは、異なるファイルDEPの再生経路を個別に規定する。その3Dプレイリスト・ファイルに従って3D映像が再生されるとき、再生対象のサブパスが例えばユーザの操作に応じて速やかに切り換えられるので、3D映像を実質的に途切れさせることなく、その両眼視差を変化させることができる。それにより、ユーザに所望の両眼視差の3D映像を容易に選択させることができる。
図43に示されている3Dプレイリスト・ファイル1222では、ベースビュー・ビデオ・ストリームはメインパス4301内のSTNテーブルに登録され、ディペンデントビュー・ビデオ・ストリームは拡張データ4303内のSTNテーブルSS4330に登録されている。その他に、ディペンデントビュー・ビデオ・ストリームはSTNテーブルに登録されていてもよい。その場合、STNテーブルは、登録されたビデオ・ストリームがベースビューとディペンデントビューとのいずれを表すものであるかを示すフラグを含んでもよい。
本発明の実施形態1によるBD−ROMディスク101には、2Dプレイリスト・ファイルと3Dプレイリスト・ファイルとが別々に記録されている。その他に、図43に示されているサブパス4302が、拡張データ4303と同様に、3D再生モードの再生装置102によってのみ参照される領域に記録されてもよい。その場合、サブパス4302が2D再生モードの再生装置102を誤動作させる危険性はないので、3Dプレイリスト・ファイルをそのまま、2Dプレイリスト・ファイルとして利用することができる。その結果、BD−ROMディスクのオーサリングが簡単化される。
(1−O)図47に示されているインデックス・ファイル1211は、タイトル全体で共通する3D存在フラグ4720と2D/3Dお好みフラグ4730とを含む。その他に、インデックス・ファイルが、タイトル別に異なる3D存在フラグ又は2D/3Dお好みフラグを設定していてもよい。
(1−P)3D再生装置では、SPRM(13)にパレンタル・レベルが設定されているのに加えて、SPRM(30)に3Dパレンタル・レベルが設定されていてもよい。3Dパレンタル・レベルは、3D再生装置を利用する視聴者のうち、3D映像の視聴が許可される者の年齢の下限を示し、BD−ROMディスク101に記録された3D映像タイトルの視聴に対するパレンタル制御に利用される。SPRM(13)の値と同様、SPRM(30)の値は3D再生装置のユーザによって3D再生装置のOSD等を利用して設定される。3D再生装置は各3D映像タイトルに対するパレンタル制御を例えば次のように行う。3D再生装置はまず、2D映像の視聴に対する制限年齢をBD−ROMディスク101から読み出してSPRM(13)の値と比較する。その制限年齢は、そのタイトルを2D再生モードで視聴することが許可された視聴者の年齢の下限を表す。その制限年齢がSPRM(13)の値を超えていれば、3D再生装置はそのタイトルの再生を停止する。その下限がSPRM(13)の値以下であれば、3D再生装置は続いて、3D映像の視聴に対する制限年齢をBD−ROMディスク101から読み出してSPRM(30)の値と比較する。その制限年齢は、そのタイトルを3D再生モードで視聴することが許可された視聴者の年齢の下限を表す。その制限年齢がSPRM(30)の値以下であれば、3D再生装置はそのタイトルを3D再生モードで再生する。その制限年齢がSPRM(30)の値を超えていれば、3D再生装置はそのタイトルを2D再生モードで再生する。こうして、年齢による瞳孔間距離の相違を考慮して、「一定の年齢未満の子供には3D映像を2D映像としてしか見せない」等のパレンタル制御を実現することができる。このパレンタル制御は、好ましくは、図46に示されている再生対象のプレイリスト・ファイルを選択する処理において「表示装置が3D映像に対応している」と判定されたときに、すなわち、ステップS4805において「Yes」と判定されたときに行われる。尚、SPRM(30)には、制限年齢に代えて、3D再生モードの許可/禁止を示す値が設定され、3D再生装置はその値に従って3D再生モードの有効/無効を判断してもよい。
(1−Q)3D再生装置では、「2D再生モードと3D再生モードとのいずれが優先されるべきか」を示す値がSPRM(31)に設定されていてもよい。SPRM(31)の値は、3D再生装置のユーザによって3D再生装置のOSD等を利用して設定される。3D再生装置は、図48に示されているプレイリスト・ファイルの選択処理のうち、ステップS4803で2D/3Dお好みフラグと共にSPRM(31)を参照する。それらがいずれも2D再生モードを示しているときは、3D再生装置は2D再生モードを選択する。2D/3Dお好みフラグとSPRM(31)とがいずれも3D再生モードを示しているときは、3D再生装置は、再生モードの選択画面を表示することなく、ステップS4805、すなわちHDCP認証を行う。その結果、表示装置が3D映像の再生に対応可能であれば、3D再生装置は3D再生モードを選択する。2D/3Dお好みフラグとSPRM(31)とが異なる再生モードを示しているときは、3D再生装置はステップS4804を実行し、すなわち再生モードの選択画面を表示してユーザに再生モードを選択させる。その他に、アプリケーション・プログラムに再生モードを選択させてもよい。こうして、3D映像コンテンツに2D/3Dお好みフラグが設定されていても、その値の示す再生モードが、SPRM(31)の示す再生モード、すなわち、ユーザが予め設定した再生モードと一致しないときにのみ、ユーザに改めて再生モードを選択させるようにすることができる。
BD−Jオブジェクト等のアプリケーション・プログラムは、SPRM(31)を参照して再生モードを選択してもよい。更に、ステップS4804においてユーザに再生モードを選択させる際、選択画面に表示されるメニューの初期状態が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お好みフラグの値にかかわらず、再生モードの選択画面を表示することなくHDCP認証を行う。その場合、SPRM(25)の値は3D再生モード(L/Rモード又はデプス・モード)を示すように設定される。こうして、3D映像コンテンツに2D/3Dお好みフラグが設定されていても、ユーザの予め設定した再生モードが常に優先されるようにすることができる。
《実施形態2》
以下、本発明の実施形態2として、本発明の実施形態1による記録媒体の記録装置及び記録方法について説明する。その記録装置は、いわゆるオーサリング装置と呼ばれるものである。オーサリング装置は通常、頒布用の映画コンテンツの制作スタジオに設置され、オーサリング・スタッフによって使用される。記録装置はオーサリング・スタッフの操作に従い、まず映画コンテンツを所定の圧縮符号化方式でAVストリーム・ファイルに変換する。記録装置は次にシナリオを生成する。「シナリオ」は、映画コンテンツに含まれる各タイトルの再生方法を規定した情報であり、具体的には、動的シナリオ情報と静的シナリオ情報とを含む。記録装置は続いて、AVストリーム・ファイル及びシナリオからBD−ROMディスク用のボリューム・イメージを生成する。記録装置は最後に、そのボリューム・イメージを記録媒体に記録する。
図75は、その記録装置7500の機能ブロック図である。図75を参照するに、その記録装置7500は、データベース部7501、ビデオ・エンコーダ7502、素材制作部7503、シナリオ生成部7504、BDプログラム制作部7505、多重化処理部7506、及びフォーマット処理部7507を含む。
データベース部7501は記録装置に内蔵の不揮発性記憶装置であり、特にHDDである。データベース部7501はその他に、記録装置に外付けされたHDDであってもよく、記録装置に内蔵の、又は外付けされた不揮発性半導体メモリ装置であってもよい。
ビデオ・エンコーダ7502は、非圧縮のビットマップ・データ等の映像データをオーサリング・スタッフから受け付けて、MPEG−4 AVC、MVC、又はMPEG−2等の圧縮符号化方式で圧縮する。それにより、主映像のデータはプライマリ・ビデオ・ストリームに変換され、副映像のデータはセカンダリ・ビデオ・ストリームに変換される。特に3D映像のデータは、MVC等の多視点符号化方式を利用して、図17に示されているようなベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとの対に変換される。すなわち、レフトビューを表すビデオ・フレームの列は、それ自身のピクチャ間での予測符号化によって、ベースビュー・ビデオ・ストリームに変換される。一方、ライトビューを表すビデオ・フレームの列は、それ自身のピクチャだけでなく、ベースビュー・ピクチャとの間の予測符号化によって、ディペンデントビュー・ビデオ・ストリームに変換される。尚、ライトビューを表すビデオ・フレームの列がベースビュー・ビデオ・ストリームに変換され、レフトビューを表すビデオ・フレームの列がディペンデントビュー・ビデオ・ストリームに変換されてもよい。変換後の各ビデオ・ストリーム7512はデータベース部7501に保存される。
ビデオ・エンコーダ7502は、ピクチャ間予測符号化の処理過程でレフトビューとライトビューとの間での各映像の動きベクトルを検出し、それらから各3D映像の奥行き情報を算出する。図76の(a)、(b)は、3D映像の一シーンの表示に利用されるレフトビュー・ピクチャとライトビュー・ピクチャとを表す模式図であり、(c)は、ビデオ・エンコーダ7502によってそれらのピクチャから算出された奥行き情報を示す模式図である。
ビデオ・エンコーダ7502はレフトビューとライトビューとの各ピクチャの圧縮に、それらのピクチャ間の冗長性を利用する。すなわち、ビデオ・エンコーダ7502は圧縮前の両ピクチャを8×8又は16×16の画素マトリクスごとに、すなわちマクロブロックごとに比較して、両ピクチャ間での各映像の動きベクトルを検出する。具体的には、図76の(a)、(b)に示されているように、まず、レフトビュー・ピクチャ7601とライトビュー・ピクチャ7602とはそれぞれ、マクロブロック7603のマトリクスに分割される。次に、両ピクチャ7601、7602間でイメージ・データがマクロブロック7603ごとに比較され、その結果から各映像の動きベクトルが検出される。例えば、「家」の映像7604を表す領域は両ピクチャ7601、7602間で実質的に等しい。従って、それらの領域からは動きベクトルが検出されない。一方、「球」の映像7605を表す領域は両ピクチャ7601、7602間で異なるので、それらの領域からはその映像7605の動きベクトルが検出される。
ビデオ・エンコーダ7502は、検出された動きベクトルを各ピクチャ7601、7602の圧縮に利用する。一方、ビデオ・エンコーダ7502はその動きベクトルを、「家」の映像7604及び「球」の映像7605等、各映像の両眼視差の計算に利用する。ビデオ・エンコーダ7502は更に、各映像の両眼視差からその映像の奥行きを算出する。その奥行きを表す情報は、図76の(c)に示されているように、各ピクチャ7601、7602のマクロブロックのマトリクスと同じサイズのマトリクス7606に整理される。このマトリクス7606内のブロック7607は、各ピクチャ7601、7602内のマクロブロック7603と一対一に対応する。各ブロック7607は、対応するマクロブロック7603の表す映像の奥行きを、例えば8ビットの深度で表す。図76に示されている例では、「球」の映像7605の奥行きがマトリクス7606の領域7608内の各ブロックに記録される。その領域7608は、その映像7605を表す各ピクチャ7601、7602内の領域の全体に対応する。
ビデオ・エンコーダ7502はその他に、2D映像のデータからセカンダリ・ビデオ・ストリームを符号化する際に、オーサリング・スタッフの操作に従って、副映像プレーンに対するオフセット情報7510を作成してもよい。作成されたオフセット情報7510はデータベース部7501に保存される。
素材制作部7503は、ビデオ・ストリーム以外のエレメンタリ・ストリーム、例えば、オーディオ・ストリーム7513、PGストリーム7514、及びIGストリーム7515を作成してデータベース部7501に保存する。例えば、素材制作部7503はオーサリング・スタッフから非圧縮のLPCM音声データを受け付けて、それをAC−3等の圧縮符号化方式で符号化してオーディオ・ストリーム7513に変換する。素材制作部7503はその他に、オーサリング・スタッフから字幕情報ファイルを受け付けて、それに従ってPGストリーム7514を作成する。字幕情報ファイルは、字幕を表すイメージ・データ又はテキスト・データ、その字幕の表示時期、及び、その字幕に加えられるべきフェード・イン/アウト等の視覚効果を規定する。素材制作部7503は更に、オーサリング・スタッフからビットマップ・データとメニュー・ファイルとを受け付けて、それらに従ってIGストリーム7515を作成する。ビットマップ・データはメニューのイメージを表す。メニュー・ファイルは、そのメニューに配置される各ボタンの状態の遷移、及び各ボタンに加えられるべき視覚効果を規定する。
素材制作部7503は更に、オーサリング・スタッフの操作に従い、PGストリーム7514とIGストリーム7515とのそれぞれに対するオフセット情報7510を作成する。その場合、素材制作部7503は、ビデオ・エンコーダ7502によって生成された奥行き情報DPIを利用して、3Dグラフィックス映像の奥行きを3D映像の奥行きに合わせてもよい。その場合、3D映像の奥行きがフレームごとに激しく変化するときには、素材制作部7503は、奥行き情報DPIを利用して作成されたオフセット値の列を更にローパスフィルタで処理して、フレームごとの変化を低減させてもよい。こうして、作成されたオフセット情報7510はデータベース部7501に保存される。
シナリオ生成部7504は、オーサリング・スタッフからGUI経由で受け付けられた指示に従ってBD−ROMシナリオ・データ7517を作成し、データベース部7501に保存する。BD−ROMシナリオ・データ7517は、データベース部7501に保存された各エレメンタリ・ストリーム7512−7516の再生方法を規定する。BD−ROMシナリオ・データ7517は、図12に示されているファイル群のうち、インデックス・ファイル1211、ムービーオブジェクト・ファイル1212、及びプレイリスト・ファイル1221−1223を含む。シナリオ生成部7504は更に、パラメータ・ファイルPRFを作成して多重化処理部7506へ送出する。パラメータ・ファイルPRFは、データベース部7501に保存されたエレメンタリ・ストリーム7512−7515の中から、メインTSとサブTSとのそれぞれに多重化されるべきストリーム・データを規定する。シナリオ生成部7504はその他に、各ビデオ・ストリーム7512について、GOP単位又はPI単位で再生ステータスを設定してもよい。それらの再生ステータスに関する情報は、3Dプレイリスト・ファイルの中に格納された状態で、又は直接、データベース部7501に保存される。
BDプログラム制作部7505はオーサリング・スタッフに対して、BD−Jオブジェクト及びJavaアプリケーション・プログラムのプログラミング環境を提供する。BDプログラム制作部7505はGUIを通じてユーザからの要求を受け付け、その要求に従って各プログラムのソースコードを作成する。BDプログラム制作部7505は更に、BD−JオブジェクトからBD−Jオブジェクト・ファイル1251を作成し、Javaアプリケーション・プログラムをJARファイル1261に圧縮する。それらのプログラム・ファイル群BDPはフォーマット処理部7507へ送出される。
ここで、BD−Jオブジェクトが次のようにプログラミングされる場合を想定する:BD−Jオブジェクトは、図56に示されているプログラム実行部5634にGUI用のグラフィックス・データをシステム・ターゲット・デコーダ5623へ送出させる。BD−Jオブジェクトは更に、システム・ターゲット・デコーダ5623にそのグラフィックス・データをイメージ・プレーン・データとして処理させ、プレーン加算部5624にイメージ・プレーン・データを1プレーン+オフセット・モードで送出させる。その場合、BDプログラム制作部7505は、イメージ・プレーンに対するオフセット情報7510を作成してデータベース部7501に保存する。BDプログラム制作部7505はそのオフセット情報7510の作成に、ビデオ・エンコーダ7502によって生成された奥行き情報DPIを利用してもよい。
多重化処理部7506はパラメータ・ファイルPRFに従い、データベース部7501に保存されている各エレメンタリ・ストリーム7512−7515をMPEG2−TS形式のストリーム・ファイルに多重化する。具体的には、図14に示されているように、まず、各エレメンタリ・ストリーム7512−7515が一つのソースパケット列に変換され、次に、各列のソースパケットが一本の多重化ストリーム・データにまとめられる。こうして、メインTSとサブTSとが作成される。それらの多重化ストリーム・データMSDはフォーマット処理部7507へ送出される。
多重化処理部7506は更に、データベース部7501に保存されているオフセット情報7510に基づいてオフセット・メタデータを作成する。図21に示されているように、作成されたオフセット・メタデータ2110は、ディペンデントビュー・ビデオ・ストリームに含まれる各ビデオ・シーケンスの先頭のVAUに補足データ2101として格納される。また、多重化処理部7506は各グラフィックス・データを加工して、左右の各映像フレーム内でのグラフィックス部品の配置を調整してもよい。それにより、各グラフィックス・プレーンの表す3Dグラフィックス映像が、他のグラフィックス・プレーンの表す3Dグラフィックス映像と同じ視方向に重なって表示されることを、多重化処理部7506は防止できる。多重化処理部7506はその他に、各グラフィックス・プレーンに対するオフセット値を調整して、各3Dグラフィックス映像が異なる奥行きに表示されるようにできる。再生ステータスに関する情報がデータベース部7501に保存されている場合、多重化処理部7506はその情報を、図21に示されているオフセット・メタデータと同様に、ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとのそれぞれに含まれる各VAU内の補足データに格納してもよい。
多重化処理部7506はその上、2Dクリップ情報ファイルとディペンデントビュー・クリップ情報ファイルとを、以下の手順(I)−(IV)で作成する:(I)ファイル2DとファイルDEPとのそれぞれについて、図35に示されているエントリ・マップ3430を生成する。(II)各ファイルのエントリ・マップを利用して、図36の(a)、(b)に示されているエクステント起点3442、3620を作成する。そのとき、隣接するデータ・ブロック間でエクステントATC時間を揃える。更に、2Dエクステント、ベースビュー・エクステント、及びディペンデントビュー・エクステントの各サイズが条件1、2等を満たすようにエクステントの配置を設計する。(III)メインTSとサブTSとのそれぞれに多重化されるべきエレメンタリ・ストリームから、図34に示されているストリーム属性情報3420を抽出する。(IV)図34に示されているように、エントリ・マップ3430、3Dメタデータ3440、及びストリーム属性情報3420の組み合わせをクリップ情報3410に対応付ける。こうして、各クリップ情報ファイルCLIが作成され、フォーマット処理部7507へ送出される。
フォーマット処理部7507は、データベース部7501に保存されたBD−ROMシナリオ・データ7517、BDプログラム制作部7505によって制作されたBD−Jオブジェクト・ファイル等のプログラム・ファイル群BDP、及び、多重化処理部7506によって生成された多重化ストリーム・データMSDとクリップ情報ファイルCLIとから、図12に示されているディレクトリ構造のBD−ROMディスク・イメージ7520を作成する。そのディレクトリ構造ではファイルシステムとしてUDFが利用される。
フォーマット処理部7507は、ファイル2D、ファイルDEP、及びファイルSSの各ファイル・エントリを作成するとき、2Dクリップ情報ファイルとディペンデントビュー・クリップ情報ファイルとのそれぞれに含まれるエントリ・マップと3Dメタデータとを参照する。それにより、エントリ・ポイントとエクステント起点との各SPNがアロケーション記述子の作成に利用される。特に、図25に示されているようなデータ・ブロックのインターリーブ配置が表現されるように、各アロケーション記述子の表すべきLBNの値とエクステントのサイズとが決定される。その結果、各ベースビュー・データ・ブロックはファイルSSとファイル2Dとに共有され、各ディペンデントビュー・データ・ブロックはファイルSSとファイルDEPとに共有される。
<BD−ROMディスク・イメージの記録方法>
図77は、図75に示されている記録装置7500を利用してBD−ROMディスクへ映画コンテンツを記録する方法のフローチャートである。この方法は、例えば記録装置7500の電源投入によって開始される。
ステップS7701では、BD−ROMディスクへ記録されるべきエレメンタリ・ストリーム、プログラム、及びシナリオ・データが作成される。すなわち、ビデオ・エンコーダ7502はビデオ・ストリーム7512を作成する。素材制作部7503は、オーディオ・ストリーム7513、PGストリーム7514、及びIGストリーム7515を作成する。シナリオ生成部7504はBD−ROMシナリオ・データ7517を作成する。作成されたそれらのデータ7512−7517はデータベース部7501に保存される。一方、ビデオ・エンコーダ7502と素材制作部7503とはそれぞれ、オフセット情報7510を作成してデータベース部7501に保存する。シナリオ生成部7504はパラメータ・ファイルPRFを作成して多重化処理部7506へ送出する。BDプログラム制作部7505は、BD−Jオブジェクト・ファイルとJARファイルとを含むプログラム・ファイル群BDPを作成してフォーマット処理部7507へ送出し、オフセット情報7510を作成してデータベース部7501に保存する。その後、処理はステップS7702へ進む。
ステップS7702では、多重化処理部7506は、データベース部7501に保存されたオフセット情報7510に基づいてオフセット・メタデータを作成する。作成されたオフセット・メタデータは、ディペンデントビュー・ビデオ・ストリーム内に補足データ2101として格納される。その後、処理はステップS7703へ進む。
ステップS7703では、多重化処理部7506はパラメータ・ファイルPRFに従い、データベース部7501から各エレメンタリ・ストリーム7512−7515を読み出してMPEG2−TS形式のストリーム・ファイルに多重化する。その後、処理はステップS7704へ進む。
ステップS7704では、多重化処理部7506は2Dクリップ情報ファイルとディペンデントビュー・クリップ情報ファイルとを作成する。特に、エントリ・マップとエクステント起点との作成では、エクステント・ペア間でエクステントATC時間が揃えられる。更に、2Dエクステント、ベースビュー・エクステント、及びディペンデントビュー・エクステントのサイズが条件1、2等を満たすように設計される。その後、処理はステップS7705へ進む。
ステップS7705では、フォーマット処理部7507は、BD−ROMシナリオ・データ7517、プログラム・ファイル群BDP、多重化ストリーム・データMDS、及びクリップ情報ファイルCLIからBD−ROMディスク・イメージ7520を作成する。その後、処理はステップS7706へ進む。
ステップS7706では、BD−ROMディスク・イメージ7520がBD−ROMプレス用データに変換される。更に、このデータはBD−ROMディスクの原盤に記録される。その後、処理はステップS7707へ進む。
ステップS7707では、ステップS7706で得られた原盤をプレス工程に利用してBD−ROMディスク101の大量生産を行う。こうして、処理が終了する。
《補足》
<3D映像の再生方法の原理>
3D映像の再生方法は、ホログラフィ技術を用いる方法と、視差映像を用いる方法との二つに大別される。
ホログラフィ技術を用いる方法の特徴は、現実の立体的な物体から人間の視覚に与えられる光学的な情報とほぼ全く同じ情報を視聴者の視覚に与えることにより、その視聴者に映像中の物体を立体的に見せる点にある。しかし、この方法を動画表示に利用する技術は理論上確立されてはいる。しかし、その動画表示に必要とされる、膨大な演算をリアルタイムに処理可能なコンピュータ、及び、1mmあたり数千本という超高解像度の表示装置はいずれも、現在の技術ではまだ、実現が非常に難しい。従って、この方法を商業用として実用化する目途は、現時点ではほとんど立っていない。
「視差映像」とは、一つのシーンを見る視聴者の各目に映る2D映像の対、すなわち、レフトビューとライトビューとの対をいう。視差映像を用いる方法の特徴は、一つのシーンのレフトビューとライトビューとを視聴者の各目だけに見えるように再生することにより、その視聴者にそのシーンを立体的に見せる点にある。
図78の(a)−(c)は、視差映像を用いる方法による3D映像(立体視映像)の再生原理を説明するための模式図である。図78の(a)は、視聴者VWRが、顔の正面に置かれた立方体CBCを見ている光景の上面図である。図78の(b)、(c)はそれぞれ、そのときに視聴者VWRの左目LEY、右目REYに見える立方体CBCの外観を2D映像として示す模式図である。図78の(b)、(c)を比較すれば明らかなとおり、各目に見える立方体CBCの外観はわずかに異なる。この外観の差、すなわち両眼視差から、視聴者VWRは立方体CBCを立体的に認識できる。従って、視差映像を用いる方法では、まず、一つのシーン、例えば図78の(a)に示されている立方体CBCに対し、視点が異なる左右の2D映像、例えば図78の(b)に示されている立方体CBCのレフトビュー、及び図78の(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映像を再現する。
図79は、2D映像MVWとデプスマップDPHとの組み合わせからレフトビューLVWとライトビューRVWとを構成する例を示す模式図である。図79を参照するに、2D映像MVWでは、背景BGVの中に円板DSCが表示されている。デプスマップDPHはその2D映像MVW内の各部の奥行きを画素ごとに示す。そのデプスマップDPHによれば、2D映像MVWのうち、円板DSCの表示領域DA1の奥行きが画面よりも手前であり、かつ、背景BGVの表示領域DA2の奥行きが画面よりも奥である。再生装置内では視差映像生成部PDGがまず、デプスマップDPHの示す各部の奥行きから2D映像MVW内の各部の両眼視差を計算する。視差映像生成部PDGは次に、2D映像MVW内の各部の表示位置を、計算された両眼視差に応じて左右に移動させて、レフトビューLVWとライトビューRVWとを構成する。図79に示されている例では、視差映像生成部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が利用されるとき、図12に示されているボリューム領域1202Bは、一般に複数のディレクトリ、ファイルセット記述子、及び終端記述子のそれぞれが記録された領域を含む。「ディレクトリ」は、同じディレクトリを構成するデータ群である。「ファイルセット記述子」は、ルートディレクトリのファイル・エントリが記録されているセクタのLBNを示す。「終端記述子」はファイルセット記述子の記録領域の終端を示す。
各ディレクトリは共通のデータ構造を持つ。各ディレクトリは特に、ファイル・エントリ、ディレクトリ・ファイル、及び下位ファイル群を含む。
「ファイル・エントリ」は、記述子タグ、ICB(Information Control Block)タグ、及びアロケーション記述子を含む。「記述子タグ」は、その記述子タグを含むデータの種類がファイル・エントリであることを示す。例えば記述子タグの値が“261”であるとき、そのデータの種類はファイル・エントリである。「ICBタグ」はそのファイル・エントリ自身の属性情報を示す。「アロケーション記述子」は、同じディレクトリに属するディレクトリ・ファイルが記録されたセクタのLBNを示す。
「ディレクトリ・ファイル」は、下位ディレクトリのファイル識別記述子と下位ファイルのファイル識別記述子とを一般に複数ずつ含む。「下位ディレクトリのファイル識別記述子」は、そのディレクトリの直下に置かれた下位ディレクトリにアクセスするための情報である。このファイル識別記述子は、その下位ディレクトリの識別情報、ディレクトリ名の長さ、ファイル・エントリ・アドレス、及びディレクトリ名そのものを含む。特にファイル・エントリ・アドレスは、その下位ディレクトリのファイル・エントリが記録されたセクタのLBNを示す。「下位ファイルのファイル識別記述子」は、そのディレクトリの直下に置かれた下位ファイルにアクセスするための情報である。このファイル識別記述子は、その下位ファイルの識別情報、ファイル名の長さ、ファイル・エントリ・アドレス、及びファイル名そのものを含む。特にファイル・エントリ・アドレスは、その下位ファイルのファイル・エントリが記録されたセクタのLBNを示す。「下位ファイルのファイル・エントリ」は、後述のとおり、下位ファイルの本体を構成するデータのアドレス情報を含む。
ファイルセット記述子と下位ディレクトリ/ファイルのファイル識別記述子とを順番に辿ってゆけば、ボリューム領域1002Bに記録された任意のディレクトリ/ファイルのファイル・エントリにアクセスすることができる。具体的には、まず、ファイルセット記述子からルートディレクトリのファイル・エントリが特定され、そのファイル・エントリ内のアロケーション記述子からルートディレクトリのディレクトリ・ファイルが特定される。次に、そのディレクトリ・ファイルからルートディレクトリ直下のディレクトリのファイル識別記述子が検出され、その中のファイル・エントリ・アドレスからそのディレクトリのファイル・エントリが特定される。更に、そのファイル・エントリ内のアロケーション記述子からそのディレクトリのディレクトリ・ファイルが特定される。続いて、そのディレクトリ・ファイルのうち、下位ディレクトリ又は下位ファイルのファイル識別記述子内のファイル・エントリ・アドレスからその下位ディレクトリ又は下位ファイルのファイル・エントリが特定される。
「下位ファイル」はそれぞれエクステントとファイル・エントリとを含む。「エクステント」は一般に複数であり、それぞれ、ディスク上の論理アドレス、すなわちLBNが連続しているデータ列である。エクステントの全体が下位ファイルの本体を構成する。「ファイル・エントリ」は、記述子タグ、ICBタグ、及びアロケーション記述子を含む。「記述子タグ」は、その記述子タグを含むデータの種類がファイル・エントリであることを示す。「ICBタグ」はそのファイル・エントリ自身の属性情報を示す。「アロケーション記述子」は各エクステントに対して一つずつ設けられ、ボリューム領域1202B上での各エクステントの配置、具体的には各エクステントのサイズとその先端のLBNとを示す。従って、各アロケーション記述子を参照することにより、各エクステントにアクセスすることができる。その他に、各アロケーション記述子の上位2ビットは、そのアロケーション記述子の示すLBNのセクタにエクステントが実際に記録されているか否かを示す。すなわち、その上位2ビットが“0”であるとき、そのセクタにはエクステントが割り付け済みであり、かつ記録済みであることを示し、“1”であるとき、そのセクタにエクステントが割り付け済みではあるが未記録であることを示す。
UDFを利用した上記のファイルシステムと同様、ボリューム領域に対するファイルシステムでは一般に、ボリューム領域に記録された各ファイルが複数のエクステントに分割されているとき、上記のアロケーション記述子のように、各エクステントの配置を示す情報がボリューム領域に併せて記録される。その情報を参照することにより、各エクステントの配置、特にその論理アドレスを知ることができる。
<復号スイッチ情報>
図80の(a)は、復号スイッチ情報A050のデータ構造を示す模式図である。復号スイッチ情報A050は、図18に示されているベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとの各VAUでその補足データ1831D、1832Dに格納されている。但し、ディペンデントビュー・ビデオ・ストリームの各GOPの先頭に位置するVAU#1では、復号スイッチ情報A050は、オフセット・メタデータを含む補足データ1832Dとは別の補足データに格納される。補足データ1831D、1832Dは、特にMPEG−4 AVC、MVCではNALユニットの一種“SEI”に相当する。復号スイッチ情報A050は、再生装置102内のデコーダに、次に復号すべきVAUを容易に特定させるための情報である。ここで、そのデコーダは後述のように、ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとをVAU単位で交互に復号する。そのとき、そのデコーダは一般に、各VAUに付与されたDTSの示す時刻に合わせて、次に復号すべきVAUを特定する。しかし、デコーダの種類には、DTSを無視してVAUを順次、復号し続けるものも多い。そのようなデコーダにとって、各VAUがDTSに加えて復号スイッチ情報A050を含むことは好ましい。
図80の(a)を参照するに、復号スイッチ情報A050は、次アクセスユニット・タイプA051、次アクセスユニット・サイズA052、及び復号カウンタA053を含む。次アクセスユニット・タイプA051は、次に復号されるべきVAUがベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとのいずれに属するのかを示す。例えば、次アクセスユニット・タイプA051の値が“1”であるときは、次に復号されるべきVAUはベースビュー・ビデオ・ストリームに属し、“2”であるときはディペンデントビュー・ビデオ・ストリームに属する。次アクセスユニット・タイプA051の値が“0”であるときは、現在のVAUが復号対象のストリームの後端に位置し、次に復号されるべきVAUが存在しない。次アクセスユニット・サイズA052は、次に復号されるべきVAUのサイズを示す。再生装置102内のデコーダは、次アクセスユニット・サイズA052を参照することにより、VAUの構造自体を解析することなく、そのサイズを特定できる。従って、デコーダはバッファからVAUを容易に抽出できる。復号カウンタA053は、それの属するVAUが復号されるべき順番を示す。その順番は、ベースビュー・ビデオ・ストリーム内のIピクチャを含むVAUから数えられる。
図80の(b)は、ベースビュー・ビデオ・ストリームA001とディペンデントビュー・ビデオ・ストリームA002との各ピクチャに割り当てられた復号カウンタの一例A010、A020を示す模式図である。図80の(b)を参照するに、復号カウンタA010、A020は両ビデオ・ストリームA001、A002の間で交互にインクリメントされる。例えば、ベースビュー・ビデオ・ストリームA001内のIピクチャを含むVAUA011に対し、復号カウンタA010として“1”が割り当てられる。次に復号されるべきディペンデントビュー・ビデオ・ストリームA002内のPピクチャを含むVAUA021に対し、復号カウンタA020として“2”が割り当てられる。更にその次に復号されるべきベースビュー・ビデオ・ストリームA001内のPピクチャを含むVAUA012に対し、復号カウンタA010として“3”が割り当てられる。その割り当てにより、何らかの不具合が原因で再生装置102内のデコーダがいずれかのVAUを読み損なったときでも、それによって欠落したピクチャをデコーダは復号カウンタA010、A020から直ちに特定できる。従って、デコーダはエラー処理を適切に、かつ迅速に実行できる。
図80の(b)に示されている例では、ベースビュー・ビデオ・ストリームA001の3番目のVAUA013の読み込みにエラーが生じ、Brピクチャが欠落している。しかし、デコーダは、ディペンデントビュー・ビデオ・ストリームA002の2番目のVAUA022に含まれるPピクチャの復号処理で、そのVAUA022から復号カウンタA020を読み出して保持している。従って、デコーダは次に処理すべきVAUの復号カウンタA010を予測できる。具体的には、そのPピクチャを含むVAUA022内の復号カウンタA020は“4”であるので、次に読み込まれるべきVAUの復号カウンタA010は“5”であると予測される。しかし、実際には、次に読み込まれたVAUはベースビュー・ビデオ・ストリームA001の4番目のVAUA014であったので、その復号カウンタA010は“7”である。そのことから、デコーダは、VAUを一つ読み損ねたことを検出できる。従って、デコーダは次のエラー処理を実行できる:「ディペンデントビュー・ビデオ・ストリームA002の3番目のVAUA023から抽出されたBピクチャについては、参照すべきBrピクチャが欠落しているので復号処理をスキップする」。このように、デコーダは復号処理ごとに復号カウンタA010、A020をチェックする。それにより、デコーダはVAUの読み込みエラーを迅速に検出でき、かつ適切なエラー処理を迅速に実行できる。その結果、再生映像へのノイズの混入を防止することができる。
図80の(c)は、ベースビュー・ビデオ・ストリームA001とディペンデントビュー・ビデオ・ストリームA002との各ピクチャに割り当てられた復号カウンタの別例A030、A040を示す模式図である。図80の(c)を参照するに、復号カウンタA030、A040は各ビデオ・ストリームA001、A002で別々にインクリメントされる。従って、復号カウンタA030、A040は、同じ3D・VAUに属する一対のピクチャ間で等しい。その場合、デコーダはベースビュー・ビデオ・ストリームA001のVAUを一つ復号した時点では次のように予測できる:「その復号カウンタA030が、次に復号されるべきディペンデントビュー・ビデオ・ストリームA002のVAUの復号カウンタA040に等しい」。一方、デコーダはディペンデントビュー・ビデオ・ストリームA002のVAUを一つ復号した時点では次のように予測できる:「その復号カウンタA040に1を加えた値が、次に復号されるべきベースビュー・ビデオ・ストリームA001のVAUの復号カウンタA030に等しい」。従って、デコーダはいずれの時点でも復号カウンタA030、A040からVAUの読み込みエラーを迅速に検出でき、かつ適切なエラー処理を迅速に実行できる。その結果、再生映像へのノイズの混入を防止することができる。
図60に示されているシステム・ターゲット・デコーダ5623では、DEC6004が、復号スイッチ情報A050を利用して、各VAUからピクチャをそのDTSに関わらず、順次復号してもよい。その他に、バッファ・スイッチ6006が、そのVAU内の復号スイッチ情報A050をDEC6004に返信させてもよい。その場合、バッファ・スイッチ6006はその復号スイッチ情報A050を使って、次のVAUをEB16003とEB26010とのいずれから転送すべきか決定できる。
<放送、通信回路を経由したデータ配信>
本発明の実施形態1による記録媒体は、光ディスクの他、例えばSDメモリカードを含む可搬性半導体メモリ装置等、パッケージメディアとして利用可能なリムーバブルメディア全般を含む。また、実施形態1の説明では、予めデータが記録された光ディスク、すなわち、BD−ROM又はDVD−ROM等の既存の読み出し専用の光ディスクが例に挙げられている。しかし、本発明の実施形態はそれらに限定されない。例えば放送で、又はネットワーク経由で配信された3D映像のコンテンツを端末装置によって、BD−RE又はDVD−RAM等の既存の書き込み可能な光ディスクへ書き込むときに、実施形態1によるエクステントの配置が利用されてもよい。ここで、その端末装置は、再生装置に組み込まれていても、再生装置とは別の装置であってもよい。
<半導体メモリカードの再生>
本発明の実施形態1による記録媒体として、光ディスクに代えて半導体メモリカードを用いたときにおける、再生装置のデータ読み出し部について説明する。
再生装置のうち、光ディスクからデータを読み出す部分は、例えば光ディスクドライブによって構成される。それに対し、半導体メモリカードからデータを読み出す部分は、専用のインタフェース(I/F)で構成される。より詳細には、再生装置にカードスロットが設けられ、その内部に上記のI/Fが実装される。そのカードスロットに半導体メモリカードが挿入されるとき、そのI/Fを通してその半導体メモリカードが再生装置と電気的に接続される。更に、半導体メモリカードからデータがそのI/Fを通して再生装置に読み出される。
<BD−ROMディスク上のデータに対する著作権保護技術>
ここで、以降の補足事項の前提として、BD−ROMディスクに記録されているデータの著作権を保護するための仕組みについて説明する。
BD−ROMディスクに記録されたデータの一部が、例えば著作権の保護又はデータの秘匿性の向上の観点から暗号化されている場合がある。その暗号化データは例えば、ビデオ・ストリーム、オーディオ・ストリーム、又はその他のストリームを含む。その場合、暗号化データは以下のように解読される。
再生装置には予め、BD−ROMディスク上の暗号化データを解読するための「鍵」の生成に必要なデータの一部、すなわちデバイスキーが記憶されている。一方、BD−ROMディスクには、その「鍵」の生成に必要なデータの別の一部、すなわちMKB(メディアキーブロック)と、その「鍵」自体の暗号化データ、すなわち暗号化タイトルキーとが記録されている。デバイスキー、MKB、及び暗号化タイトルキーは互いに対応付けられ、更に、図12に示されているBD−ROMディスク101上のBCA1201に書き込まれた特定の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カード等の可搬性半導体メモリカードにも適用可能である。
<電子配信を利用した記録媒体へのデータ記録>
電子配信を利用して本発明の実施形態1による再生装置へ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の記録領域に記録されればよく、その配信データへのアクセスは半導体メモリカード内の制御回路によって制御されなくてもよい。
<リアルタイム・レコーディングへの適用>
本発明の実施形態2では、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ストリーム・ファイル、クリップ情報ファイル、及びプレイリスト・ファイルが生成されねばならない。
<データ構造の記述方法>
本発明の実施形態1によるデータ構造のうち、「所定型の情報が複数存在する」という繰り返し構造は、for文に制御変数の初期値と繰り返し条件とを記述することによって定義される。また、「所定の条件が成立するときに所定の情報が定義される」というデータ構造は、if文にその条件と、その条件の成立時に設定されるべき変数とを記述することによって定義される。このように、実施形態1によるデータ構造は高級プログラミング言語によって記述される。従って、そのデータ構造は、「構文解析」、「最適化」、「資源割付」、及び「コード生成」といったコンパイラによる翻訳過程を経て、コンピュータによって読み取り可能なコードに変換され、記録媒体に記録される。高級プログラミング言語での記述により、そのデータ構造は、オブジェクト指向言語におけるクラス構造体のメソッド以外の部分、具体的には、そのクラス構造体における配列型のメンバー変数として扱われ、プログラムの一部を成す。すなわち、そのデータ構造は、プログラムと実質的に同等である。従って、そのデータ構造はコンピュータ関連の発明として保護を受けるべきである。
<再生プログラムによるプレイリスト・ファイル、クリップ情報ファイルの管理>
プレイリスト・ファイルとAVストリーム・ファイルとが記録媒体に記録されるとき、その記録媒体には再生プログラムが実行形式のファイルとして記録される。再生プログラムはコンピュータに、プレイリスト・ファイルに従ってAVストリーム・ファイルを再生させる。再生プログラムは記録媒体からコンピュータ内のメモリ装置にロードされた後、そのコンピュータによって実行される。そのロード処理はコンパイル処理又はリンク処理を含む。それらの処理により、再生プログラムはメモリ装置内では複数のセクションに分割される。それらのセクションは、textセクション、dataセクション、bssセクション、及びstackセクションを含む。textセクションは、再生プログラムのコード列、変数の初期値、及び書き換え不可のデータを含む。dataセクションは、初期値を持つ変数、及び書き換え可能なデータを含む。dataセクションは特に、記録媒体上に記録された、随時アクセスされるファイルを含む。bssセクションは、初期値を持たない変数を含む。bssセクション内のデータは、textセクション内のコードの示す命令に応じて参照される。コンパイル処理又はリンク処理では、コンピュータ内のRAMにbssセクション用の領域が確保される。stackセクションは、必要に応じて一時的に確保されるメモリ領域である。再生プログラムによる各処理ではローカル変数が一時的に使用される。stackセクションはそれらのローカル変数を含む。プログラムの実行が開始されるとき、bssセクション内の変数はゼロで初期化され、stackセクションには必要なメモリ領域が確保される。
プレイリスト・ファイル及びクリップ情報ファイルは上述のとおり、記録媒体上では既に、コンピュータによって読み取り可能なコードに変換されている。従って、それらのファイルは再生プログラムの実行時、textセクション内の「書き換え不可のデータ」、又はdataセクション内の「随時アクセスされるファイル」として管理される。すなわち、プレイリスト・ファイル及びクリップ情報ファイルは、再生プログラムの実行時にその構成要素の中に組み込まれる。それ故、プレイリスト・ファイル及びクリップ情報ファイルは再生プログラムにおいて、単なるデータの提示を超えた役割を果たす。
本発明は立体視映像の表示技術に関し、上記のとおり、表示装置に表示対象のフレームを選択させる。このように、本発明は明らかに産業上利用可能である。
P3D 3D映像の再生期間
P2D 2D映像の再生期間
3D 「3D再生モード」を示す再生モードの値
2D 「2D再生モード」を示す再生モードの値
L レフトビュー・フレーム
R ライトビュー・フレーム
104 シャッター眼鏡
LSL シャッター眼鏡104が左のレンズを透明にする期間
LSR シャッター眼鏡104が右のレンズを透明にする期間
T1 第1時刻
T2 第2時刻
本発明は、立体視映像、すなわち3次元(3D)映像の表示技術に関する。
近年、3D映像に対する一般的な関心が高まっている。例えば遊園地では、3D映像を利用したアトラクションが人気を集めている。また、全国各地で、3D映像の映画を上映する映画館が増加している。そのような3D映像への関心の高まりに伴い、3D映像を各家庭でも再生可能にするための技術の開発が進められている。その技術では、3D映像コンテンツを高画質のまま、光ディスク等の可搬性記録媒体に記録することが求められる。更に、2D再生装置に対するその記録媒体の互換性が求められる。すなわち、その記録媒体に記録された3D映像コンテンツから、2D再生装置は2D映像を再生でき、3D再生装置は3D映像を再生できることが望ましい。ここで、「2D再生装置」とは、平面視映像、すなわち2次元(2D)映像のみを再生可能な従来の再生装置を意味し、「3D再生装置」とは、3D映像を再生可能な再生装置を意味する。尚、本明細書では、3D再生装置が従来の2D映像も再生可能である場合を想定する。
図81は、3D映像コンテンツが記録された光ディスクについて、2D再生装置に対する互換性を確保するための技術を示す模式図である(例えば特許文献1参照)。光ディスクPDSには二種類のビデオ・ストリームが格納されている。一方は2D/レフトビュー・ビデオ・ストリームであり、他方はライトビュー・ビデオ・ストリームである。「2D/レフトビュー・ビデオ・ストリーム」は、3D映像の再生では視聴者の左目に見せる2D映像、すなわち「レフトビュー」を表し、2D映像の再生ではその2D映像そのものを表す。「ライトビュー・ビデオ・ストリーム」は、3D映像の再生において視聴者の右目に見せる2D映像、すなわち「ライトビュー」を表す。左右のビデオ・ストリーム間では、フレームレートは等しいが、フレームの表示時期はフレーム周期の半分だけずれている。例えば各ビデオ・ストリームのフレームレートが24fps(フレーム/秒)であるとき、2D/レフトビュー・ビデオ・ストリームとライトビュー・ビデオ・ストリームとの各フレームが1/48秒ごとに交互に表示される。
各ビデオ・ストリームは、図81に示されているように、光ディスクPDS上では複数のエクステントEX1A−C、EX2A−Cに分割されている。各エクステントはGOP(グループ・オブ・ピクチャ)を1以上含み、光ディスクドライブによって一括して読み出される。以下、2D/レフトビュー・ビデオ・ストリームに属するエクステントを「2D/レフトビュー・エクステント」といい、ライトビュー・ビデオ・ストリームに属するエクステントを「ライトビュー・エクステント」という。2D/レフトビュー・エクステントEX1A−Cとライトビュー・エクステントEX2A−Cとは交互に光ディスクPDSのトラックTRC上に配置されている。隣接する二つのエクステント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に交互に表示された、レフトビューとライトビューとの2D映像の対が一つの3D映像に見える。
光ディスクに限らず、記録媒体に3D映像コンテンツを格納するときは、上記のようにエクステントのインターリーブ配置を利用する。それにより、その記録媒体を2D映像の再生と3D映像の再生との両方で利用することができる。
3D映像のコンテンツは一般に2D映像の部分を含む。その部分は、例えば広告や演出を目的とするものである。3D再生装置は、そのコンテンツをその部分まで再生したとき、そのコンテンツに付随するアプリケーション・プログラムによって、3D映像から2D映像への切り換えを指示される。また、3D再生装置がユーザの操作に応じてポップアップ・メニューを3D映像に重ねて表示する場合、その表示期間中、3D映像を2D映像に変えた方が好ましい。ポップアップ・メニューの視認性が向上するからである。このように、3D映像の表示技術には一般に、表示途中での2D映像への切り換えを可能にすることが求められる。特にその切り換えはシームレスに実行されなければならない。その切り換えに伴う映像の途切れが視聴者に不快感を与えることを避けるためである。
従来の3D映像の表示技術では、3D映像と2D映像とのシームレスな切り換えを実現するための手段として、次のものが知られている。まず、3D再生装置の動作モードにベースビュー(B)−ディペンデントビュー(D)表示モードとB−B表示モードとの二種類が用意される。B−D表示モードの3D再生装置は、レフトビューとライトビューとの各ビデオ・ストリームを交互に復号して出力する。そのとき、表示装置の画面にはレフトビュー・フレームとライトビュー・フレームとが交互に表示されるので、視聴者にはそれらが3D映像として見える。B−B表示モードの3D再生装置は、フレームレートをB−D表示モードでの値(例えば48fps)に維持したまま、ベースビュー・ビデオ・ストリームから復号されたフレーム・データ、例えばレフトビュー・フレームのみを1フレーム当たり二回ずつ出力する。そのとき、表示装置の画面にはレフトビュー・フレームしか表示されないので、視聴者にはそれらが2D映像としてしか見えない。3D映像の再生中、ユーザの操作又はアプリケーション・プログラムの指示によって3D映像から2D映像への切り換えが要求された場合、3D再生装置はB−D表示モードからB−B表示モードへ切り換わる。そのとき、フレームレートは変更されないので、3D再生装置はその切り換えを速やかに実行することができる。一方、表示装置は元の動作をそのまま維持していればよい。その結果、3D映像から2D映像への切り換えがシームレスに実現される。
しかし、市場に出ている全ての3D再生装置にB−B表示モードが搭載されているとは限らない。B−B表示モードを搭載していない3D再生装置に3D映像を2D映像へ切り換えさせるには、再生対象のストリーム・データそのものを3D映像のものから2D映像のものへ切り換えねばならない。その場合、フレームレートの変更が必要である(例えば48fpsを24fpsへ変更しなければならない)ので、3D再生装置に表示装置へのデータ伝送を一旦、中断させなければならない。従って、ストリーム・データの切り換え後、データ伝送を再開するには、3D再生装置は表示装置との間で、認証等、接続を確立するための処理をやり直さなければならない。その処理には一般に時間がかかるので、3D映像から2D映像への切り換えをシームレスに実現することは困難である。
更に、再生装置と表示装置との間のデータ伝送は一般に、HDMI(High−Definition Multimedia Interface)方式で行われる。その場合、リモコンからの操作信号は、直接的には再生装置と表示装置との一方によって受信されても、HDMIケーブルを通して他方にも伝えられる。従って、ユーザは、一つのリモコンで再生装置と表示装置との両方を操作することができる。しかし、従来の3D映像の表示技術では、ポップアップ・メニューの表示を表示装置に対してリモコンで指示した場合、表示装置はHDMIケーブルを通して3D再生装置にB−B表示モードへの切り換えを要求しなければならない。HDMI方式による通信には時間がかかるので、3D映像から2D映像へのシームレスな切り換えを更に確実に行うのは困難である。
本発明の目的は、3D映像から2D映像への切り換えをシームレスに実現可能な表示装置を提供することにある。
本発明による表示装置は、立体視映像を画面に表示するための表示装置であって、受信部、信号処理部、及び表示部を備えている。受信部は、立体視映像のレフトビュー・フレームとライトビュー・フレーム、及び制御情報を含むストリーム・データを受信する。信号処理部は、そのストリーム・データからレフトビュー・フレームとライトビュー・フレームとを交互に抽出する。信号処理部は更に、立体視映像の一つのフレーム期間に、制御情報が3D再生モードを示す場合には一対のレフトビュー・フレームとライトビュー・フレームとを送出し、制御情報が2D再生モードを示す場合にはレフトビュー・フレームのみを送出する。表示部は、信号処理部から送出されたフレームを所定時間ずつ画面に表示する。
本発明による表示装置は、ストリーム・データから制御情報を解読し、その制御情報が3D再生モードを示す場合にはレフトビュー・フレームとライトビュー・フレームとを交互に表示し、2D再生モードを示す場合にはレフトビュー・フレームのみを表示する。こうして、この表示装置は、フレームレートを変更することなく、又はストリーム・データの送出元に指示を送ることなく、3D映像を2D映像へ切り換える。その結果、3D映像から2D映像への切り換えをシームレスに実現することができる。
本発明の実施形態1によるホームシアター・システムを示す模式図である。
図1に示されている表示装置103の構成を示す機能ブロック図である。
図2に示されているHDMI通信部211の構成を示す機能ブロック図である。
TMDSデータ・チャネルCH1−3を通して伝送されるデータのうち、3D映像の1フレームの表示に利用されるデータの構造を示す模式図である。
(a)−(e)は、図4に示されている有効表示領域VACT×HACTにおけるレフトビュー・フレームとライトビュー・フレームとの配置を示す模式図である。
図2に示されている表示装置103による3D映像の表示動作のフローチャートである。
(a)−(d)はそれぞれ、3D映像の再生期間P3Dの途中に2D映像の再生期間P2Dが挿入された場合において、再生装置102から送出される再生モードとフレームL、Rとの変化、表示装置103によって表示されるフレームL、Rの変化、及びシャッター眼鏡104が左右のレンズを透明にする期間LSL、LSRを示す模式図である。
(a)−(d)はそれぞれ、3D映像の再生期間P3Dの途中に2D映像の再生期間P2Dが挿入された場合において、再生装置102から送出される再生モードとフレームL、Rとの変化、表示装置103によって表示されるフレームL、Rの変化、及びシャッター眼鏡104が左右のレンズを透明にする期間LSL、LSRの第1変形例を示す模式図である。
(a)−(d)はそれぞれ、3D映像の再生期間P3Dの途中に2D映像の再生期間P2Dが挿入された場合において、再生装置102から送出される再生モードとフレームL、Rとの変化、表示装置103によって表示されるフレームL、Rの変化、及びシャッター眼鏡104が左右のレンズを透明にする期間LSL、LSRの第2変形例を示す模式図である。
(a)−(d)はそれぞれ、3D映像の再生期間P3Dの途中に2D映像の再生期間P2Dが挿入された場合において、再生装置102から送出される再生モードとフレームL、Rとの変化、表示装置103によって表示されるフレームL、Rの変化、及びシャッター眼鏡104が左右のレンズを透明にする期間LSL、LSRの第3変形例を示す模式図である。
(a)−(d)はそれぞれ、3D映像の再生期間P3Dの途中に2D映像の再生期間P2Dが挿入された場合において、再生装置102から送出される再生モードとフレームL、Rとの変化、表示装置103によって表示されるフレームL、Rの変化、及びシャッター眼鏡104が左右のレンズを透明にする期間LSL、LSRの第4変形例を示す模式図である。
図1に示されているBD−ROMディスク101上のデータ構造を示す模式図である。
(a)、(b)、(c)はそれぞれ、図2に示されているBD−ROMディスク101上のメインTS、第1サブTS、第2サブTSに多重化されたエレメンタリ・ストリームの一覧表である。
多重化ストリーム・データ1400内でのTSパケットの配置を示す模式図である。
(a)は、多重化ストリーム・データを構成する一連のTSパケットのそれぞれに含まれるTSヘッダ1501Hのデータ構造を示す模式図である。(b)は、そのTSパケット列の形式を示す模式図である。(c)は、そのTSパケット列から構成されたソースパケット列の形式を示す模式図である。(d)は、一連のソースパケット1502が連続的に記録されたBD−ROMディスク101のボリューム領域上のセクタ群の模式図である。
PGストリーム1600のデータ構造を示す模式図である。
ベースビュー・ビデオ・ストリーム1701とライトビュー・ビデオ・ストリーム1702とのピクチャを表示時間順に示す模式図である。
ビデオ・ストリーム1800のデータ構造の詳細を示す模式図である。
PESパケット列1902へのビデオ・ストリーム1901の格納方法の詳細を示す模式図である。
ベースビュー・ビデオ・ストリーム2001とディペンデントビュー・ビデオ・ストリーム2002との各ピクチャに割り当てられたPTSとDTSとの間の関係を示す模式図である。
ディペンデントビュー・ビデオ・ストリーム2100の含むオフセット・メタデータ2110のデータ構造を示す模式図である。
(a)、(b)はそれぞれ、PGプレーン2210とIGプレーン2220とに対するオフセット制御を示す模式図である。(c)は、(a)、(b)に示されているグラフィックス・プレーンの表す2Dグラフィックス映像から視聴者2230に知覚される3Dグラフィックス映像を示す模式図である。
(a)、(b)は、オフセット・シーケンスの具体例を示すグラフである。(c)は、(a)、(b)に示されているオフセット・シーケンスに従って再現される3Dグラフィックス映像を示す模式図である。
PMT2410のデータ構造を示す模式図である。
図13に示されているメインTSと、第1サブTS又は第2サブTSのいずれかとのBD−ROMディスク101上での物理的な配置を示す模式図である。
(a)は、あるBD−ROMディスク上に個別に連続して記録されたメインTS2601とサブTS2602との配置を示す模式図である。(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)。
隣接するデータ・ブロック間でエクステントATC時間を揃える方法を示す模式図である。
図25に示されているエクステント・ブロック群2501−2503に対する2D再生モードでの再生経路2801と3D再生モードでの再生経路2802とを示す模式図である。
2D再生モードの再生装置102内の再生処理系統を示すブロック図である。
(a)は、2D再生モードでの動作中、図29に示されているリード・バッファ2902に蓄積されるデータ量DAの変化を示すグラフである。(b)は、再生対象のエクステント・ブロック3010と2D再生モードでの再生経路3020との間の対応関係を示す模式図である。
BD−ROMディスクに関するジャンプ距離SJUMPと最大ジャンプ時間TJUMP_MAXとの間の対応表の一例である。
3D再生モードの再生装置102内の再生処理系統を示すブロック図である。
(a)、(b)は、一つのエクステント・ブロックから3D映像がシームレスに再生されるとき、図32に示されているRB13211、RB23212に蓄積されるデータ量DA1、DA2の変化を示すグラフである。(c)は、そのエクステント・ブロック3310と3D再生モードでの再生経路3320との間の対応関係を示す模式図である。
図12に示されている第1クリップ情報ファイル(01000.clpi)1231のデータ構造を示す模式図である。
(a)は、図34に示されているエントリ・マップ3430のデータ構造を示す模式図である。(b)は、図12に示されているファイル2D1241に属するソースパケット群3510のうち、エントリ・マップ3430によって各EP_ID3505に対応付けられているものを示す模式図である。(c)は、そのソースパケット群3510に対応するBD−ROMディスク101上のデータ・ブロック群D[n]、B[n](n=0、1、2、3、…)を示す模式図である。
(a)は、図34に示されているエクステント起点3442のデータ構造を示す模式図である。(b)は、図12に示されている第2クリップ情報ファイル(02000.clpi)1232に含まれるエクステント起点3620のデータ構造を示す模式図である。(c)は、3D再生モードの再生装置102によって、図12に示されている第1ファイルSS1245から抽出されたベースビュー・データ・ブロックB[0]、B[1]、B[2]、…を表す模式図である。(d)は、図12に示されている第1ファイルDEP(02000.m2ts)1242に属するディペンデントビュー・エクステントEXT2[0]、EXT2[1]、…と、エクステント起点3620の示すSPN3622との間の対応関係を表す模式図である。(e)は、第1ファイルSS1245に属するエクステントSSEXTSS[0]とBD−ROMディスク101上のエクステント・ブロックとの間の対応関係を示す模式図である。
BD−ROMディスク101上に記録された一つのエクステント・ブロック3700と、ファイル2D3710、ファイル・ベース3711、ファイルDEP3712、及びファイルSS3720の各エクステント群との間の対応関係を示す模式図である。
ベースビュー・ビデオ・ストリーム3810とディペンデントビュー・ビデオ・ストリーム3820とに設定されたエントリ・ポイントの例を示す模式図である。
図12に示されている2Dプレイリスト・ファイル(00001.mpls)1221のデータ構造を示す模式図である。
プレイアイテムID=#N(N=1、2、3、…)のプレイアイテム情報、PI#Nのデータ構造を示す模式図である。
(a)、(b)はそれぞれ、コネクション・コンディションが“5”、“6”であるときに接続されるべき二つの再生区間PI#(N−1)、PI#Nの間の関係を示す模式図である。
図39に示されている2Dプレイリスト・ファイル(00001.mpls)1221の示すPTSと、ファイル2D(01000.m2ts)1241から再生される部分との間の対応関係を示す模式図である。
図12に示されている3Dプレイリスト・ファイル(00002.mpls)1222のデータ構造を示す模式図である。
図43に示されている3Dプレイリスト・ファイル1222のメインパス4301の含むSTNテーブル4405を示す模式図である。
図44に示されているSTNテーブルSS4430のデータ構造を示す模式図である。
図43に示されている3Dプレイリスト・ファイル(00002.mpls)1222の示すPTSと、第1ファイルSS(01000.ssif)1245から再生される部分との間の対応関係を示す模式図である。
図12に示されているインデックス・ファイル(index.bdmv)1211のデータ構造を示す模式図である。
図47に示されているインデックス・テーブル4710の項目「タイトル3」を参照することにより、再生装置102が6種類の判別処理(1)−(6)を利用して再生対象のプレイリスト・ファイルを選択する処理のフローチャートである。
2D再生装置4900の機能ブロック図である。
図49に示されているプレーヤ変数記憶部4936の記憶するシステム・パラメータ(SPRM)の一覧表である。
図49に示されている2D再生装置4900の再生動作のフローチャートである。
図49に示されている再生制御部4935による2Dプレイリスト再生処理のフローチャートである。
図49に示されているシステム・ターゲット・デコーダ4923の機能ブロック図である。
(a)は、図51に示されているPGデコーダ5372がPGストリーム内の一つのデータ・エントリからグラフィックス・オブジェクトを復号する処理のフローチャートである。(b)−(e)は、その処理に従って変化するグラフィックス・オブジェクトを示す模式図である。
図49に示されているHDMI通信部4925の構成を示す機能ブロック図である。
3D再生装置5600の機能ブロック図である。
図56に示されている3D再生装置5600の再生動作のフローチャートである。
図56に示されている再生制御部5635による3Dプレイリスト再生処理のフローチャートである。
図56に示されている再生制御部5635による再生モードの更新処理のフローチャートである。
図56に示されているシステム・ターゲット・デコーダ5623の機能ブロック図である。
図56に示されているプレーン加算部5624の、1プレーン+オフセット・モード又は1プレーン+ゼロ・オフセット・モードにおける機能ブロック図である。
図61に示されている各クロッピング処理部6131−6134によるオフセット制御のフローチャートである。
図61に示されている第2クロッピング処理部6132によるオフセット制御で加工される前後のPGプレーンGP、RGP、LGPを示す模式図である。(a)、(b)、(c)はそれぞれ、右向きのオフセットが与えられたPGプレーンRGP、オフセット制御で加工される前のPGプレーンGP、左向きのオフセットが与えられたPGプレーンLGPを示す。
2プレーン・モードのプレーン加算部5624の部分的な機能ブロック図である。
SPRM(33)の示す再生ステータスの種類別に、対応する再生モードの値、及び再生部5602から出力されるべきビデオ・プレーンとグラフィックス・プレーンとを示す表である。
再生ステータスがタイプAであるときのプレーン加算部5624の部分的な機能ブロック図である。
再生ステータスがタイプBであるときのプレーン加算部5624の部分的な機能ブロック図である。
再生ステータスがタイプCであるときのプレーン加算部5624の部分的な機能ブロック図である。
再生ステータスがタイプDであるときのプレーン加算部5624の部分的な機能ブロック図である。
(a)−(f)はそれぞれ、2D映像の再生期間P2Dにおける再生ステータスがタイプAに選択された場合に、再生装置102から送出される再生モードとフレームL、R、Cとの変化、表示装置103によって表示されるフレームL、R、Cの変化、及び、シャッター眼鏡104が左右のレンズを透明にする期間LSL、LSRを示す模式図である。
(a)−(f)はそれぞれ、2D映像の再生期間P2Dにおける再生ステータスがタイプBに選択された場合に、再生装置102から送出される再生モードとフレームL、R、Cとの変化、表示装置103によって表示されるフレームL、R、Cの変化、及び、シャッター眼鏡104が左右のレンズを透明にする期間LSL、LSRを示す模式図である。
(a)−(f)はそれぞれ、2D映像の再生期間P2Dにおける再生ステータスがタイプDに選択された場合に、再生装置102から送出される再生モードとフレームL、R、Cとの変化、表示装置103によって表示されるフレームL、R、Cの変化、及び、シャッター眼鏡104が左右のレンズを透明にする期間LSL、LSRを示す模式図である。
送信装置7300の機能ブロック図である。
(a)は、隣接するベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとの間でエクステントATC時間が異なり、かつビデオ・ストリームの再生時間が異なるときの再生経路を示す模式図である。(b)は、隣接するベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとの間でビデオ・ストリームの再生時間が等しいときの再生経路を示す模式図である。
本発明の実施形態2による記録装置7500の機能ブロック図である。
(a)、(b)は、3D映像の一シーンの表示に利用されるレフトビュー・ピクチャとライトビュー・ピクチャとを表す模式図である。(c)は、図75に示されているビデオ・エンコーダ7502によってそれらのピクチャから算出された奥行き情報を示す模式図である。
図75に示されている記録装置7500を利用してBD−ROMディスクへ映画コンテンツを記録する方法のフローチャートである。
(a)−(c)は、視差映像を用いる方法による3D映像(立体視映像)の再生原理を説明するための模式図である。
2D映像MVWとデプスマップDPHとの組み合わせからレフトビューLVWとライトビューRVWとを構成する例を示す模式図である。
(a)は、復号スイッチ情報A050のデータ構造を示す模式図である。(b)は、ベースビュー・ビデオ・ストリームA001とディペンデントビュー・ビデオ・ストリームA002との各ピクチャに割り当てられた復号カウンタの一例A010、A020を示す模式図である。(c)は、それらのビデオ・ストリームA001、A002の各ピクチャに割り当てられた復号カウンタの別例A030、A040を示す模式図である。
3D映像コンテンツが記録された光ディスクについて、2D再生装置に対する互換性を確保するための技術を示す模式図である。
以下、本発明の好適な実施形態について、図面を参照しながら説明する。
《実施形態1》
図1は、本発明の実施形態1によるホームシアター・システムを示す模式図である。このホームシアター・システムは、視差映像を用いた3D映像(立体視映像)の再生方式を採用し、特に表示方式として継時分離方式(フレーム・シーケンシャル方式ともいう。)を採用している(詳細は《補足》参照)。図1を参照するに、このホームシアター・システムは、記録媒体101、再生装置102、表示装置103、シャッター眼鏡104、及びリモコン105を含む。
記録媒体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再生モードの再生装置102は、レフトビュー・フレーム又はライトビュー・フレームのいずれかのみを復号して送出する。3D再生モードのうち、復号処理には「L/Rモード」と「デプス・モード」との二種類がある。L/Rモードの3D再生装置は、レフトビュー・ビデオ・ストリームとライトビュー・ビデオ・ストリームとの組み合わせからレフトビュー・フレームとライトビュー・フレームとの対を復号する。デプス・モードの3D再生装置は、レフトビュー又はライトビューのいずれかのビデオ・ストリームとデプスマップ・ストリームとの組み合わせからレフトビュー・フレームとライトビュー・フレームとの対を復号する。再生装置102はL/Rモードを備える。再生装置102は更に、デプス・モードを備えていてもよい。一方、3D再生モードのうち、映像データの出力モードには「ベースビュー(B)−ディペンデントビュー(D)表示モード」と「B−B表示モード」との二種類がある。B−D表示モードの3D再生装置は、レフトビューとライトビューとの各ビデオ・ストリームを交互に送出する。そのとき、表示装置の画面にはレフトビュー・フレームとライトビュー・フレームとが交互に表示されるので、視聴者にはそれらが3D映像として見える。B−B表示モードの3D再生装置は、フレームレートをB−D表示モードでの値(例えば48fps)に維持したまま、ベースビュー・ビデオ・ストリームから復号されたフレーム・データ、例えばレフトビュー・フレームのみを1フレーム当たり二回ずつ出力する。再生装置102はB−D表示モードを備える。再生装置102は更に、B−B表示モードを備えていてもよい。
再生装置102はHDMIケーブル122で表示装置103に接続されている。再生装置102は、映像データ、音声データ、及び制御情報をHDMI方式のシリアル信号に変換し、HDMIケーブル122内のTMDS(Transition Minimized DifferentialSignaling)チャネルを通して表示装置103へ伝送する。2D再生モード又はB−B表示モードの再生装置102は映像データにレフトビュー・フレームのみを多重化する。B−D表示モードの再生装置102は映像データにレフトビュー・フレームとライトビュー・フレームとの両方を時分割で多重化する。制御情報は、水平同期信号や垂直同期信号に加えて「インフォ・フレーム(HDMI Vendor−Specific InfoFrame)」を含む。インフォ・フレームは、映像データ以外に映像の再生に必要な補助データであって、特に「再生モード」を含む。再生モードは、再生装置102が2D再生モードと3D再生モードとのいずれであるかを示すパラメータである。
再生装置102は更に、HDMIケーブル122内のCEC(Consumer Electronics Control)ラインを通して表示装置103との間でCECメッセージを交換する。それにより、再生装置102は、3D映像の再生に対応可能か否かを表示装置103に問い合わせることができる。再生装置102はその上、HDMIケーブル122内のディスプレイ・データ・チャネル(DDC)を通して、問い合わせの結果を表すデータ、EDID(Extended Display Identification Data)を表示装置103から読み出す。EDIDは特に、表示装置103に固有のデータ領域(HDMI Vendor−Specific Data Block)を含む。その領域には、表示装置103が3D映像の再生に対応可能か否かを示す情報に加え、表示装置103が対応可能な3D映像の表示パターンを示す情報が格納されている。再生装置102はその他に、DDCを通して表示装置103との間でHDCP(High−bandwidthDigital Content Protection)認証を行う。その認証の結果で得られた秘密鍵を利用して、再生装置102は映像データ等を暗号化して、HDMIケーブル122を通して表示装置103へ伝送する。
表示装置103は液晶ディスプレイである。表示装置103はその他に、プラズマ・ディスプレイ及び有機ELディスプレイ等、他方式のフラットパネル・ディスプレイ又はプロジェクタであってもよい。表示装置103は、映像データに従って画面131上に映像を表示し、音声データに従って内蔵のスピーカから音声を発生させる。表示装置103の動作モードには2D表示モードと3D表示モードとの二種類がある。2D表示モードの表示装置103は、再生装置102から受信された映像データを2D映像用のフレームレート(例えば60fps)で画面131上に表示する。そのとき、画面131上にはレフトビューが表示される。3D表示モードの表示装置103はまず、再生装置102から受信されたインフォ・フレームから、制御情報の含む「再生モード」を解読する。その再生モードが“3D”を示す場合、表示装置103は、再生装置102から受信された映像データを3D映像用のフレームレート(例えば120fps)で画面131上に表示する。そのとき、画面131上にはレフトビューとライトビューとが交互に表示される。一方、再生モードが“2D”を示す場合、表示装置103は、再生装置102から受信された映像データのうち、レフトビュー・フレームのみを3D映像用のフレームレート(例えば120fps)で画面131上に表示する。そのとき、表示装置103は一つのレフトビュー・フレームを二回ずつ繰り返し表示するので、画面131上にはレフトビューのみが表示される。
表示装置103は左右信号送信部132を含む。左右信号送信部132は左右信号LRを赤外線又は無線でシャッター眼鏡104へ送出する。左右信号LRは、現時点で画面131に表示される映像がレフトビューとライトビューとのいずれであるのかを示す。2D表示モードの表示装置103は、左右信号送信部132に左右信号を送信させない。3D表示モードの表示装置103は、まず、映像データに付随する同期信号等の制御信号や補助データからレフトビュー・フレームとライトビュー・フレームとを識別することによって、フレームの切り換えを検知する。表示装置103は次に左右信号送信部132に、検知されたフレームの切り換えに同期して左右信号LRを変化させる。
シャッター眼鏡104は二枚の液晶表示パネル141L、141Rと左右信号受信部142とを含む。各液晶表示パネル141L、141Rは左右の各レンズ部分を構成している。各液晶表示パネル141L、141Rはノーマリ・ホワイトであって、左右信号受信部142から信号を受けていない状態では、その全体で光を透過させる。2D表示モードの表示装置103からは左右信号LRが送信されないので、視聴者がシャッター眼鏡104をかけて画面131を見ても、画面131に表示されたレフトビューはその視聴者の両目に映る。左右信号受信部142は左右信号LRを受信し、その変化に応じて左右の液晶表示パネル141L、141Rに信号を送る。各液晶表示パネル141L、141Rはその信号に応じて、その全体で一様に光を透過させ、又は遮断する。特に左右信号LRがレフトビューの表示を示すとき、左目側の液晶表示パネル141Lは光を透過させ、右目側の液晶表示パネル141Rは光を遮断する。左右信号LRがライトビューの表示を示すときはその逆である。このように、3D表示モードの表示装置103がフレームの切り換えと同期して左右信号LRを変化させる間、二枚の液晶表示パネル141L、141Rはその変化に同期して交互に光を透過させる。従って、視聴者がシャッター眼鏡104をかけて画面131を見たとき、レフトビューはその視聴者の左目だけに映り、ライトビューはその右目だけに映る。そのとき、その視聴者には、各目に映る映像間の違いが同じ立体的物体に対する両眼視差として知覚されるので、その映像が立体的に見える。
リモコン105は操作部と送信部とを含む。操作部は複数のボタンを含む。各ボタンは、電源のオンオフ、又は、BD−ROMディスク101の再生開始若しくは停止等、再生装置102又は表示装置103の各機能に対応付けられている。操作部はユーザによる各ボタンの押下を検出し、そのボタンの識別情報を信号で送信部に伝える。送信部はその信号を赤外線又は無線による信号IRに変換して再生装置102又は表示装置103へ送出する。一方、再生装置102又は表示装置103はその信号IRを受信し、その信号IRの示すボタンに対応付けられた機能を特定する。再生装置102又は表示装置103は更に、その機能が自身のものであるときはその機能を実現し、その機能が他の装置のものであるときは、例えばCECメッセージを利用してその機能を他の装置に実現させる。こうして、ユーザは一つのリモコン105で再生装置102と表示装置103との両方を遠隔操作できる。
<表示装置>
図2は、図1に示されている表示装置103の構成を示す機能ブロック図である。図2を参照するに、表示装置103は、左右信号送信部132に加えて、受信部210、信号処理部220、メモリ部230、表示部240、及びスピーカ250を含む。
受信部210は、再生装置102の他、メモリカード201、外部ネットワーク202、及び放送波203等の各種媒体からストリーム・データを受信する。そのストリーム・データは3D映像の映画コンテンツを含む。受信部210は特にHDMI通信部211を含む。
信号処理部220はそのストリーム・データから、映像、音声、グラフィックス等、各種のデータを分離して個別に処理する。信号処理部220は更に、レフトビュー・フレームLFとライトビュー・フレームRFとをメモリ部230へ格納し、音声データADをスピーカ250へ送出する。信号処理部220はその他に、同期信号等、映像データに付随する制御信号と補助データ(インフォ・フレーム)とに基づいて表示部240を制御する。2D表示モードの信号処理部220はメモリ部230内の映像データからレフトビュー・フレームLFのみを読み出して、2D映像用のフレームレート(例えば60fps)で表示部240へ送出する。2D表示モードの表示装置103は更に、左右信号送信部132には左右信号LRを送信させない。3D表示モードの信号処理部220はまず、映像データに付随するインフォ・フレームから再生モードを解読する。その再生モードが“3D”を示す場合、信号処理部220はメモリ部230からレフトビュー・フレームLFとライトビュー・フレームRFとを3D映像用のフレームレート(例えば120fps)で交互に表示部240へ送出する。その再生モードが“2D”を示す場合、信号処理部220はメモリ部230からレフトビュー・フレームLFのみを3D映像用のフレームレート(例えば120fps)で表示部240へ送出する。そのとき、各レフトビュー・フレームLFは二回ずつ繰り返し送出される。そのフレームの送出処理と並行して、信号処理部220は左右信号送信部132に指示を送り、フレームの切り換えに同期して左右信号LRを変化させる。
メモリ部230は、表示装置103に内蔵された半導体メモリ装置又はハードディスク・ドライブ(HDD)である。その他に、表示装置103に外付けされたHDDであってもよい。メモリ部230は二つのフレーム・バッファ、FB1231、FB2232を含む。FB1231とFB2232とは互いに独立なメモリ素子である。その他に、一つのメモリ素子又はHDD内の異なる領域であってもよい。FB1231とFB2232とはそれぞれ、ピクセル・データの2次元配列を格納可能である。その配列の各要素が画面の各画素と一対一に対応付けられている。FB1231は、信号処理部220からレフトビュー・フレームLFを受信して格納し、FB2232は、ライトビュー・フレームRFを受信して格納する。
表示部240は表示駆動部241と表示パネル242とを含む。表示駆動部241は、信号処理部220からの制御信号に従って表示パネル242を制御する。その結果、レフトビュー・フレームLFとライトビュー・フレームRFとが交互に所定時間ずつ、表示パネル242の画面上に表示される。表示パネル242は液晶表示パネル(LCD)である。その他に、プラズマ表示パネル、有機EL表示パネル等、他の方式のものであってもよい。スピーカ250は、表示装置103に内蔵されたスピーカである。その他に、スピーカ250は、表示装置103に外付けされたスピーカであってもよい。
図3は、HDMI通信部211の構成を示す機能ブロック図である。HDMI通信部211はHDMIケーブル122で再生装置102に接続されている。それにより、HDMI通信部211は再生装置102と信号処理部220との間でのデータ交換を中継している。図3を参照するに、HDMI通信部211は、TMDSデコーダ301、EDID記憶部302、及びCEC部303を含む。
TMDSデコーダ301は、HDMIケーブル122内のTMDSチャネルCH1、CH2、CH3、CLKを通して再生装置102から、映像データ、音声データ、補助データ、及び制御信号を表すシリアル信号を受信する。TMDSチャネルは三種類のデータ・チャネルCH1、CH2、CH3と一つのクロック・チャネルCLKとを含む。各チャネルは一対の差動信号線から成る。クロック・チャネルCLKの状態が一周期分変化する間に、各データ・チャネルCH1−3は10ビットを伝送する。各データ・チャネルCH1−3からは、例えば、R、G、B、各8ビットのピクセル・データ、4ビットの音声データと補助データ(インフォ・フレーム)、及び2ビットの制御信号(水平同期信号と垂直同期信号とを含む)がそれぞれ、10ビットのデータに変換されて伝送される。TMDSデコーダ301はそれら10ビットのデータ列から映像データ等を解読して、信号処理部220へ渡す。
EDID記憶部302は、HDMI通信部211に内蔵された半導体メモリ装置であり、HDMIケーブル122内のディスプレイ・データ・チャネルDDCを通して再生装置102に接続されている。ディスプレイ・データ・チャネルDDCは、グラウンド・ラインを含む三本一組の差動信号線から成る。信号処理部220はEDID記憶部302に、表示装置103の機能、特性、状態を表すパラメータ(HDMI Vendor−Specific Data Block)をEDIDとして格納する。EDIDは特に、表示装置103が3D映像の再生機能を持つか否かを示す情報に加え、表示装置103が対応可能な3D映像の表示パターンを示す情報を含む。EDID記憶部302は、再生装置102からの要求に応じて、ディスプレイ・データ・チャネルDDCを通してEDIDを提供する。ディスプレイ・データ・チャネルDDCはその他に、信号処理部220と再生装置102との間でのHDCP認証に利用される。信号処理部220はHDCP認証処理を通して再生装置102と一つの鍵を共有する。再生装置102はその鍵を利用して映像データと音声データとを暗号化し、信号処理部220はその鍵を利用して暗号化データを映像データと音声データとに復号する。
CEC部303は、HDMIケーブル122内のCECラインCECを通して、再生装置102との間でCECメッセージを交換する。CECラインCECは一本の信号線から成る。CEC部303は特に、再生装置102がリモコン105から受けた情報をCECメッセージとして受信して信号処理部220へ通知し、又は逆に、信号処理部220がリモコン105から受けた情報をCECメッセージに変換して再生装置102へ通知する。
図4は、TMDSデータ・チャネルCH1−3を通して伝送されるデータのうち、3D映像の1フレームの表示に利用されるデータの構造を示す模式図である。図4を参照するに、横長の矩形LN[1]、LN[2]、LN[3]、…はそれぞれ、「ライン」と呼ばれる一定長のデータ列を表す。3D映像の1フレームの表示に利用されるデータは、複数のラインLN[1]、LN[2]、LN[3]、…に変換されて、ライン単位で順番に、図4では上から順に伝送される。各ラインは、8ビット=1バイトのデータを一定数並べたものであって、先頭から順に、図4では左から順に伝送される。図4を更に参照するに、各ラインの伝送期間は、コントロール区間CTP(白い矩形で表されている)、データ・アイランド区間DIP(黒い矩形で表されている)、及びビデオ・データ区間VDP(斜線部で表されている)の三種類に分類される。コントロール区間CTPでは、水平同期信号HSYNC、垂直同期信号VSYNC、その他の制御信号が伝送される。データ・アイランド区間DIPでは主に音声データとインフォ・フレームとが伝送される。ビデオ・データ区間VDPでは映像データ、特にピクセル・データが伝送される。
図4に示されているとおり、先頭のラインLN[1]から数えてk本のラインLN[1]、…、LN[k](文字kは1以上の整数を表す。)はビデオ・データ区間VDPを含まず、垂直帰線区間VBLKを構成している。その他のラインLN[k+1]、…はビデオ・データ区間VDPを含み、垂直有効表示区間VACTを構成している。垂直同期信号VSYNCは、垂直帰線区間VBLKの最初の数本のラインLN[1]、LN[2]、LN[3]、…においてのみアクティブになって3D映像の新たなフレームの伝送開始を示す。垂直有効表示区間VACTでは、各ラインの先頭部はビデオ・データ区間VDPを含まず、水平帰線区間HBLKを構成し、その他の部分はビデオ・データ区間VDPのみを含み、水平有効表示区間HACTを構成している。水平同期信号VSYNCは、各ラインLN[1]、LN[2]、LN[3]、…の先頭のコントロール区間CTPにおいてのみアクティブになって各ラインの伝送開始を示す。垂直有効表示区間VACTと水平有効表示区間HACTの共通部分は有効表示領域VACT×HACTであって、3D映像の1フレームを構成するレフトビュー・フレームとライトビュー・フレームの対を含む。それらの配置には様々な種類がある。その種類を表すパラメータ、すなわち「3D構造(3D_structure)」401は、再生モード402と共に、垂直帰線区間VBLKのデータ・アイランド区間DIPに、インフォ・フレームの一部として格納されている。
図5の(a)−(e)は、図4に示されている有効表示領域VACT×HACTにおけるレフトビュー・フレームとライトビュー・フレームとの配置の種類を示す模式図である。各図に示されている破線の矩形VDPが有効表示領域VACT×HACTを示す。各図の斜線部はライトビュー・フレームの伝送区間を示す。各図の配置には、3D構造の異なる値が割り当てられている。図5の(a)は「フレーム・パッキング方式」を示す。垂直有効表示区間VACTを構成するライン数は、2D映像の1フレームのものの2倍よりも大きく設定されている。有効表示領域VACT×HACTの前半、図5の(a)では上側にレフトビュー・フレームLが配置され、後半、図5の(b)では下側にライトビュー・フレームRが配置されている。更に両方のフレームL、Rの間に空き領域(Active Space)VASPが設けられている。この空き領域VASPのライン数は垂直帰線区間VBLKのライン数と等しい。再生装置102は空き領域VASPを一定のピクセル・データで満たす。一方、信号処理部220は空き領域VASP内のピクセル・データを無視する。図5の(b)は「サイド・バイ・サイド方式(フル)」を示す。水平有効表示区間HACTのピクセル数は2D映像の1フレームのものの2倍に設定されている。各ラインの水平有効表示区間HACTの前半がレフトビュー・フレームLを含み、後半がライトビュー・フレームRを含む。図5の(c)は「サイド・バイ・サイド方式(ハーフ)」を示す。図5の(b)の有効表示領域とは異なり、水平有効表示区間HACTのピクセル数は2D映像の1フレームのものと等しい。各フレームL、Rの水平解像度が半分に圧縮された後、レフトビュー・フレームLは各ラインの水平有効表示区間HACTの前半に配置され、ライトビュー・フレームRは後半に配置されている。図5の(d)は「トップ・ボトム方式」(オーバー・アンダー方式とも言う。)を示す。図5の(b)の有効表示領域とは異なり、垂直有効表示区間VACTのライン数は2D映像の1フレームのものと等しい。各フレームL、Rの垂直解像度が半分に圧縮された後、レフトビュー・フレームLは垂直有効表示区間VACTの前半に配置され、ライトビュー・フレームRは後半に配置されている。図5の(e)は「交互ライン方式(Line alternative)」を示す。垂直有効表示区間VACTの奇数番目のラインがレフトビュー・フレームを含み、偶数番目のラインがライトビュー・フレームを含む。垂直有効表示区間VACTを構成するライン数は、2D映像の1フレームのものの2倍に設定されている。
図6は、表示装置103による3D映像の表示動作のフローチャートである。この動作は、再生装置102等、3D映像を表すストリーム・データの送信元からその3D映像の表示要求を受信することによって開始される。
ステップS61では、受信部210が、上記の送信元からストリーム・データを受信する。例えばその送信元が再生装置102である場合、HDMI通信部211はまず、EDIDの送信及びHDCP認証を行う。ここで、EDIDは特に、表示装置103が3D映像の表示に対応可能であることに加え、例えば図5の(a)−(e)に示されている表示パターンのうち、表示装置103が対応可能なものを示す。HDCP認証に成功した場合、受信部210はTMDSデータ・チャネルCH1−3を通して、暗号化されたストリーム・データを受信する。その後、処理はステップS62へ進む。
ステップS62では、信号処理部220は、HDCP認証処理で取得した鍵を利用して、ストリーム・データから、映像、音声、グラフィックス等、各種のデータを解読して抽出する。信号処理部220は更に、レフトビュー・フレームLFとライトビュー・フレームRFとをメモリ部230内のFB1231、FB2232へそれぞれ格納し、音声データADをスピーカ250へ送出する。一方、信号処理部220は、垂直同期信号VSYNC、水平同期信号HSYNC、その他の制御信号、及び補助データに基づいて表示部240を制御する。信号処理部220は特に、垂直帰線区間VBLKに伝送されるインフォ・フレームから3D構造と再生モードとを読み出す。3D構造の値からは、有効表示領域におけるレフトビュー・フレームLとライトビュー・フレームRとの配置が識別される。その後、処理はステップS63へ進む。
ステップS63では、スピーカ250が音声データADから音声を再現する。その動作と並行して、処理はステップS64へ進む。
ステップS64では、信号処理部220は、再生モードが“3D”と“2D”とのいずれを示しているか識別する。再生モードが“3D”を示している場合、処理はステップS65Aヘ進み、“2D”を示している場合、処理はステップS65Bヘ進む。
ステップS65Aでは、再生モードが“3D”を示している。従って、信号処理部220は3D表示モードに移行する。信号処理部220はメモリ部230内のFB1231、FB2232から交互にフレームLF、RFを読み出して表示部240へ送出する。このとき、信号処理部220はフレームレートを、例えば120fpsに設定する。表示部240では、表示駆動部241が信号処理部220からの制御信号に従って表示パネル242を制御する。それにより、レフトビュー・フレームLFとライトビュー・フレームRFとが交互に、例えば1/120秒ずつ、表示パネル242の画面上に表示される。一方、信号処理部220は左右信号送信部132に、フレームの切り換えと同期して左右信号LRを変化させる。その変化に応じて、シャッター眼鏡104は左右の液晶表示パネル141L、141Rに交互に光を透過させる。その結果、シャッター眼鏡104をかけて画面131を見ている視聴者には、レフトビュー・フレームLFとライトビュー・フレームRFとが3D映像の1フレームとして見える。その後、処理はステップS66へ進む。
ステップS65Bでは、再生モードが“2D”を示している。従って、信号処理部220は2D表示モードに移行する。信号処理部220はメモリ部230内のFB1231からのみ、フレームLFを読み出して表示部240へ送出する。このとき、信号処理部220はフレームレートを3D表示モードでの値、例えば120fpsに維持する。表示部240では、表示駆動部241が信号処理部220からの制御信号に従って表示パネル242を制御する。それにより、レフトビュー・フレームLFのみが、例えば1/120秒ずつ2回繰り返して、表示パネル242の画面上に表示される。一方、ステップS65Aと同様に、信号処理部220は左右信号送信部132に、フレームの切り換えと同期して左右信号LRを変化させる。その変化に応じて、シャッター眼鏡104は左右の液晶表示パネル141L、141Rに交互に光を透過させる。その結果、視聴者には、シャッター眼鏡104をかけて画面131を見ていてもレフトビュー・フレームLFしか見えないので、2D映像の1フレームとしてしか見えない。その後、処理はステップS66へ進む。
ステップS66では、メモリ部230の中に表示対象のストリーム・データが残っていないかを、信号処理部220がチェックする。ストリーム・データが残っている場合、処理はステップS62から繰り返される。残っていない場合、処理は終了する。
図7の(a)−(d)はそれぞれ、3D映像の再生期間P3Dの途中に2D映像の再生期間P2Dが挿入された場合において、再生装置102から送出される再生モードとフレームL、Rとの変化、表示装置103によって表示されるフレームL、Rの変化、及びシャッター眼鏡104が左右のレンズを透明にする期間LSL、LSRを示す模式図である。図7の(a)を参照するに、第1時刻T1までは3D映像の再生期間P3Dであって、再生装置102はB−D表示モードで動作する。従って、図7の(a)に示されているように、再生装置102はインフォ・フレーム内の再生モードを“3D”に設定して、そのインフォ・フレームを表示装置103に伝送する。一方、図7の(b)に示されているように、再生装置102はレフトビュー・フレームLとライトビュー・フレームRとを交互に表示装置103へ送出する。ここで、一対のフレームL、Rの伝送フォーマットは、好ましくは図5の(a)に示されているフレーム・パッキング方式である。その他に、図5の(b)−(e)に示されているいずれの方式が採用されてもよい。再生装置102は、インフォ・フレーム内の3D構造に、採用された伝送フォーマットを示す値を設定する。表示装置103はそのインフォ・フレームから、3D構造の示す伝送フォーマットを識別し、かつ、再生モードが“3D”を示していることを検出する。それらの情報を利用して、表示装置103は、図7の(c)に示されているように、受信したレフトビュー・フレームLとライトビュー・フレームRとを交互に表示する。それと並行して、図7の(d)に示されているように、表示装置103はシャッター眼鏡104に、フレームL、Rの切り換えと同期して左右のレンズを交互に透明にさせる。
図7の(a)を更に参照するに、第1時刻T1では3D映像の再生期間P3Dが2D映像の再生期間P2Dへ移行する。具体的には、再生装置102が、ユーザの操作又はアプリケーション・プログラムの指示に応じて、インフォ・フレーム内の再生モードを“3D”から“2D”へ変更し、そのインフォ・フレームを表示装置103に伝送する。一方、再生装置102は第1時刻T1以降もB−D表示モードを継続する。従って、図7の(b)に示されているように、第1時刻T1以降も3D映像の再生期間P3Dと同様に、レフトビュー・フレームLとライトビュー・フレームRとは交互に表示装置103へ送出され続ける。表示装置103は上記のインフォ・フレームから、再生モードが“2D”に変更されたことを検出し、図7の(c)に示されているように、受信したレフトビュー・フレームLのみを2回ずつ繰り返し表示する。しかし、図7の(d)に示されているように、表示装置103は第1時刻T1以降も3D映像の再生期間P3Dと同様に、シャッター眼鏡104にフレームL、Rの切り換えと同期して左右のレンズを交互に透明にさせる。
図7の(a)を再び参照するに、2D映像の再生期間P2Dは第1時刻T1から第2時刻T2まで継続され、第2時刻T2で3D映像の再生期間P3Dへ戻る。具体的には、再生装置102は、ユーザの操作又はアプリケーション・プログラムの指示に応じて、インフォ・フレーム内の再生モードを“2D”から“3D”へ戻す。一方、再生装置102は第2時刻T2以降もB−D表示モードを継続する。従って、図7の(b)に示されているように、第2時刻T2以降もそれ以前と同様に、レフトビュー・フレームLとライトビュー・フレームRとは交互に表示装置103へ送出され続ける。表示装置103は上記のインフォ・フレームから、再生モードが“3D”を再び示していることを検出し、図7の(c)に示されているように、受信したレフトビュー・フレームLとライトビュー・フレームRとを交互に表示する。それと並行して、図7の(d)に示されているように、表示装置103はシャッター眼鏡104に、フレームL、Rの切り換えと同期して左右のレンズを交互に透明にさせる。
図7から明らかに理解されるとおり、再生装置102は、3D映像を一旦2D映像へ切り換える際、B−D表示モードを維持したまま、インフォ・フレーム内の再生モードを“3D”から“2D”へ変更するだけでよい。従って、その切り換え動作は迅速である。一方、表示装置103は、インフォ・フレーム内の再生モードが“3D”である間はレフトビュー・フレームLとライトビュー・フレームRとを交互に表示し、“2D”である間はレフトビュー・フレームLのみを2回ずつ繰り返し表示する。特にフレームレートは変更されなくてもよい。こうして、再生装置102がB−B表示モードを搭載していなくても、表示装置103は3D映像を2D映像へシームレスに切り換えることができる。
<変形例>
(1−A)図8の(a)−(d)はそれぞれ、3D映像の再生期間P3Dの途中に2D映像の再生期間P2Dが挿入された場合において、再生装置102から送出される再生モードとフレームL、Rとの変化、表示装置103によって表示されるフレームL、Rの変化、及びシャッター眼鏡104が左右のレンズを透明にする期間LSL、LSRの第1変形例を示す模式図である。図8は図7とは、表示装置103が2D映像の再生期間P2Dにおいて、シャッター眼鏡104に左右両方のレンズを透明に維持させている点が異なる。その他の点については、図8の(a)−(d)はそれぞれ、図7の(a)−(d)と同様である。従って、それらの詳細については図7の説明を援用する。
図8の(a)を参照するに、第1時刻T1から第2時刻T2までは2D映像の再生期間P2Dであって、インフォ・フレーム内の再生モードは“2D”を示す。その場合、図8の(d)に示されているように、表示装置103はシャッター眼鏡104に左右両方のレンズを透明に維持させる。具体的には、左右信号送信部132が左右信号LRの送信を中断する。その他に、左右信号LRに「現時点で画面131に表示される映像が2D映像である」ことを示す状態を追加して、インフォ・フレーム内の再生モードに“2D”を設定する間、表示装置103は左右信号送信部132に左右信号LRを上記の状態に維持させてもよい。シャッター眼鏡104が左右両方のレンズを透明に維持することにより、画面131は常に視聴者の両目に映る。従って、視聴者には画面の輝度が向上したように見える。また、左右のレンズが交互に光を遮断することに起因する画面のちらつき(フリッカ)を視聴者に感じさせる危険性が避けられる。それらの結果、視聴者に2D映像の画質が向上したように思わせることができる。
(1−B)図9の(a)−(d)はそれぞれ、3D映像の再生期間P3Dの途中に2D映像の再生期間P2Dが挿入された場合において、再生装置102から送出される再生モードとフレームL、Rとの変化、表示装置103によって表示されるフレームL、Rの変化、及びシャッター眼鏡104が左右のレンズを透明にする期間LSL、LSRの第2変形例を示す模式図である。図9は図8とは、表示装置103が2D映像の再生期間P2Dにおいて、フレームレートを2D表示モードでの値に戻している点が異なる。その他の点については、図9の(a)−(d)はそれぞれ、図8の(a)−(d)と同様である。従って、それらの詳細については図7、8の説明を援用する。
図9の(a)を参照するに、第1時刻T1から第2時刻T2までは2D映像の再生期間P2Dであって、インフォ・フレーム内の再生モードは“2D”を示す。その場合、図9の(d)に示されているように、表示装置103はシャッター眼鏡104に左右両方のレンズを透明に維持させる。また、フレームレートは、フレームの切り換えに伴うフリッカが避けられる程度であれば十分であるので、表示装置103はフレームレートを3D表示モードでの値(例えば120fps)から2D表示モードでの値(例えば60fps)へ降下させる。それにより、各レフトビュー・フレームLは1回ずつ表示されればよい。その結果、フレームの切り換え処理に要求される速度と頻度とがいずれも減少するので、その切り換えに伴う消費電力を削減することができる。
(1−C)図10の(a)−(d)はそれぞれ、3D映像の再生期間P3Dの途中に2D映像の再生期間P2Dが挿入された場合において、再生装置102から送出される再生モードとフレームL、Rとの変化、表示装置103によって表示されるフレームL、Rの変化、及びシャッター眼鏡104が左右のレンズを透明にする期間LSL、LSRの第3変形例を示す模式図である。図10は図9とは、再生装置102が2D映像の再生期間P2Dにおいて、B−B表示モードで動作している点が異なる。その他の点については、図10の(a)−(d)はそれぞれ、図9の(a)−(d)と同様である。従って、それらの詳細については図7、9の説明を援用する。
図10の(a)を参照するに、第1時刻T1から第2時刻T2までは2D映像の再生期間P2Dであって、インフォ・フレーム内の再生モードは“2D”を示す。その場合、図10の(b)に示されているように、再生装置102はB−D表示モードからB−B表示モードへ移行する。B−B表示モードの再生装置102は、フレームレートをB−D表示モードでの値(例えば48fps)に維持したまま、レフトビュー・フレームのみを1フレーム当たり2回ずつ表示装置103へ送出する。一方、表示装置103は、フレームレートを3D表示モードでの値(例えば120fps)から2D表示モードでの値(例えば60fps)へ降下させて、各レフトビュー・フレームLを1回ずつ表示する。こうして、再生装置102がB−B表示モードを搭載しているか否かにかかわらず、表示装置103は3D映像を2D映像へシームレスに切り換えることができる。また、表示装置103のフレームレートは低く維持されているので、フレームの切り換えに伴う消費電力を削減することができる。
(1−D)図11の(a)−(d)はそれぞれ、3D映像の再生期間P3Dの途中に2D映像の再生期間P2Dが挿入された場合において、再生装置102から送出される再生モードとフレームL、Rとの変化、表示装置103によって表示されるフレームL、Rの変化、及びシャッター眼鏡104が左右のレンズを透明にする期間LSL、LSRの第4変形例を示す模式図である。図11は図9とは、表示装置103が2D映像の再生期間P2Dにおいて、レフトビュー・フレームLとライトビュー・フレームRとの対からレフトビュー・フレームLcを再構成している点が異なる。その他の点については、図11の(a)−(d)はそれぞれ、図9の(a)−(d)と同様である。従って、それらの詳細については図7、9の説明を援用する。
図11の(a)を参照するに、第1時刻T1から第2時刻T2までは2D映像の再生期間P2Dであって、インフォ・フレーム内の再生モードは“2D”を示す。その場合、表示装置103はまず、3D映像の一つのフレームを構成するレフトビュー・フレームLとライトビュー・フレームRとの対から、新たなレフトビュー・フレームLcを再構成する。それらのフレームL、R間では、被写体を見る視点が微妙に異なるだけであるので、各フレームL、Rの表す映像は互いに近似している。従って、その近似性を利用して、新たなレフトビュー・フレームLcの解像度及び画質を元のレフトビュー・フレームLよりも向上させることが一般に可能である。表示装置103は次に、フレームレートを3D表示モードでの値(例えば120fps)から2D表示モードでの値(例えば60fps)へ降下させる。それにより、新たなレフトビュー・フレームLcはそれぞれ1回ずつ表示される。こうして、2D映像の再生期間P2Dでは映像の解像度及び画質を向上させることができ、かつ、フレームの切り換えに伴う消費電力を削減することができる。
<BD−ROMディスク上のデータ構造>
図12は、図1に示されているBD−ROMディスク101上のデータ構造を示す模式図である。図12を参照するに、BD−ROMディスク101上のデータ記録領域の最内周部にはBCA(Burst Cutting Area)1201が設けられている。BCAに対してはBD−ROMドライブ121によるアクセスのみが許可され、アプリケーション・プログラムによるアクセスは禁止される。それにより、BCA1201は著作権保護技術に利用される。BCA1201よりも外側のデータ記録領域では内周から外周へ向けてトラックが螺旋状に延びている。図12にはトラック1202が模式的に横方向に引き伸ばされて描かれている。その左側はディスク101の内周部を表し、右側は外周部を表す。図12に示されているように、トラック1202は内周から順に、リードイン領域1202A、ボリューム領域1202B、及びリードアウト領域1202Cを含む。リードイン領域1202AはBCA1201のすぐ外周側に設けられている。リードイン領域1202Aは、ボリューム領域1202Bに記録されたデータのサイズ及び物理アドレス等、BD−ROMドライブ121によるボリューム領域1202Bへのアクセスに必要な情報を含む。リードアウト領域1202Cはデータ記録領域の最外周部に設けられ、ボリューム領域1202Bの終端を示す。ボリューム領域1202Bは、映像及び音声等のアプリケーション・データを含む。
ボリューム領域1202Bは「セクタ」と呼ばれる小領域1202Dに分割されている。セクタのサイズは共通であり、例えば2048バイトである。各セクタ1202Dにはボリューム領域1202Bの先端から順に通し番号が振られている。この通し番号は論理ブロック番号(LBN)と呼ばれ、BD−ROMディスク101上の論理アドレスに利用される。BD−ROMディスク101からのデータの読み出しでは、宛先のセクタのLBNが指定されることによって読み出し対象のデータが特定される。こうして、ボリューム領域1202Bはセクタ単位でアクセス可能である。更に、BD−ROMディスク101上では論理アドレスが物理アドレスと実質的に等しい。特にLBNが連続している領域では物理アドレスも実質的に連続している。従って、BD−ROMドライブ121は、その光ピックアップにシークを行わせることなく、LBNが連続しているセクタからデータを連続して読み出すことができる。
ボリューム領域1202Bに記録されたデータは所定のファイルシステムで管理される。そのファイルシステムとしてはUDF(Universal Disc Format)が採用されている。そのファイルシステムはその他にISO9660であってもよい。そのファイルシステムに従い、ボリューム領域1202Bに記録されたデータはディレクトリ/ファイル形式で表現される(詳細は《補足》参照)。すなわち、それらのデータはディレクトリ単位又はファイル単位でアクセス可能である。
≪BD−ROMディスク上のディレクトリ/ファイル構造≫
図12は更に、BD−ROMディスク101のボリューム領域1202Bに格納されたデータのディレクトリ/ファイル構造を示す。図12を参照するに、このディレクトリ/ファイル構造では、ルート(ROOT)ディレクトリ1203の直下にBDムービー(BDMV:BD Movie)ディレクトリ1210が置かれている。BDMVディレクトリ1210の直下には、インデックス・ファイル(index.bdmv)1211とムービーオブジェクト・ファイル(MovieObject.bdmv)1212とが置かれている。
インデックス・ファイル1211は、BD−ROMディスク101に記録されたコンテンツの全体を管理するための情報である。その情報は特に、そのコンテンツを再生装置102に認識させるための情報、及びインデックス・テーブルを含む。インデックス・テーブルは、そのコンテンツを構成するタイトルと、再生装置102の動作を制御するためのプログラムとの間の対応表である。そのプログラムを「オブジェクト」という。オブジェクトの種類にはムービーオブジェクトとBD−J(BD Java (登録商標))オブジェクトとがある。
ムービーオブジェクト・ファイル1212は一般に複数のムービーオブジェクトを含む。各ムービーオブジェクトはナビゲーション・コマンドの列を含む。ナビゲーション・コマンドは、一般的なDVDプレーヤによる再生処理と同様な再生処理を再生装置102に実行させるための制御指令である。ナビゲーション・コマンドの種類には、例えば、タイトルに対応するプレイリスト・ファイルの読み出し命令、プレイリスト・ファイルの示すAVストリーム・ファイルの再生命令、及び別のタイトルへの遷移命令がある。ナビゲーション・コマンドはインタプリタ型言語で記述され、再生装置102に組み込まれたインタプリタ、すなわちジョブ制御プログラムによって解読され、再生装置102の制御部に所望のジョブを実行させる。ナビゲーション・コマンドはオペコードとオペランドとから成る。オペコードは、タイトルの分岐と再生及び演算等、再生装置102に実行させるべき操作の種類を示す。オペランドは、タイトル番号等、その操作の対象の識別情報を示す。再生装置102の制御部は、例えばユーザの操作に応じて各ムービーオブジェクトを呼び出し、そのムービーオブジェクトに含まれるナビゲーション・コマンドを列の順に実行する。それにより、再生装置102は一般的なDVDプレーヤと同様に、まず、表示装置103にメニューを表示してユーザにコマンドを選択させる。再生装置102は次に、選択されたコマンドに応じて、タイトルの再生開始/停止、及び別のタイトルへの切り換え等、再生される映像の進行を動的に変化させる。
図12を更に参照するに、BDMVディレクトリ1210の直下には、プレイリスト(PLAYLIST)ディレクトリ1220、クリップ情報(CLIPINF)ディレクトリ1230、ストリーム(STREAM)ディレクトリ1240、BD−Jオブジェクト(BDJO:BD Java Object)ディレクトリ1250、及びJava(登録商標)アーカイブ(JAR:Java Archive)ディレクトリ1260が置かれている。
STREAMディレクトリ1240の直下には、三種類のAVストリーム・ファイル(01000.m2ts)1241、(02000.m2ts)1242、(03000.m2ts)1243、及び、立体視インターリーブ・ファイル(SSIF:Stereoscopic Interleaved File)ディレクトリ1244が置かれている。SSIFディレクトリ1244の直下には、二種類のAVストリーム・ファイル(01000.ssif)1245、(02000.ssif)1246が置かれている。
「AVストリーム・ファイル」は、BD−ROMディスク101上に記録された映像コンテンツの実体のうち、ファイルシステムの定めるファイル形式に整えられたものをいう。ここで、映像コンテンツの実体とは一般に、映像・音声・字幕等を表す各種のストリーム・データ、すなわちエレメンタリ・ストリームが多重化されたストリーム・データを意味する。この多重化ストリーム・データは内蔵のプライマリ・ビデオ・ストリームの種類に依ってメイン・トランスポート・ストリーム(TS)とサブTSとに大別される。「メインTS」は、プライマリ・ビデオ・ストリームとしてベースビュー・ビデオ・ストリームを含む多重化ストリーム・データをいう。「ベースビュー・ビデオ・ストリーム」は、単独で再生可能であって、2D映像を表すビデオ・ストリームをいう。「サブTS」は、プライマリ・ビデオ・ストリームとしてディペンデントビュー・ビデオ・ストリームを含む多重化ストリーム・データをいう。「ディペンデントビュー・ビデオ・ストリーム」は、その再生にベースビュー・ビデオ・ストリームを必要とし、そのベースビュー・ビデオ・ストリームとの組み合わせで3D映像を表すビデオ・ストリームをいう。ディペンデントビュー・ビデオ・ストリームの種類には、ライトビュー・ビデオ・ストリーム、レフトビュー・ビデオ・ストリーム、及びデプスマップ・ストリームがある。「ライトビュー・ビデオ・ストリーム」は、ベースビュー・ビデオ・ストリームの表す2D映像がL/Rモードの再生装置によって3D映像のレフトビューとして利用されるときに、その3D映像のライトビューを表すビデオ・ストリームとして利用される。「レフトビュー・ビデオ・ストリーム」はその逆である。「デプスマップ・ストリーム」は、ベースビュー・ビデオ・ストリームの表す2D映像がデプス・モードの再生装置によって仮想的な2D画面への3D映像の射影として利用されるとき、その3D映像のデプスマップを表すストリーム・データとして利用される。特にそのベースビュー・ビデオ・ストリームがレフトビューを表すときに利用されるデプスマップ・ストリームを「レフトビュー・デプスマップ・ストリーム」といい、そのベースビュー・ビデオ・ストリームがライトビューを表すときに利用されるデプスマップ・ストリームを「ライトビュー・デプスマップ・ストリーム」という。
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上に記録された一連のデータを異なるファイルに共有させ、いずれのファイルとしてもアクセス可能にする仕組みを「ファイルのクロスリンク」という。
図12に示されている例では、第1AVストリーム・ファイル(01000.m2ts)1241はファイル2Dであり、第2AVストリーム・ファイル(02000.m2ts)1242と第3AVストリーム・ファイル(03000.m2ts)1243とはいずれもファイルDEPである。このように、ファイル2DとファイルDEPとはSTREAMディレクトリ1240の直下に置かれる。第1AVストリーム・ファイル、すなわちファイル2D1241の含むベースビュー・ビデオ・ストリームは3D映像のレフトビューを表す。第2AVストリーム・ファイル、すなわち第1ファイルDEP1242の含むディペンデントビュー・ビデオ・ストリームはライトビュー・ビデオ・ストリームである。第3AVストリーム・ファイル、すなわち第2ファイルDEP1243の含むディペンデントビュー・ビデオ・ストリームはデプスマップ・ストリームである。
図12に示されている例では更に、第4AVストリーム・ファイル(01000.ssif)1245と第5AVストリーム・ファイル(02000.ssif)1246とはいずれもファイルSSである。このように、ファイルSSはSSIFディレクトリ1244の直下に置かれる。第4AVストリーム・ファイル、すなわち第1ファイルSS1245はファイル2D1241とはメインTS、特にベースビュー・ビデオ・ストリームを共有し、第1ファイルDEP1242とはサブTS、特にライトビュー・ビデオ・ストリームを共有する。第5AVストリーム・ファイル、すなわち第2ファイルSS1246はファイル2D1241とはメインTS、特にベースビュー・ビデオ・ストリームを共有し、第2ファイルDEP1243とはサブTS、特にデプスマップ・ストリームを共有する。
CLIPINFディレクトリ1230には、三種類のクリップ情報ファイル(01000.clpi)1231、(02000.clpi)1232、(03000.clpi)1233が置かれている。「クリップ情報ファイル」は、ファイル2DとファイルDEPとに一対一に対応付けられたファイルであって、特に各ファイルのエントリ・マップを含むものをいう。「エントリ・マップ」は、ファイル2D又はファイルDEPの表す各シーンの表示時間と、そのシーンが記録された各ファイル内のアドレスとの間の対応表である。クリップ情報ファイルのうち、ファイル2Dに対応付けられているものを「2Dクリップ情報ファイル」といい、ファイルDEPに対応付けられているものを「ディペンデントビュー・クリップ情報ファイル」という。更に、ファイルDEPがライトビュー・ビデオ・ストリームを含むとき、対応するディペンデントビュー・クリップ情報ファイルを「ライトビュー・クリップ情報ファイル」という。ファイルDEPがデプスマップ・ストリームを含むとき、対応するディペンデントビュー・クリップ情報ファイルを「デプスマップ・クリップ情報ファイル」という。図12に示されている例では、第1クリップ情報ファイル(01000.clpi)1231は2Dクリップ情報ファイルであり、ファイル2D1241に対応付けられている。第2クリップ情報ファイル(02000.clpi)1232はライトビュー・クリップ情報ファイルであり、第1ファイルDEP1242に対応付けられている。第3クリップ情報ファイル(03000.clpi)1233はデプスマップ・クリップ情報ファイルであり、第2ファイルDEP1243に対応付けられている。
PLAYLISTディレクトリ1220には三種類のプレイリスト・ファイル(00001.mpls)1221、(00002.mpls)1222、(00003.mpls)1223が置かれている。「プレイリスト・ファイル」は、AVストリーム・ファイルの再生経路、すなわちAVストリーム・ファイルの再生対象の部分とその再生順序とを規定するファイルをいう。プレイリスト・ファイルの種類には2Dプレイリスト・ファイルと3Dプレイリスト・ファイルとがある。「2Dプレイリスト・ファイル」はファイル2Dの再生経路を規定する。「3Dプレイリスト・ファイル」は、2D再生モードの再生装置に対してはファイル2Dの再生経路を規定し、3D再生モードの再生装置に対してはファイルSSの再生経路を規定する。図12に示されている例では、第1プレイリスト・ファイル(00001.mpls)1221は2Dプレイリスト・ファイルであり、ファイル2D1241の再生経路を規定する。第2プレイリスト・ファイル(00002.mpls)1222は3Dプレイリスト・ファイルであり、2D再生モードの再生装置に対してはファイル2D1241の再生経路を規定し、L/Rモードの再生装置に対しては第1ファイルSS1245の再生経路を規定する。第3プレイリスト・ファイル(00003.mpls)1223は3Dプレイリスト・ファイルであり、2D再生モードの再生装置に対してはファイル2D1241の再生経路を規定し、デプス・モードの再生装置に対しては第2ファイルSS1246の再生経路を規定する。
BDJOディレクトリ1250にはBD−Jオブジェクト・ファイル(XXXXX.bdjo)1251が置かれている。BD−Jオブジェクト・ファイル1251はBD−Jオブジェクトを一つ含む。BD−Jオブジェクトはバイトコード・プログラムであり、再生装置102に実装されたJava仮想マシンにタイトルの再生処理及びグラフィックス映像の描画処理を実行させる。BD−JオブジェクトはJava言語等のコンパイラ型言語で記述されている。BD−Jオブジェクトは、アプリケーション管理テーブルと、参照対象のプレイリスト・ファイルの識別情報とを含む。「アプリケーション管理テーブル」は、Java仮想マシンに実行させるべきJavaアプリケーション・プログラムとその実行時期、すなわちライフサイクルとの対応表である。「参照対象のプレイリスト・ファイルの識別情報」は、再生対象のタイトルに対応するプレイリスト・ファイルを識別するための情報である。Java仮想マシンは、ユーザの操作又はアプリケーション・プログラムの指示に従って各BD−Jオブジェクトを呼び出し、そのBD−Jオブジェクトに含まれるアプリケーション管理テーブルに従ってJavaアプリケーション・プログラムを実行する。それにより、再生装置102は、再生される各タイトルの映像の進行を動的に変化させ、又は、表示装置103にグラフィックス映像をタイトルの映像とは独立に表示させる。
JARディレクトリ1260にはJARファイル(YYYYY.jar)1261が置かれている。JARファイル1261は、BD−Jオブジェクトの示すアプリケーション管理テーブルに従って実行されるべきJavaアプリケーション・プログラムの本体を一般に複数含む。「Javaアプリケーション・プログラム」は、BD−Jオブジェクトと同様、Java言語等のコンパイラ型言語で記述されたバイトコード・プログラムである。Javaアプリケーション・プログラムの種類には、Java仮想マシンにタイトルの再生処理を実行させるもの、及びJava仮想マシンにグラフィックス映像の描画処理を実行させるものが含まれる。JARファイル1261はJavaアーカイブ・ファイルであり、再生装置102に読み込まれたときにその内部のメモリで展開される。それにより、そのメモリの中にJavaアプリケーション・プログラムが格納される。
≪多重化ストリーム・データの構造≫
図13の(a)は、BD−ROMディスク101上のメインTSに多重化されたエレメンタリ・ストリームの一覧表である。メインTSはMPEG−2トランスポート・ストリーム(TS)形式のデジタル・ストリームであり、図12に示されているファイル2D1241に含まれる。図13の(a)を参照するに、メインTSはプライマリ・ビデオ・ストリーム1301とプライマリ・オーディオ・ストリーム1302A、1302Bとを含む。メインTSはその他に、プレゼンテーション・グラフィックス(PG)ストリーム1303A、1303B、インタラクティブ・グラフィックス(IG)ストリーム1304、セカンダリ・オーディオ・ストリーム1305、及びセカンダリ・ビデオ・ストリーム1306を含んでもよい。
プライマリ・ビデオ・ストリーム1301は映画の主映像を表し、セカンダリ・ビデオ・ストリーム1306は副映像を表す。ここで、主映像とは、映画の本編の映像等、コンテンツの主要な映像を意味し、例えば画面全体に表示されるものを指す。一方、副映像とは、例えば主映像の中に小さな画面で表示される映像のように、ピクチャ・イン・ピクチャ方式を利用して主映像と同時に画面に表示される映像を意味する。プライマリ・ビデオ・ストリーム1301とセカンダリ・ビデオ・ストリーム1306とはいずれもベースビュー・ビデオ・ストリームである。各ビデオ・ストリーム1301、1306は、MPEG−2、MPEG−4 AVC、又はSMPTE VC−1等の動画圧縮符号化方式で符号化されている。
プライマリ・オーディオ・ストリーム1302A、1302Bは映画の主音声を表す。ここで、二つのプライマリ・オーディオ・ストリーム1302A、1302Bの間では言語が異なる。セカンダリ・オーディオ・ストリーム1305は、対話画面の操作に伴う効果音等、主音声と重ね合わされるべき(ミキシングされるべき)副音声を表す。各オーディオ・ストリーム1302A、1302B、1305は、AC−3、ドルビー・デジタル・プラス(Dolby Digital Plus:「ドルビー・デジタル」は登録商標)、MLP(MeridianLossless Packing:登録商標)、DTS(Digital Theater System:登録商標)、DTS−HD、又はリニアPCM(Pulse Code Modulation)等の方式で符号化されている。
各PGストリーム1303A、1303Bは、グラフィックスによる字幕等、プライマリ・ビデオ・ストリーム1301の表す映像に重ねて表示されるべきグラフィックス映像を表す。二つのPGストリーム1303A、1303Bの間では、例えば字幕の言語が異なる。IGストリーム1304は、表示装置103の画面131上に対話画面を構成するためのグラフィックス・ユーザインタフェース(GUI)用のグラフィックス部品及びその配置を表す。
エレメンタリ・ストリーム1301−1306はパケット識別子(PID)を用いて識別される。PIDの割り当ては例えば次のとおりである。一つのメインTSはプライマリ・ビデオ・ストリームを一本のみ含むので、プライマリ・ビデオ・ストリーム1301には16進数値0x1011が割り当てられる。一つのメインTSに他のエレメンタリ・ストリームが種類ごとに最大32本まで多重化可能であるとき、プライマリ・オーディオ・ストリーム1302A、1302Bには0x1100から0x111Fまでのいずれかが割り当てられる。PGストリーム1303A、1303Bには0x1200から0x121Fまでのいずれかが割り当てられる。IGストリーム1304には0x1400から0x141Fまでのいずれかが割り当てられる。セカンダリ・オーディオ・ストリーム1305には0x1A00から0x1A1Fまでのいずれかが割り当てられる。セカンダリ・ビデオ・ストリーム1306には0x1B00から0x1B1Fまでのいずれかが割り当てられる。
図13の(b)は、BD−ROMディスク101上の第1サブTSに多重化されたエレメンタリ・ストリームの一覧表である。第1サブTSはMPEG−2 TS形式の多重化ストリーム・データであり、図12に示されている第1ファイルDEP1242に含まれる。図13の(b)を参照するに、第1サブTSはプライマリ・ビデオ・ストリーム1311を含む。第1サブTSはその他に、レフトビューPGストリーム1312A、1312B、ライトビューPGストリーム1313A、1313B、レフトビューIGストリーム1314、ライトビューIGストリーム1315、及びセカンダリ・ビデオ・ストリーム1316を含んでもよい。プライマリ・ビデオ・ストリーム1311はライトビュー・ビデオ・ストリームであり、メインTS内のプライマリ・ビデオ・ストリーム1301が3D映像のレフトビューを表すとき、その3D映像のライトビューを表す。レフトビューとライトビューとのPGストリームの対1312A+1313A、1312B+1313Bは、字幕等のグラフィックス映像を3D映像として表示するときにそのレフトビューとライトビューとの対を表す。レフトビューとライトビューとのIGストリームの対1314、1315は、対話画面のグラフィックス映像を3D映像として表示するときにそのレフトビューとライトビューとの対を表す。セカンダリ・ビデオ・ストリーム1316はライトビュー・ビデオ・ストリームであり、メインTS内のセカンダリ・ビデオ・ストリーム1306が3D映像のレフトビューを表すとき、その3D映像のライトビューを表す。
エレメンタリ・ストリーム1311−1316に対するPIDの割り当ては例えば次のとおりである。プライマリ・ビデオ・ストリーム1311には0x1012が割り当てられる。一つのサブTSに他のエレメンタリ・ストリームが種類別に最大32本まで多重化可能であるとき、レフトビューPGストリーム1312A、1312Bには0x1220から0x123Fまでのいずれかが割り当てられ、ライトビューPGストリーム1313A、1313Bには0x1240から0x125Fまでのいずれかが割り当てられる。レフトビューIGストリーム1314には0x1420から0x143Fまでのいずれかが割り当てられ、ライトビューIGストリーム1315には0x1440から0x145Fまでのいずれかが割り当てられる。セカンダリ・ビデオ・ストリーム1316には0x1B20から0x1B3Fまでのいずれかが割り当てられる。
図13の(c)は、BD−ROMディスク101上の第2サブTSに多重化されたエレメンタリ・ストリームの一覧表である。第2サブTSはMPEG−2 TS形式の多重化ストリーム・データであり、図12に示されている第2ファイルDEP1243に含まれる。図13の(c)を参照するに、第2サブTSはプライマリ・ビデオ・ストリーム1321を含む。第2サブTSはその他に、デプスマップPGストリーム1323A、1323B、デプスマップIGストリーム1324、及びセカンダリ・ビデオ・ストリーム1326を含んでもよい。プライマリ・ビデオ・ストリーム1321はデプスマップ・ストリームであり、メインTS内のプライマリ・ビデオ・ストリーム1301との組み合わせで3D映像を表す。デプスマップPGストリーム1323A、1323Bは、メインTS内のPGストリーム1303A、1303Bの表す2D映像が仮想的な2D画面への3D映像の射影として利用されるとき、その3D映像のデプスマップを表すPGストリームとして利用される。デプスマップIGストリーム1324は、メインTS内のIGストリーム1304の表す2D映像が仮想的な2D画面への3D映像の射影として利用されるとき、その3D映像のデプスマップを表すIGストリームとして利用される。セカンダリ・ビデオ・ストリーム1326はデプスマップ・ストリームであり、メインTS内のセカンダリ・ビデオ・ストリーム1306との組み合わせで3D映像を表す。
エレメンタリ・ストリーム1321−1326に対するPIDの割り当ては例えば次のとおりである。プライマリ・ビデオ・ストリーム1321には0x1013が割り当てられる。一つのサブTSに他のエレメンタリ・ストリームが種類別に最大32本まで多重化可能であるとき、デプスマップPGストリーム1323A、1323Bには0x1260から0x127Fまでのいずれかが割り当てられる。デプスマップIGストリーム1324には0x1460から0x147Fまでのいずれかが割り当てられる。セカンダリ・ビデオ・ストリーム1326には0x1B40から0x1B5Fまでのいずれかが割り当てられる。
図14は、多重化ストリーム・データ1400内でのTSパケットの配置を示す模式図である。このパケット構造はメインTSとサブTSとで共通である。多重化ストリーム・データ1400内では各エレメンタリ・ストリーム1401、1402、1403、1404はTSパケット1421、1422、1423、1424の列に変換されている。例えばビデオ・ストリーム1401では、まず、各フレーム1401A又は各フィールドが一つのPES(Packetized ElementaryStream)パケット1411に変換される。次に、各PESパケット1411が一般に複数のTSパケット1421に変換される。同様に、オーディオ・ストリーム1402、PGストリーム1403、及びIGストリーム1404はそれぞれ、一旦PESパケット1412、1413、1414の列に変換された後、TSパケット1422、1423、1424の列に変換される。最後に、各エレメンタリ・ストリーム1401、1402、1403、1404から得られたTSパケット1421、1422、1423、1424が一本のストリーム・データ1400に時分割で多重化される。
図15の(b)は、多重化ストリーム・データを構成するTSパケット列の形式を示す模式図である。各TSパケット1501は188バイト長のパケットである。図15の(b)を参照するに、各TSパケット1501は、TSペイロード1501Pとアダプテーション(adaptation)・フィールド(以下、ADフィールドと略す。)1501Aとの少なくともいずれか、及びTSヘッダ1501Hを含む。TSペイロード1501PとADフィールド1501Aとは、両方を合わせて184バイト長のデータ領域である。TSペイロード1501PはPESパケットの格納領域として利用される。図14に示されているPESパケット1411−1414はそれぞれ、一般に複数の部分に分割され、各部分が異なるTSペイロード1501Pに格納される。ADフィールド1501Aは、TSペイロード1501Pのデータ量が184バイトに満たないときにスタッフィング・バイト(すなわちダミー・データ)を格納するための領域である。ADフィールド1501Aはその他に、TSパケット1501が例えば後述のPCRであるときに、その情報の格納領域として利用される。TSヘッダ1501Hは4バイト長のデータ領域である。
図15の(a)は、TSヘッダ1501Hのデータ構造を示す模式図である。図15の(a)を参照するに、TSヘッダ1501Hは、TS優先度(transport_priority)1511、PID1512、及びADフィールド制御(adaptation_field_control)1513を含む。PID1512は、同じTSパケット1501内のTSペイロード1501Pに格納されたデータの属するエレメンタリ・ストリームのPIDを示す。TS優先度1511は、PID1512の示す値が共通するTSパケット群の中でのTSパケット1501の優先度を示す。ADフィールド制御1513は、TSパケット1501内でのADフィールド1501AとTSペイロード1501Pとのそれぞれの有無を示す。例えばADフィールド制御1513が“1”を示すとき、TSパケット1501はADフィールド1501Aを含まず、TSペイロード1501Pを含む。ADフィールド制御1513が“2”を示すときはその逆である。ADフィールド制御1513が“3”を示すとき、TSパケット1501はADフィールド1501AとTSペイロード1501Pとの両方を含む。
図15の(c)は、多重化ストリーム・データのTSパケット列から構成されたソースパケット列の形式を示す模式図である。図15の(c)を参照するに、各ソースパケット1502は192バイト長のパケットであり、図15の(b)に示されているTSパケット1501の一つと4バイト長のヘッダ(TP_Extra_Header)1502Hとを含む。TSパケット1501がBD−ROMディスク101に記録されるとき、そのTSパケット1501にヘッダ1502Hが付与されることによってソースパケット1502は構成される。ヘッダ1502HはATS(Arrival_Time_Stamp)を含む。「ATS」は時刻情報であり、次のように利用される:ソースパケット1502がBD−ROMディスク101から再生装置102内のシステム・ターゲット・デコーダへ送られたとき、そのソースパケット1502からTSパケット1502Pが抽出されてシステム・ターゲット・デコーダ内のPIDフィルタへ転送される。そのヘッダ1502H内のATSは、その転送が開始されるべき時刻を示す。ここで、「システム・ターゲット・デコーダ」は、多重化ストリーム・データをエレメンタリ・ストリームごとに復号する装置をいう。システム・ターゲット・デコーダと、それによるATSの利用との詳細については後述する。
図15の(d)は、一連のソースパケット1502が連続的に記録されたBD−ROMディスク101のボリューム領域1202B上のセクタ群の模式図である。図15の(d)を参照するに、一連のソースパケット1502は32個ずつ、三つの連続するセクタ1521、1522、1523に記録されている。これは、32個のソースパケットのデータ量192バイト×32=6144バイトが三つのセクタの合計サイズ2048バイト×3=6144バイトに等しいことに因る。このように、三つの連続するセクタ1521、1522、1523に記録された32個のソースパケット1502を「アラインド・ユニット(Aligned Unit)」1520という。再生装置102は、BD−ROMディスク101からソースパケット1502をアラインド・ユニット1520ごとに、すなわち32個ずつ読み出す。セクタ群1521、1522、1523、…は、先頭から順に32個ずつに分割され、それぞれが一つの誤り訂正符号(ECC)ブロック1530を構成している。BD−ROMドライブ121はECCブロック1530ごとに誤り訂正処理を行う。
≪PGストリームのデータ構造≫
図16は、PGストリーム1600のデータ構造を示す模式図である。図16を参照するに、PGストリーム1600は複数のデータ・エントリ#1、#2、…を含む。各データ・エントリはPGストリーム1600の表示単位(ディスプレイ・セット)を表し、再生装置102に一枚のグラフィックス・プレーンを構成させるのに必要なデータから成る。「グラフィックス・プレーン」とは、2Dグラフィックス映像を表すグラフィックス・データから生成されるプレーン・データをいう。「プレーン・データ」とは、画素データの二次元配列であって、映像フレームの解像度に等しいサイズのものをいう。一組の画素データは色座標値とα値(不透明度)との組み合わせから成る。色座標値はRGB値又はYCrCb値で表される。グラフィックス・プレーンの種類には、PGプレーン、IGプレーン、イメージ・プレーン、及びオン・スクリーン・ディスプレイ(OSD)プレーンが含まれる。PGプレーンはメインTS内のPGストリームから生成される。IGプレーンはメインTS内のIGストリームから生成される。イメージ・プレーンはBD−Jオブジェクトに従って生成される。OSDプレーンは再生装置102のファームウェアに従って生成される。
図16を更に参照するに、各データ・エントリは複数の機能セグメントを含む。それらの機能セグメントは、先頭から順に、表示制御セグメント(Presentation Control Segment:PCS)、ウィンドウ定義セグメント(Window Define Segment:WDS)、パレット定義セグメント(PalletDefine Segment:PDS)、及びオブジェクト定義セグメント(Object DefineSegment:ODS)を含む。
WDSは、グラフィックス・プレーン内の矩形領域、すなわちウィンドウを規定する。具体的には、WDSは、ウィンドウID1611、ウィンドウ位置1612、及びウィンドウ・サイズ1613を含む。ウィンドウID1611はWDSの識別情報(ID)である。ウィンドウ位置1612はグラフィックス・プレーン内でのウィンドウの位置、例えばウィンドウの左上角の座標を示す。ウィンドウ・サイズ1613はウィンドウの高さと幅とを示す。
PDSは、所定種類のカラーIDと色座標値(例えば、輝度Y、赤色差Cr、青色差Cb、不透明度α)との間の対応関係を規定する。具体的には、PDSはパレットID1621とカラー・ルックアップ・テーブル(CLUT)1622とを含む。パレットID1621はPDSのIDである。CLUT1622は、グラフィックス・オブジェクトの描画に利用される色の一覧表である。CLUT1622には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は、オブジェクト表示位置1601、クロッピング情報1602、参照ウィンドウID1603、参照パレットID1604、及び参照オブジェクトID1605を含む。オブジェクト表示位置1601は、グラフィックス・オブジェクトが表示されるべきグラフィックス・プレーン内の位置、例えばグラフィックス・オブジェクトが表示されるべき領域の左上角の座標を、WDSの規定するウィンドウ内の座標で表す。クロッピング情報1602は、クロッピング処理によってグラフィックス・オブジェクトの中から切り出されるべき矩形状の部分の範囲を示す。その範囲は例えば、左上角の座標、高さ、及び幅で規定される。その部分が、オブジェクト表示位置1601の示す位置に実際に描画される。参照ウィンドウID1603、参照パレットID1604、及び参照オブジェクトID1605はそれぞれ、グラフィックス・オブジェクトの描画処理において参照されるべきWDS、PDS、及びグラフィックス・オブジェクトのIDを示す。コンテンツ・プロバイダは、PCS内のそれらのパラメータを利用して、再生装置102に画面構成を指示する。それにより、例えば「ある字幕を徐々に消去しつつ、次の字幕を表示させる」という視覚効果を再生装置102に実現させることができる。
≪IGストリームのデータ構造≫
図14を更に参照するに、IGストリーム1404は、対話構成セグメント(Interactive Composition Segment:ICS)、PDS、及びODSを含む。PDSとODSとは、PGストリーム1403に含まれるものと同様な機能セグメントである。特に、ODSの含むグラフィックス・オブジェクトは、ボタン及びポップアップ・メニュー等、対話画面を構成するGUI用グラフィック部品を表す。ICSは、それらのグラフィックス・オブジェクトを用いた対話操作を規定する。具体的には、ICSは、ボタン及びポップアップ・メニュー等、ユーザ操作に応じて状態が変化するグラフィックス・オブジェクトのそれぞれについて取り得る状態、すなわち、ノーマル、セレクテッド、及びアクティブの各状態を規定する。ICSは更にボタン情報を含む。ボタン情報は、ユーザがボタン等に対して確定操作を行った際に再生装置の実行すべきコマンドを含む。
≪ビデオ・ストリームのデータ構造≫
図17は、ベースビュー・ビデオ・ストリーム1701とライトビュー・ビデオ・ストリーム1702とのピクチャを表示時間順に示す模式図である。図17を参照するに、ベースビュー・ビデオ・ストリーム1701はピクチャ1710、1711、1712、…、1719(以下、ベースビュー・ピクチャという。)を含み、ライトビュー・ビデオ・ストリーム1702はピクチャ1720、1721、1722、…、1729(以下、ライトビュー・ピクチャという。)を含む。各ピクチャ1710−1719、1720−1729は1フレーム又は1フィールドを表し、MPEG−2又はMPEG−4 AVC等の動画圧縮符号化方式によって圧縮されている。
上記の符号化方式による各ピクチャの圧縮には、そのピクチャの空間方向及び時間方向での冗長性が利用される。ここで、空間方向での冗長性のみを利用するピクチャの符号化を「ピクチャ内符号化」という。一方、時間方向での冗長性、すなわち、表示順序の連続する複数のピクチャ間でのデータの類似性を利用するピクチャの符号化を「ピクチャ間予測符号化」という。ピクチャ間予測符号化では、まず符号化対象のピクチャに対して、表示時間が前又は後である別のピクチャが参照ピクチャとして設定される。次に、符号化対象のピクチャとその参照ピクチャとの間で動きベクトルが検出され、それを利用して動き補償が行われる。更に、動き補償後のピクチャと符号化対象のピクチャとの間の差分値が求められ、その差分値から空間方向での冗長性が除去される。こうして、各ピクチャのデータ量が圧縮される。
図17を参照するに、ベースビュー・ピクチャ1710−1719は一般に複数のGOP1731、1732に分割されている。「GOP」は、I(Intra)ピクチャを先頭とする複数枚の連続するピクチャの列をいう。「Iピクチャ」は、ピクチャ内符号化によって圧縮されたピクチャをいう。GOPは一般に、Iピクチャの他に、P(Predictive)ピクチャとB(Bidirectionally Predivtive)ピクチャとを含む。「Pピクチャ」は、ピクチャ間予測符号化によって圧縮されたピクチャであって、表示時間がそれよりも前であるIピクチャ又は別のPピクチャが一枚、参照ピクチャとして利用されたものをいう。「Bピクチャ」は、ピクチャ間予測符号化によって圧縮されたピクチャであって、表示時間がそれよりも前又は後であるIピクチャ又はPピクチャが二枚、参照ピクチャとして利用されたものをいう。Bピクチャのうち、他のピクチャに対するピクチャ間予測符号化で参照ピクチャとして利用されるものを特に「Br(reference B)ピクチャ」という。
図17に示されている例では、各GOP1731、1732内のベースビュー・ピクチャが以下の順で圧縮される。第1GOP1731では、まず先頭のベースビュー・ピクチャがI0ピクチャ1710に圧縮される。ここで、下付の数字は、各ピクチャに表示時間順に割り振られた通し番号を示す。次に、4番目のベースビュー・ピクチャがI0ピクチャ1710を参照ピクチャとしてP3ピクチャ1713に圧縮される。ここで、図17に示されている各矢印は、先端のピクチャが後端のピクチャに対する参照ピクチャであることを示す。続いて、2、3番目のベースビュー・ピクチャがそれぞれ、I0ピクチャ1710とP3ピクチャ1713との両方を参照ピクチャとして、Br1ピクチャ1711、Br2ピクチャ1712に圧縮される。更に7番目のベースビュー・ピクチャがP3ピクチャ1713を参照ピクチャとしてP6ピクチャ1716に圧縮される。続いて、4、5番目のベースビュー・ピクチャがそれぞれ、P3ピクチャ1713とP6ピクチャ1716との両方を参照ピクチャとして、Br4ピクチャ1714、Br5ピクチャ1715に圧縮される。同様に、第2GOP1732では、まず先頭のベースビュー・ピクチャがI7ピクチャ1717に圧縮される。次に3番目のベースビュー・ピクチャがI7ピクチャ1717を参照ピクチャとしてP9ピクチャ1719に圧縮される。続いて、2番目のベースビュー・ピクチャが、I7ピクチャ1717とP9ピクチャ1719との両方を参照ピクチャとして、Br8ピクチャ1718に圧縮される。
ベースビュー・ビデオ・ストリーム1701では各GOP1731、1732がその先頭にIピクチャを必ず含むので、ベースビュー・ピクチャはGOPごとに復号可能である。例えば第1GOP1731では、まずI0ピクチャ1710が単独で復号される。次に、復号後のI0ピクチャ1710を利用してP3ピクチャ1713が復号される。続いて、復号後のI0ピクチャ1710とP3ピクチャ1713との両方を利用してBr1ピクチャ1711とBr2ピクチャ1712とが復号される。後続のピクチャ群1714、1715、…も同様に復号される。こうして、ベースビュー・ビデオ・ストリーム1701は単独で復号可能であり、更にGOP単位でのランダム・アクセスが可能である。
図17を更に参照するに、ライトビュー・ピクチャ1720−1729はピクチャ間予測符号化で圧縮されている。しかし、その符号化方法はベースビュー・ピクチャ1710−1719の符号化方法とは異なり、映像の時間方向での冗長性に加え、左右の映像間の冗長性をも利用する。具体的には、各ライトビュー・ピクチャ1720−1729の参照ピクチャが、図17に矢印で示されているように、ライトビュー・ビデオ・ストリーム1702からだけでなく、ベースビュー・ビデオ・ストリーム1701からも選択される。特に各ライトビュー・ピクチャ1720−1729と、その参照ピクチャとして選択されたベースビュー・ピクチャとは表示時刻が実質的に等しい。それらのピクチャは3D映像の同じシーンのライトビューとレフトビューとの対、すなわち視差映像を表す。このように、ライトビュー・ピクチャ1720−1729はベースビュー・ピクチャ1710−1719と一対一に対応する。特にそれらのピクチャ間ではGOP構造が共通である。
図17に示されている例では、まず第1GOP1731内の先頭のライトビュー・ピクチャがベースビュー・ビデオ・ストリーム1701内のI0ピクチャ1710を参照ピクチャとしてP0ピクチャ1720に圧縮される。それらのピクチャ1710、1720は3D映像の先頭フレームのレフトビューとライトビューとを表す。次に、4番目のライトビュー・ピクチャがP0ピクチャ1720とベースビュー・ビデオ・ストリーム1501内のP3ピクチャ1513との両方を参照ピクチャとしてP3ピクチャ1723に圧縮される。続いて、2番目のライトビュー・ピクチャが、P0ピクチャ1720とP3ピクチャ1723とに加えて、ベースビュー・ビデオ・ストリーム1701内のBr1ピクチャ1711を参照ピクチャとして、B1ピクチャ1721に圧縮される。同様に、3番目のライトビュー・ピクチャが、P0ピクチャ1720とP3ピクチャ1730とに加えて、ベースビュー・ビデオ・ストリーム1701内のBr2ピクチャ1712を参照ピクチャとして、B2ピクチャ1722に圧縮される。以降のライトビュー・ピクチャ1724−1729についても同様に、そのライトビュー・ピクチャと表示時刻が実質的に等しいベースビュー・ピクチャが参照ピクチャとして利用される。
上記のような左右の映像間の相関関係を利用した動画圧縮符号化方式としては、MVC(MultiviewVideo Coding)と呼ばれるMPEG−4 AVC/H.264の修正規格が知られている。MVCは、ISO/IEC MPEGとITU−T VCEGとの共同プロジェクトであるJVT(Joint Video Team)によって2008年7月に策定されたものであり、複数の視点から見える映像をまとめて符号化するための規格である。MVCでは映像間予測符号化に、映像の時間方向での類似性だけでなく、視点の異なる映像間の類似性も利用される。その予測符号化では、各視点から見た映像を個別に圧縮する予測符号化よりも映像の圧縮率が高い。
上記のとおり、各ライトビュー・ピクチャ1720−1729の圧縮にはベースビュー・ピクチャが参照ピクチャとして利用される。従って、ベースビュー・ビデオ・ストリーム1701とは異なり、ライトビュー・ビデオ・ストリーム1702を単独で復号することはできない。しかし、視差映像間の差異は一般にわずかであり、すなわちレフトビューとライトビューとの間の相関は高い。従って、ライトビュー・ピクチャは一般にベースビュー・ピクチャよりも圧縮率が著しく高く、すなわちデータ量が著しく小さい。
図17には示されていないが、デプスマップ・ストリームは複数のデプスマップを含む。それらのデプスマップはベースビュー・ピクチャと一対一に対応し、各ベースビュー・ピクチャの示す1フレーム又は1フィールドの2D映像に対するデプスマップを表す。各デプスマップは、ベースビュー・ピクチャと同様、MPEG−2又はMPEG−4 AVC等の動画圧縮符号化方式によって圧縮されている。特にその符号化方式ではピクチャ間予測符号化が利用される。すなわち、各デプスマップが他のデプスマップを参照ピクチャとして利用して圧縮される。デプスマップ・ストリームは、ベースビュー・ビデオ・ストリームと同様にGOP単位に分割され、各GOPがその先頭にIピクチャを必ず含む。従って、デプスマップはGOPごとに単独で復号可能である。しかし、デプスマップ自体は2D映像の各部の奥行きを画素別に表す情報でしかないので、デプスマップ・ストリームを単独で映像の再生に利用することはできない。デプスマップ・ストリームの圧縮に利用される符号化方式は、ライトビュー・ビデオ・ストリームの圧縮に利用される符号化方式と等しい。例えば、ライトビュー・ビデオ・ストリームがMVCのフォーマットで符号化されているとき、デプスマップ・ストリームもMVCのフォーマットで符号化されている。その場合、再生装置102は3D映像の再生時、符号化方式を一定に維持したまま、L/Rモードとデプス・モードとの切り換えをスムーズに実現できる。
図18は、ビデオ・ストリーム1800のデータ構造の詳細を示す模式図である。このデータ構造はベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとで実質的に共通である。図18を参照するに、ビデオ・ストリーム1800は一般に複数のビデオ・シーケンス#1、#2、…から構成されている。「ビデオ・シーケンス」は、一つのGOP1810を構成するピクチャ群1811、1812、1813、1814、…に個別にヘッダ等の付加情報を組み合わせたものである。この付加情報と各ピクチャとの組み合わせを「ビデオ・アクセスユニット(VAU)」という。すなわち、各GOP1810、1820ではピクチャごとに一つのVAU#1、#2、…が構成されている。各ピクチャはVAU単位でビデオ・ストリーム1800から読み出し可能である。
図18は更に、ベースビュー・ビデオ・ストリーム内で各ビデオ・シーケンスの先端に位置するVAU#11831の構造を示す。VAU#11831は、アクセスユニット(AU)識別コード1831A、シーケンス・ヘッダ1831B、ピクチャ・ヘッダ1831C、補足データ1831D、及び圧縮ピクチャ・データ1831Eを含む。2番目以降のVAU#2は、シーケンス・ヘッダ1831Bを含まない点を除き、VAU#11831と同じ構造である。AU識別コード1831Aは、VAU#11831の先端を示す所定の符号である。シーケンス・ヘッダ1831BはGOPヘッダともいい、VAU#11831を含むビデオ・シーケンス#1の識別番号を含む。シーケンス・ヘッダ1831Bは更にGOP1810の全体で共通する情報、例えば、解像度、フレームレート、アスペクト比、及びビットレートを含む。ピクチャ・ヘッダ1831Cは、固有の識別番号、ビデオ・シーケンス#1の識別番号、及びピクチャの復号に必要な情報、例えば符号化方式の種類を示す。補足データ1831Dは、ピクチャの復号以外に関する付加的な情報、例えば、クローズド・キャプションを示す文字情報、GOP構造に関する情報、及びタイムコード情報を含む。補足データ1831Dは特に復号スイッチ情報を含む(詳細は《補足》参照)。圧縮ピクチャ・データ1831Eはベースビュー・ピクチャを含む。VAU#11831はその他に必要に応じ、パディング・データ1831F、シーケンス終端コード1831G、及びストリーム終端コード1831Hのいずれか又は全てを含んでもよい。パディング・データ1831Fはダミーデータである。そのサイズを圧縮ピクチャ・データ1831Eのサイズに合わせて調節することにより、VAU#11831のビットレートを所定値に維持することができる。シーケンス終端コード1831Gは、VAU#11831がビデオ・シーケンス#1の終端に位置することを示す。ストリーム終端コード1831Hはベースビュー・ビデオ・ストリーム1800の終端を示す。
図18はまた、ディペンデントビュー・ビデオ・ストリーム内で各ビデオ・シーケンスの先端に位置するVAU#11832の構造も示す。VAU#11832は、サブAU識別コード1832A、サブシーケンス・ヘッダ1832B、ピクチャ・ヘッダ1832C、補足データ1682D、及び圧縮ピクチャ・データ1832Eを含む。2番目以降のVAU#2は、サブシーケンス・ヘッダ1832Bを含まない点を除き、VAU#11832と同じ構造である。サブAU識別コード1832Aは、VAU#11832の先端を示す所定の符号である。サブシーケンス・ヘッダ1832Bは、VAU#11832を含むビデオ・シーケンス#1の識別番号を含む。サブシーケンス・ヘッダ1832Bは更にGOP1810の全体で共通する情報、例えば、解像度、フレームレート、アスペクト比、及びビットレートを含む。特にそれらの値は、ベースビュー・ビデオ・ストリームの対応するGOPに対して設定された値、すなわちVAU#11831のシーケンス・ヘッダ1831Bの示す値に等しい。ピクチャ・ヘッダ1832Cは、固有の識別番号、ビデオ・シーケンス#1の識別番号、及びピクチャの復号に必要な情報、例えば符号化方式の種類を示す。補足データ1832Dはオフセット・メタデータのみを含む(詳細は後述する)。ここで、補足データの種類には、オフセット・メタデータのみを含むもの1832Dの他にも、ピクチャの復号以外に関する付加的な情報、例えば、クローズド・キャプションを示す文字情報、GOP構造に関する情報、タイムコード情報、及び復号スイッチ情報を含むものがある。従って、VAU#11832は、補足データ1832Dに加えて、他の補足データを一つ以上含んでいてもよい。圧縮ピクチャ・データ1832Eはディペンデントビュー・ピクチャを含む。VAU#11832はその他に、必要に応じて、パディング・データ1832F、シーケンス終端コード1832G、及びストリーム終端コード1832Hのいずれか又は全てを含んでもよい。パディング・データ1832Fはダミーデータである。そのサイズを圧縮ピクチャ・データ1832Eのサイズに合わせて調節することにより、VAU#11832のビットレートを所定値に維持することができる。シーケンス終端コード1832Gは、VAU#11832がビデオ・シーケンス#1の終端に位置することを示す。ストリーム終端コード1832Hはディペンデントビュー・ビデオ・ストリーム1800の終端を示す。
VAUの各部の具体的な内容はビデオ・ストリーム1800の符号化方式ごとに異なる。例えば、その符号化方式がMPEG−4 AVCであるとき、図18に示されているVAUの各部は一つのNAL(Network Abstraction Layer)ユニットから構成される。具体的には、AU識別コード1831A、シーケンス・ヘッダ1831B、ピクチャ・ヘッダ1831C、補足データ1831D、圧縮ピクチャ・データ1831E、パディング・データ1831F、シーケンス終端コード1831G、及びストリーム終端コード1831Hはそれぞれ、AUデリミタ(Access Unit Delimiter)、SPS(シーケンス・パラメータ・セット)、PPS(ピクチャ・パラメータ・セット)、SEI(Supplemental Enhancement Information)、ビュー・コンポーネント、フィラー・データ(Filler Data)、エンド・オブ・シーケンス(End of Sequence)、及びエンド・オブ・ストリーム(End of Stream)に相当する。特にVAU#11832では、オフセット・メタデータを含む補足データ1832Dは一つのNALユニットで構成され、そのNALユニットはオフセット・メタデータ以外のデータを含まない。
図19は、PESパケット列1902へのビデオ・ストリーム1901の格納方法の詳細を示す模式図である。この格納方法はベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとで共通である。図19を参照するに、実際のビデオ・ストリーム1901ではピクチャが、表示時間順ではなく、符号化順に多重化されている。例えばベースビュー・ビデオ・ストリームのVAUには、図19に示されているように、先頭から順に、I0ピクチャ1910、P3ピクチャ1911、B1ピクチャ1912、B2ピクチャ1913、…が格納されている。ここで、下付の数字は、各ピクチャに表示時間順に割り振られた通し番号を示す。P3ピクチャ1911の符号化にはI0ピクチャ1910が参照ピクチャとして利用され、B1ピクチャ1912とB2ピクチャ1913との各符号化にはI0ピクチャ1910とP3ピクチャ1911との両方が参照ピクチャとして利用される。それらのVAUが一つずつ、異なるPESパケット1920、1921、1922、1923、…に格納される。各PESパケット1920、…はPESペイロード1920PとPESヘッダ1920Hとを含む。VAUはPESペイロード1920Pに格納される。一方、PESヘッダ1920Hは、同じPESパケット1920のPESペイロード1920Pに格納されたピクチャの表示時刻、すなわちPTS(PresentationTime−Stamp)、及びそのピクチャの復号時刻、すなわちDTS(Decoding Time−Stamp)を含む。
図19に示されているビデオ・ストリーム1901と同様、図13、14に示されている他のエレメンタリ・ストリームも、一連のPESパケットの各PESペイロードに格納される。更に各PESパケットのPESヘッダは、そのPESパケットのPESペイロードに格納されたデータのPTSを含む。
図20は、ベースビュー・ビデオ・ストリーム2001とディペンデントビュー・ビデオ・ストリーム2002との各ピクチャに割り当てられたPTSとDTSとの間の関係を示す模式図である。図20を参照するに、両ビデオ・ストリーム2001、2002の間では、3D映像の同じフレーム又はフィールドを表す一対のピクチャに対して、同じPTS及び同じDTSが割り当てられている。例えば3D映像の先頭のフレーム又はフィールドは、ベースビュー・ビデオ・ストリーム2001のI1ピクチャ2011とディペンデントビュー・ビデオ・ストリーム2002のP1ピクチャ2021との組み合わせから再現される。従って、それらのピクチャ2011、2021のPTSは等しく、かつDTSは等しい。ここで、下付の数字は、各ピクチャにDTSの順に割り振られた通し番号を示す。また、ディペンデントビュー・ビデオ・ストリーム2002がデプスマップ・ストリームであるとき、P1ピクチャ2021は、I1ピクチャ2011に対するデプスマップを表すIピクチャに置き換えられる。同様に、各ビデオ・ストリーム2001、2002の2番目のピクチャ、すなわちP2ピクチャ2012、2022のPTSは等しく、かつDTSは等しい。各ビデオ・ストリーム2001、2002の3番目のピクチャ、すなわちBr3ピクチャ2013とB3ピクチャ2023とでは、PTSとDTSとがいずれも共通である。Br4ピクチャ2014とB4ピクチャ2024とでも同様である。
ベースビュー・ビデオ・ストリーム2001とディペンデントビュー・ビデオ・ストリーム2002との間で、PTSが等しく、かつDTSが等しいピクチャを含むVAUの対を「3D・VAU」という。図20に示されているPTSとDTSとの割り当てにより、3D再生モードの再生装置102内のデコーダに、ベースビュー・ビデオ・ストリーム2001とディペンデントビュー・ビデオ・ストリーム2002とを3D・VAU単位でパラレルに処理させることが容易にできる。それにより、3D映像の同じフレーム又はフィールドを表す一対のピクチャが、デコーダによって確実にパラレルに処理される。更に、各GOPの先頭の3D・VAUではシーケンス・ヘッダが、同じ解像度、同じフレームレート、及び同じアスペクト比を含む。特にそのフレームレートは、2D再生モードにおいてベースビュー・ビデオ・ストリーム2001が単独で復号されるときの値に等しい。
≪オフセット・メタデータ≫
図21は、ディペンデントビュー・ビデオ・ストリーム2100の含むオフセット・メタデータ2110のデータ構造を示す模式図である。図21を参照するに、オフセット・メタデータ2110は、各ビデオ・シーケンス(すなわち、各GOP)の先端に位置するVAU#1内の補足データ2101に格納されている。図21を参照するに、オフセット・メタデータ2110は、PTS2111、オフセット・シーケンスID2112、及びオフセット・シーケンス2113を含む。PTS2111は、VAU#1内の圧縮ピクチャ・データの表すフレームのPTS、すなわち各GOPの最初のフレームのPTSに等しい。
オフセット・シーケンスID2112は、オフセット・シーケンス2113に順番に割り振られた通し番号0、1、2、…、Mである。文字Mは1以上の整数を表し、その整数はオフセット・シーケンス2113の総数に等しい。ビデオ・プレーンに合成されるべきグラフィックス・プレーン及び副映像プレーンにオフセット・シーケンスID2112が割り当てられる。それにより、各プレーン・データにオフセット・シーケンス2113が対応付けられている。ここで、「ビデオ・プレーン」とは、ビデオ・シーケンスの含むピクチャから生成されるプレーン・データ、すなわち画素データの二次元配列をいう。その配列のサイズは映像フレームの解像度に等しい。一組の画素データは、色座標値(RGB値又はYCrCb値)とα値との組み合わせから成る。
各オフセット・シーケンス2113は、フレーム番号2121とオフセット情報2122、2123との対応表である。フレーム番号2121は、一つのビデオ・シーケンス(例えば、ビデオ・シーケンス#1)の表すフレーム#1、#2、…、#Nに表示順に割り振られた通し番号1、2、…、Nである。整数Nは1以上であり、そのビデオ・シーケンスの含むフレームの総数を表す。各オフセット情報2122、2123は、一つのプレーン・データに対するオフセット制御を規定する制御情報である。
「オフセット制御」とは、グラフィックス・プレーン(又は副映像プレーン)に水平座標の左方向と右方向との各オフセットを与えて、レフトビュー・ビデオ・プレーンとライトビュー・ビデオ・プレーンとのそれぞれに合成する処理をいう。ここで、「レフトビュー/ライトビュー・ビデオ・プレーン」とは、ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとの組み合わせから生成される、レフトビュー/ライトビューを表すビデオ・プレーンをいう。「グラフィックス・プレーンに水平方向のオフセットを与える」とは、そのグラフィックス・プレーン内で各画素データを水平方向に変位させることをいう。それにより、一つのグラフィックス・プレーンから、レフトビューとライトビューとを表すグラフィックス・プレーンの対が生成される。その対から再生される2Dグラフィックス映像の各部の表示位置は、元の表示位置から左右にずれている。それらの変位が視聴者に両眼視差として錯覚されることにより、レフトビューとライトビューとの対がその視聴者には一つの3Dグラフィックス映像として見える。副映像プレーンの表す映像についても同様である。
オフセットは方向と大きさとで決まる。従って、図21に示されているとおり、各オフセット情報はオフセット方向2122とオフセット値2123とを含む。オフセット方向2122は、3Dグラフィックス映像の奥行きが画面よりも手前か奥かを示す。オフセット方向2122の値に依り、元の2Dグラフィックス映像の表示位置に対するレフトビューとライトビューとの各表示位置の方向が左又は右に決まる。オフセット値2123は、元の2Dグラフィックス映像の表示位置とレフトビュー又はライトビューの表示位置との間の距離を、水平方向の画素数で表す。
図22の(a)、(b)は、PGプレーン2210とIGプレーン2220とに対するオフセット制御を示す模式図である。それらのオフセット制御では、レフトビュー・ビデオ・プレーン2201とライトビュー・ビデオ・プレーン2202とのそれぞれへ二種類のグラフィックス・プレーン2210、2220が合成される。以下の説明では、PGプレーン2210の表す字幕2211を画面よりも手前に表示し、IGプレーン2220の表すボタン2221を画面よりも奥に表示する場合を想定する。
図22の(a)を参照するに、PGプレーン2210には、右方向のオフセットが与えられる。具体的には、まず、PGプレーン2210内の各画素データの位置が、レフトビュー・ビデオ・プレーン2201内の対応する画素データの位置から、オフセット値に等しい画素数SFPだけ右に(仮想的に)移動する。次に、レフトビュー・ビデオ・プレーン2201の範囲よりも右側に(仮想的に)はみ出ているPGプレーン2210の右端の帯状領域2212を「切り取る」。すなわち、その領域2212の画素データ群を破棄する。一方、PGプレーン2210の左端に透明な帯状領域2213を追加する。その帯状領域2213の幅は右端の帯状領域2212の幅、すなわちオフセット値SFPに等しい。こうして、PGプレーン2210から、レフトビューを表すPGプレーンが生成され、レフトビュー・ビデオ・プレーン2201に合成される。特に、そのレフトビューPGプレーンでは、字幕2211の表示位置が元の表示位置よりも右に、オフセット値SFPだけずれている。
IGプレーン2220には、左方向のオフセットが与えられる。具体的には、まずIGプレーン2220内の各画素データの位置が、レフトビュー・ビデオ・プレーン2201内の対応する画素データの位置から、オフセット値に等しい画素数SFIだけ左に(仮想的に)移動する。次に、レフトビュー・ビデオ・プレーン2210の範囲よりも左側に(仮想的に)はみ出ているIGプレーン2220の左端の帯状領域2222を切り取る。一方、IGプレーン2220の右端に透明な帯状領域2223を追加する。その帯状領域2223の幅は左端の帯状領域2222の幅、すなわちオフセット値SFIに等しい。こうして、IGプレーン2220から、レフトビューを表すIGプレーンが生成され、レフトビュー・ビデオ・プレーン2201に合成される。特に、そのレフトビューIGプレーンでは、ボタン2221の表示位置が元の表示位置よりも左に、オフセット値SFIだけずれている。
図22の(b)を参照するに、PGプレーン2210には左方向のオフセットが与えられ、IGプレーン2220には右方向のオフセットが与えられる。すなわち、上記の操作をPGプレーン2210とIGプレーン2220とで反対にすればよい。その結果、各プレーン・データ2210、2220から、ライトビューを表すプレーン・データが生成され、ライトビュー・ビデオ・プレーン2202に合成される。特にライトビューPGプレーンでは、字幕2211の表示位置が元の表示位置よりも左に、オフセット値SFPだけずれている。一方、ライトビューIGプレーンでは、ボタン2221の表示位置が元の表示位置よりも右に、オフセット値SFIだけずれている。
図22の(c)は、(a)、(b)に示されているグラフィックス・プレーンの表す2Dグラフィックス映像から視聴者2230に知覚される3Dグラフィックス映像を示す模式図である。それらのグラフィックス・プレーンの表す2Dグラフィックス映像が画面2240に交互に表示されるとき、視聴者2230には、図22の(c)に示されているように、字幕2231は画面2240よりも手前に見え、ボタン2232は画面2240よりも奥に見える。各3Dグラフィックス映像2231、2232と画面2240との間の距離は、オフセット値SFP、SFIによって調節可能である。
図23の(a)、(b)は、オフセット・シーケンスの具体例を示すグラフである。各グラフでは、オフセット方向が画面よりも手前を示すときにオフセット値が正である。図23の(a)は、図23の(b)のうち、最初のGOPの表示期間GOP1でのグラフを拡大したものである。図23の(a)を参照するに、階段状のグラフ2301は、オフセット・シーケンスID=0のオフセット・シーケンス、すなわちオフセット・シーケンス[0]のオフセット値を示す。水平なグラフ2302は、オフセット・シーケンスID=1のオフセット・シーケンス、すなわちオフセット・シーケンス[1]のオフセット値を示す。オフセット・シーケンス[0]のオフセット値2301は、最初のGOPの表示期間GOP1ではフレームFR1、FR2、FR3、…、FR15、…の順に階段状に増加している。図23の(b)を参照するに、そのオフセット値2301の階段状の増加は、2番目以降の各GOPの表示期間GOP2、GOP3、…、GOP40、…でも同様に継続される。1フレーム当たりの増加量が十分に細かいので、図23の(b)ではオフセット値2301が線形に連続的に増加しているように見える。一方、オフセット・シーケンス[1]のオフセット値2302は、最初のGOPの表示期間GOP1では負の一定値に維持されている。図23の(b)を参照するに、そのオフセット値2302は、40番目のGOPの表示期間GOP40の終了時、正の値に急増する。このようにオフセット値は不連続に変化してもよい。
図23の(c)は、図23の(a)、(b)に示されているオフセット・シーケンスに従って再現される3Dグラフィックス映像を示す模式図である。字幕の3D映像2303がオフセット・シーケンス[0]に従って表示されるとき、その3D映像2303は、画面2304の直ぐ手前から徐々に飛び出てくるように見える。一方、ボタンの3D映像2305がオフセット・シーケンス[1]に従って表示されるとき、その3D映像2305は、画面2304よりも奥に固定されている状態から突然、画面2304よりも手前に飛び出てくるように見える。このように、フレーム単位でのオフセット値の増減のパターンをオフセット・シーケンスごとに様々に変化させる。それにより、複数の3Dグラフィックス映像について、個々の奥行きの変化を多様に表現することができる。
≪AVストリーム・ファイルに含まれるその他のTSパケット≫
AVストリーム・ファイルに含まれるTSパケットの種類には、図14に示されているエレメンタリ・ストリームから変換されたもの以外に、PAT(Program Association Table)、PMT(Program MapTable)、及び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を同期させる。
図24は、PMT2410のデータ構造を示す模式図である。PMT2410は、PMTヘッダ2401、ディスクリプタ2402、及びストリーム情報2403を含む。PMTヘッダ2401は、PMT2410に含まれるデータの長さ等を示す。各ディスクリプタ2402は、PMT2410を含むAVストリーム・ファイルの全体に関するディスクリプタである。前述のコピー・コントロール情報はディスクリプタ2402の一つに含まれる。ストリーム情報2403は、AVストリーム・ファイルに含まれる各エレメンタリ・ストリームに関する情報であり、一つずつ異なるエレメンタリ・ストリームに割り当てられている。各ストリーム情報2403は、ストリーム・タイプ2431、PID2432、及びストリーム・ディスクリプタ2433を含む。ストリーム・タイプ2431は、そのエレメンタリ・ストリームの圧縮に利用されたコーデックの識別情報等を含む。PID2432は、そのエレメンタリ・ストリームのPIDを示す。ストリーム・ディスクリプタ2433は、そのエレメンタリ・ストリームの属性情報、例えばフレームレート及びアスペクト比を含む。
PCR、PMT、及びPATを利用することで、再生装置102内のデコーダにAVストリーム・ファイルを、欧州デジタル放送規格に準拠のパーシャル・トランスポート・ストリームと同様に処理させることができる。それにより、BD−ROMディスク101用の再生装置と欧州デジタル放送規格に準拠の端末装置との間の互換性を確保することができる。
≪多重化ストリーム・データのインターリーブ配置≫
3D映像のシームレス再生には、BD−ROMディスク101上にベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとをどのような物理的な配置で記録するかが重要である。ここで、「シームレス再生」とは、多重化ストリーム・データから映像と音声とを途切れさせることなく滑らかに再生することをいう。
図25は、図13に示されているメインTSと第1サブTSとのBD−ROMディスク101上での物理的な配置を示す模式図である。尚、第1サブTSに代えて第2サブTSが記録されていてもよい。図25を参照するに、各TSは複数のデータ・ブロック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]を「ディペンデントビュー・データ・ブロック」という。特に、第1サブTSに属するデータ・ブロックを「ライトビュー・データ・ブロック」といい、第2サブTSに属するデータ・ブロックを「デプスマップ・データ・ブロック」という。
各データ・ブロックB[n]、D[n]は、BD−ROMディスク101のファイルシステムでは、ファイル2D又はファイルDEP内の一つのエクステントとしてアクセス可能である。すなわち、各データ・ブロックの論理アドレスは、ファイル2D又はファイルDEPのファイル・エントリから知ることができる。
図25に示されている例では、ファイル2D(01000.m2ts)1241のファイル・エントリ2510がベースビュー・データ・ブロックB[n]の各サイズとその先端のLBNとを示す。従って、各ベースビュー・データ・ブロックB[n]はファイル2D1241のエクステントEXT2D[n]としてアクセス可能である。以下、ファイル2D1241に属するエクステントEXT2D[n]を「2Dエクステント」という。一方、第1ファイルDEP(02000.m2ts)1242のファイル・エントリ2520がディペンデントビュー・データ・ブロックD[n]の各サイズとその先端のLBNとを示す。従って、各ディペンデントビュー・データ・ブロックD[n]はライトビュー・データ・ブロックであり、第1ファイルDEP1242のエクステントEXT2[n]としてアクセス可能である。以下、第1ファイルDEP1242に属するエクステントEXT2[n]を「ライトビュー・エクステント」という。ディペンデントビュー・データ・ブロックD[n]がデプスマップ・データ・ブロックである場合も同様に、各デプスマップ・データ・ブロックは第2ファイルDEP(03000.m2ts)1243のエクステントとしてアクセス可能である。以下、第2ファイルDEP1243に属するエクステントを「デプスマップ・エクステント」という。更に、ライトビュー・エクステントとデプスマップ・エクステントとのように、いずれかのファイルDEPに属するエクステントを「ディペンデントビュー・エクステント」と総称する。
図25を参照するに、データ・ブロック群はBD−ROMディスク101上のトラックに沿って連続的に記録されている。更に、ベースビュー・データ・ブロックB[n]とディペンデントビュー・データ・ブロックD[n]とは一つずつ交互に配置されている。このようなデータ・ブロック群の配置を「インターリーブ配置」という。特に、インターリーブ配置で記録された一連のデータ・ブロック群を「エクステント・ブロック」という。図25には三つのエクステント・ブロック2501、2502、2503が示されている。第1エクステント・ブロック2501と第2エクステント・ブロック2502との間のように、エクステント・ブロックの間は多重化ストリーム・データ以外のデータの記録領域NAVによって分離される。また、BD−ROMディスク101が多層ディスクである場合、すなわち記録層を複数含む場合、第2エクステント・ブロック2502と第3エクステント・ブロック2503との間のように、エクステント・ブロックの間は記録層間の境界(以下、層境界という。)LBによっても分離される。こうして、一連の多重化ストリーム・データは、一般に複数のエクステント・ブロックに分割されて配置されている。その場合、再生装置102がその多重化ストリーム・データから映像をシームレスに再生するには、各エクステント・ブロックから再生される映像をシームレスに接続しなければならない。以下、そのために再生装置102が必要とする処理を「エクステント・ブロック間のシームレスな接続」という。
各エクステント・ブロック2501−2503では二種類のデータ・ブロックD[n]、B[n]の数が等しい。更に、(n+1)番目の隣接するデータ・ブロックの対D[n]、B[n]ではエクステントATC時間が等しい。以下、このようなデータ・ブロックの対を「エクステント・ペア」という。ここで、「ATC(Arrival Time Clock)」は、ATSの基準とされるべきクロックを意味する。「エクステントATC時間」は、一つのデータ・ブロック内のソースパケットに付与されたATSの範囲の大きさ、すなわち、そのデータ・ブロックの先頭のソースパケットと次のデータ・ブロックの先頭のソースパケットとの間でのATSの差を表す。その差は、再生装置102がそのデータ・ブロック内の全てのソースパケットをリード・バッファからシステム・ターゲット・デコーダへ転送するのに要する時間を、ATCの値で表したものに等しい。「リード・バッファ」は再生装置102内のバッファ・メモリであり、BD−ROMディスク101から読み出されたデータ・ブロックをシステム・ターゲット・デコーダへ送るまでの間、一時的に格納する。リード・バッファの詳細については後述する。図25に示されている例では、三つのエクステント・ブロック2501−2503が互いにシームレスに接続されるので、各エクステント・ペアD[n]、B[n](n=0、1、2、…)でエクステントATC時間が等しい。
各エクステント・ペアD[n]、B[n]では、先頭に位置するVAUは同じ3D・VAUに属し、特に、同じ3D映像を表すGOPの先頭のピクチャを含む。例えば図25では、各ライトビュー・データ・ブロックD[n]の先端はライトビュー・ビデオ・ストリームのPピクチャを含み、先頭のベースビュー・データ・ブロックB[n]の先端はベースビュー・ビデオ・ストリームのIピクチャを含む。そのライトビュー・ビデオ・ストリームのPピクチャは、そのベースビュー・ビデオ・ストリームのIピクチャの表す2D映像をレフトビューとするときのライトビューを表す。特にそのPピクチャは、図17に示されているように、そのIピクチャを参照ピクチャとして圧縮されている。従って、3D再生モードの再生装置102は、いずれのエクステント・ペアD[n]、B[n]からも3D映像の再生を開始できる。すなわち、飛び込み再生等、ビデオ・ストリームのランダムアクセスを要する処理が可能である。
図25に示されているインターリーブ配置では更に、各エクステント・ペアD[n]、B[n]の中でディペンデントビュー・データ・ブロックD[n]がベースビュー・データ・ブロックB[n]よりも先に配置される。それは、ディペンデントビュー・データ・ブロックD[n]が一般に、ベースビュー・データ・ブロックB[n]よりもデータ量が小さい、すなわちビットレートが低いことに因る。例えば(n+1)番目のライトビュー・データ・ブロックD[n]に含まれるピクチャは、図17に示されているように、(n+1)番目のベースビュー・データ・ブロックB[n]に含まれるピクチャを参照ピクチャとして圧縮されている。従って、そのライトビュー・データ・ブロックD[n]のサイズSEXT2[n]は一般に、そのベースビュー・データ・ブロックB[n]のサイズSEXT1[n]以下である:SEXT2[n]≦SEXT1[n]。一方、デプスマップの画素当たりのデータ量、すなわち奥行き値のビット数は一般に、ベースビュー・ピクチャの画素当たりのデータ量、すなわち色座標値とα値(不透明度)とのビット数の和よりも小さい。更に図13の(a)、(c)に示されているように、メインTSは第2サブ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時間の等しい部分の対に分割して読み出さねばならない。
図26の(a)は、あるBD−ROMディスク上に個別に連続して記録されたメインTS2601とサブTS2602との配置を示す模式図である。再生装置102がそれらのメインTS2601とサブTS2602とをパラレルに処理するとき、図26の(a)に実線の矢印(1)−(4)で示されているように、BD−ROMドライブ121はメインTS2601とサブTS2602とを交互に、エクステントATC時間の等しい部分ずつ読み出す。そのとき、BD−ROMドライブ121は、図26の(a)に破線の矢印で示されているように、読み出し処理の途中でBD−ROMディスク上の読み出し対象領域を大きく変化させなければならない。例えば矢印(1)の示すメインTS2601の先端部分が読み出された時、BD−ROMドライブ121は光ピックアップによる読み出し動作を一旦停止し、BD−ROMディスクの回転速度を上げる。それにより、矢印(2)の示すサブTS2602の先端部分が記録されたBD−ROMディスク上のセクタを速やかに光ピックアップの位置まで移動させる。このように、光ピックアップに読み出し動作を一旦停止させて、その間に次の読み出し対象領域上へ光ピックアップを位置づけるための操作を「ジャンプ」という。図26の(a)に示されている破線の矢印は、読み出し処理の途中で必要な各ジャンプの範囲を示す。各ジャンプの期間中、光ピックアップによる読み出し処理は停止し、デコーダによる復号処理のみが進行する。図26の(a)に示されている例ではジャンプが過大であるので、読み出し処理を復号処理に間に合わせることが難しい。その結果、シームレス再生を確実に持続することが難しい。
図26の(b)は、本発明の実施形態1によるBD−ROMディスク101上に記録されたディペンデントビュー・データ・ブロックD[0]、D[1]、D[2]、…とベースビュー・データ・ブロックB[0]、B[1]、B[2]、…とのインターリーブ配置を示す模式図である。図26の(b)を参照するに、メインTSとサブTSとはそれぞれ、複数のデータ・ブロックに分割されて交互に配置されている。その場合、再生装置102は3D映像の再生時、図26の(b)に矢印(1)−(4)で示されているように、データ・ブロックD[0]、B[0]、D[1]、B[1]、…を先頭から順番に読み出す。それだけで、再生装置102はメインTSとサブTSとを交互に読み出すことをスムーズに実現できる。特にその読み出し処理ではジャンプが生じないので、3D映像のシームレス再生が確実に持続可能である。
[隣接するデータ・ブロック間でエクステントATC時間を揃える意義]
図26の(c)は、インターリーブ配置で記録されたディペンデントビュー・データ・ブロック群D[n]とベースビュー・データ・ブロック群B[n]との各エクステントATC時間の一例を示す模式図である(n=0、1、2)。図26の(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パケットがリード・バッファからシステム・ターゲット・デコーダへ送られる。
図26の(d)は、インターリーブ配置で記録されたディペンデントビュー・データ・ブロック群D[n]とベースビュー・データ・ブロック群B[n]との各エクステントATC時間の別例を示す模式図である。図26の(d)を参照するに、全てのデータ・ブロックD[n]、B[n]でエクステントATC時間が1秒に等しい。従って、各データ・ブロックD[n]、B[n]が再生装置102内のリード・バッファに読み込まれたとき、いずれのデータ・ブロックでも同じ1秒間で、全てのTSパケットがリード・バッファからシステム・ターゲット・デコーダへ送られる。
上記のとおり、ディペンデントビュー・データ・ブロックは一般に、ベースビュー・データ・ブロックよりもビデオ・ストリームの圧縮率が高い。従って、ディペンデントビュー・データ・ブロックの復号処理の速度は一般に、ベースビュー・データ・ブロックの復号処理の速度よりも低い。一方、エクステントATC時間が等しいとき、ディペンデントビュー・データ・ブロックは一般に、ベースビュー・データ・ブロックよりもデータ量が小さい。従って、図26の(c)、(d)のように、隣接するデータ・ブロックのいずれのエクステントATC時間も等しいとき、復号対象のデータがシステム・ターゲット・デコーダに供給される速度は、そのデコーダの処理速度と均衡を保ちやすい。すなわち、システム・ターゲット・デコーダは、特に飛び込み再生においても、ベースビュー・データ・ブロックの復号処理とディペンデントビュー・データ・ブロックの復号処理とを容易に同期させることができる。
[エクステントATC時間を揃える方法]
図27は、隣接するデータ・ブロック間でエクステントATC時間を揃える方法を示す模式図である。まず、ベースビュー・データ・ブロックに格納されるソースパケット(以下、SP1と略す。)と、ディペンデントビュー・データ・ブロックに格納されるソースパケット(以下、SP2と略す。)とには、同じATC時間軸でATSが付与される。図27を参照するに、矩形2710、2720はそれぞれ、SP1#p(p=0、1、…、k、k+1、…、i、i+1)とSP2#q(q=0、1、…、m、m+1、…、j、j+1)とを表す(文字k、i、m、jはいずれも0以上の整数を表す)。それらの矩形2710、2720はATCの時間軸方向で各ソースパケットのATSの順に並べられている。各矩形2710、2720の先頭の位置A1(p)、A2(q)はそのソースパケットのATSの値を表す。各矩形2710、2720の長さAT1、AT2は、3D再生装置が1個のソースパケットをリード・バッファからシステム・ターゲット・デコーダへ転送するのに要する時間を表す。
SP1#0のATSA1(0)からエクステントATC時間TEXT[n]が経過するまでの期間に、リード・バッファからシステム・ターゲット・デコーダへ転送されるSP1、すなわちSP1#0、1、…、kは、(n+1)番目のベースビュー・データ・ブロックEXT1[n]に格納される。同様に、SP1#(k+1)のATSA1(k+1)からエクステントATC時間TEXT[n+1]が経過するまでの期間に、リード・バッファからシステム・ターゲット・デコーダへ転送されるSP1、すなわちSP1#(k+1)、…、iは、(n+2)番目のベースビュー・データ・ブロックEXT1[n+1]に格納される。
一方、(n+1)番目のディペンデントビュー・データ・ブロックEXT2[n]に格納されるべきSP2は次のように選択される。まず、SP1#0のATSA1(0)とエクステントATC時間TEXT[n]との和、すなわち、SP1#(k+1)のATSA1(k+1)=A1(0)+TEXT[n]が求められる。次に、SP1#0のATSA1(0)からSP1#(k+1)のATSA1(k+1)までの期間に、リード・バッファからシステム・ターゲット・デコーダへの転送が開始されるSP2、すなわちSP2#0、1、…、mが選択される。従って、先頭のSP2、すなわちSP2#0のATSA2(0)は必ず、先頭のSP1、すなわちSP1#0のATSA1(0)以上である:A2(0)≧A1(0)。更に、最後のSP2、すなわちSP2#mのATSA2(m)は、SP1#(k+1)のATSA1(k+1)以下である:A2(m)≦A1(k+1)。ここで、SP2#mの転送完了はSP1#(k+1)のATSA1(k+1)以後であってもよい。
同様に、(n+2)番目のディペンデントビュー・データ・ブロックEXT2[n+1]に格納されるべきSP2は次のように選択される。まず、(n+3)番目のベースビュー・データ・ブロックEXT1[n+2]の先頭に位置するSP1#(i+1)のATSA1(i+1)=A1(k+1)+TEXT[n+1]が求められる。次に、SP1#(k+1)のATSA1(k+1)からSP1#(i+1)のATSA1(i+1)までの期間に、リード・バッファからシステム・ターゲット・デコーダへの転送が開始されるSP2、すなわち、SP2#(m+1)−SP2#jが選択される。従って、先頭のSP2、すなわちSP2#(m+1)のATSA2(m+1)は、先頭のSP1、すなわちSP1#(k+1)のATSA1(k+1)以上である:A2(m+1)≧A1(k+1)。更に、最後のSP2#jのATSA2(j)は、次のベースビュー・データ・ブロックEXT1[n+2]の先頭に位置するSP1#(i+1)のATSA1(i+1)以下である:A2(j)≦A1(i+1)。
[データ量の小さいデータ・ブロックを先に置く意義]
3D再生モードの再生装置102は、各エクステント・ブロックの先頭に位置するデータ・ブロックを読み出すとき、又は再生開始位置のデータ・ブロックを読み出すとき、まず、そのデータ・ブロックを全てリード・バッファに読み込む。その間、そのデータ・ブロックはシステム・ターゲット・デコーダには渡されない。その読み込みが完了した後、再生装置102はそのデータ・ブロックを次のデータ・ブロックとパラレルにシステム・ターゲット・デコーダに渡す。このように、一つのデータ・ブロックの全体をリード・バッファに読み込んでからシステム・ターゲット・デコーダに渡す処理を「プリロード」という。
プリロードの技術的意義は次のとおりである。L/Rモードでは、ディペンデントビュー・データ・ブロックの復号にベースビュー・データ・ブロックが必要である。従って、復号後のデータを出力処理まで保持するためのバッファを必要最小限の容量に維持するには、それらのデータ・ブロックをシステム・ターゲット・デコーダに同時に供給して復号させることが好ましい。デプス・モードでは、復号後のベースビュー・ピクチャとデプスマップとの対から、視差画像を表すビデオ・プレーンの対を生成する処理が必要である。従って、復号後のデータをその処理まで保持するためのバッファを必要最小限の容量に維持するには、ベースビュー・データ・ブロックとデプスマップ・データ・ブロックとをシステム・ターゲット・デコーダに同時に供給して復号させることが好ましい。それ故、プリロードにより、エクステント・ブロックの先頭又は再生開始位置のデータ・ブロックの全体を予めリード・バッファに読み込んでおく。それにより、そのデータ・ブロックと後続のデータ・ブロックとをリード・バッファからシステム・ターゲット・デコーダへ同時に転送して復号させることができる。更に、以降のエクステント・ペアもシステム・ターゲット・デコーダに同時に復号させることができる。
プリロードでは、最初に読み出されるデータ・ブロックの全体がリード・バッファに蓄積される。従って、リード・バッファには少なくともそのデータ・ブロックのサイズに等しい容量が要求される。ここで、リード・バッファの容量を最小限に維持するには、プリロードの対象とされるデータ・ブロックのサイズを可能な限り縮小すべきである。一方、飛び込み再生等のランダムアクセスでは、いずれのエクステント・ペアも再生開始位置に選択され得る。それ故、いずれのエクステント・ペアでも、データ量の小さい方を先に置く。それにより、リード・バッファの容量を最小限に維持することができる。
≪データ・ブロックに対するAVストリーム・ファイルのクロスリンク≫
図25に示されているデータ・ブロック群に対して、AVストリーム・ファイルのクロスリンクは次のように実現される。第1ファイルSS(01000.ssif)1245のファイル・エントリ2540は、各エクステント・ブロック2501−2503を一つのエクステントとみなして、各サイズとその先端のLBNとを示す。従って、各エクステント・ブロック2501−2503は第1ファイルSS1245の一つのエクステントEXTSS[0]、EXTSS[1]、EXTSS[2]としてアクセス可能である。以下、第1ファイルSS1245に属するエクステントEXTSS[0]、EXTSS[1]、EXTSS[2]を「エクステントSS」という。各エクステントSSEXTSS[0]、EXTSS[1]、EXTSS[2]は、ファイル2D1241とはベースビュー・データ・ブロックB[n]を共有し、第1ファイルDEP1242とはライトビュー・データ・ブロックD[n]を共有する。
≪エクステント・ブロック群に対する再生経路≫
図28は、エクステント・ブロック群2501−2503に対する2D再生モードでの再生経路2801を示す模式図である。2D再生モードの再生装置102はファイル2D1241を再生する。従って、2D再生モードでの再生経路2801が示すとおり、各エクステント・ブロック2501−2503からベースビュー・データ・ブロックB[n](n=0、1、2、…)が順番に2DエクステントEXT2D[n]として読み出される。具体的には、まず先頭のエクステント・ブロック2501から先頭のベースビュー・データ・ブロックB[0]が読み出され、その直後のライトビュー・データ・ブロックD[0]の読み出しが最初のジャンプJ2Dによってスキップされる。次に2番目のベースビュー・データ・ブロックB[1]が読み出され、その直後のデータNAVとライトビュー・データ・ブロックD[1]との読み出しが二回目のジャンプJNAVによってスキップされる。続いて、2番目以降のエクステント・ブロック2502、2503内でも同様に、ベースビュー・データ・ブロックの読み出しとジャンプとが繰り返される。
2番目のエクステント・ブロック2502と3番目のエクステント・ブロック2503との間に生じるジャンプJLYは、層境界LBを越えるロング・ジャンプである。「ロング・ジャンプ」はジャンプの中でもシーク時間の長いものの総称であり、具体的には、(i)記録層の切り換えを伴うジャンプ、及び(ii)ジャンプ距離が所定の閾値を超えるジャンプをいう。「ジャンプ距離」とは、ジャンプ期間中に読み出し操作がスキップされるBD−ROMディスク101上の領域の長さをいう。ジャンプ距離は通常、その部分のセクタ数で表される。上記(ii)の閾値は、BD−ROMの規格では例えば40000セクタである。しかし、その閾値は、BD−ROMディスクの種類と、BD−ROMドライブの読み出し処理に関する性能とに依存する。ロング・ジャンプは特にフォーカス・ジャンプとトラック・ジャンプとを含む。「フォーカス・ジャンプ」は、記録層の切り換えに伴うジャンプであり、光ピックアップの焦点距離を変化させる処理を含む。「トラック・ジャンプ」は、光ピックアップをBD−ROMディスク101の半径方向に移動させる処理を含む。
図28は、エクステント・ブロック群2501−2503に対するL/Rモードでの再生経路2802も示す。L/Rモードの再生装置102は第1ファイルSS1245を再生する。従って、L/Rモードでの再生経路2802が示すとおり、各エクステント・ブロック2501、2502、2503が順番に、エクステントSSEXTSS[0]、EXTSS[1]、EXTSS[2]として読み出される。具体的には、まず先頭のエクステント・ブロック2501からデータ・ブロックD[0]、B[0]、D[1]、B[1]が連続して読み出され、その直後のデータNAVの読み出しが最初のジャンプJNAVによってスキップされる。次に、2番目のエクステント・ブロック2502からデータ・ブロックD[2]、…、B[3]が連続して読み出される。その直後に、記録層の切り換えに伴うロング・ジャンプJLYが生じる。続いて、3番目のエクステント・ブロック2503からデータ・ブロックD[4]、B[4]、…が連続して読み出される。
エクステント・ブロック2501−2503を第1ファイルSS1245のエクステントとして読み込むとき、再生装置102は第1ファイルSS1245のファイル・エントリ2540から各エクステントSSEXTSS[0]、EXTSS[1]、…の先端のLBNとそのサイズとを読み出してBD−ROMドライブ121に渡す。BD−ROMドライブ121はそのLBNからそのサイズのデータを連続して読み出す。これらの処理は、データ・ブロック群を第1ファイルDEP1242とファイル2D1241との各エクステントとして読み込む処理よりも、BD−ROMドライブ121の制御が次の二点(A)、(B)で簡単である:(A)再生装置102は一箇所のファイル・エントリを利用して各エクステントを順番に参照すればよい;(B)読み込み対象のエクステントの総数が実質上半減するので、BD−ROMドライブ121に渡されるべきLBNとサイズとの対の総数が少ない。但し、再生装置102はエクステントSSEXTSS[0]、EXTSS[1]、…を読み込んだ後、それぞれをライトビュー・データ・ブロックとベースビュー・データ・ブロックとに分離してデコーダに渡さなければならない。その分離処理にはクリップ情報ファイルが利用される。その詳細については後述する。
図28に示されているように、各エクステント・ブロック2501−2503の実際の読み出しでは、BD−ROMドライブ121は各データ・ブロックの後端から次のデータ・ブロックの先端までの間にゼロ・セクタ遷移J0を行う。「ゼロ・セクタ遷移」とは、二つの連続するデータ・ブロック間での光ピックアップの移動をいう。ゼロ・セクタ遷移が行われる期間(以下、ゼロ・セクタ遷移期間という。)では、光ピックアップは読み出し動作を一旦停止して待機する。その意味で、ゼロ・セクタ遷移は「ジャンプ距離が0セクタに等しいジャンプ」ともみなせる。ゼロ・セクタ遷移期間の長さ、すなわちゼロ・セクタ遷移時間は、BD−ROMディスク101の回転による光ピックアップの位置の移動時間の他に、誤り訂正処理に伴うオーバーヘッドを含んでもよい。「誤り訂正処理に伴うオーバーヘッド」とは、二つのデータ・ブロックの境界がECCブロックの境界と一致していないときに、そのECCブロックを用いた誤り訂正処理が二回行われることに起因する余分な時間をいう。誤り訂正処理には一つのECCブロックの全体が必要である。従って、一つのECCブロックが二つの連続するデータ・ブロックに共有されているとき、いずれのデータ・ブロックの読み出し処理でもそのECCブロックの全体が読み出されて誤り訂正処理に利用される。その結果、それらのデータ・ブロックを一つ読み出すごとに、そのデータ・ブロックの他に最大32セクタの余分なデータが読み出される。誤り訂正処理に伴うオーバーヘッドは、その余分なデータの読み出し時間の合計、すなわち32[セクタ]×2048[バイト/セクタ]×8[ビット/バイト]×2[回]/読み出し速度[ビット/秒]で評価される。尚、各データ・ブロックはECCブロック単位で構成されてもよい。その場合、各データ・ブロックのサイズはECCブロックの整数倍に等しいので、誤り訂正処理に伴うオーバーヘッドをゼロ・セクタ遷移時間から除外することができる。
≪データ・ブロックのサイズ≫
各データ・ブロックはアラインド・ユニット単位で構成される。特に各データ・ブロックのサイズはアラインド・ユニットのサイズ(=6144バイト=約6KB)の倍数に等しい。その場合、データ・ブロック間の境界はセクタ間の境界と一致するので、BD−ROMドライブはいずれのデータ・ブロックも、その全体を確実に連続して読み出すことができる。
図25に示されているように、互いに分離された複数のエクステント・ブロック2501−2503から2D映像と3D映像とのいずれをもシームレスに再生するには、データ・ブロックとエクステント・ブロック2501−2503との各サイズは、以下の[1]、[2]で説明される条件を満たせばよい。
[1]2D再生モードでの条件
図29は、2D再生モードの再生装置102内の再生処理系統を示すブロック図である。図29を参照するに、その再生処理系統は、BD−ROMドライブ2901、リード・バッファ2902、及びシステム・ターゲット・デコーダ2903を含む。BD−ROMドライブ2901はBD−ROMディスク101から2Dエクステントを読み出し、読み出し速度RUD54でリード・バッファ2902へ転送する。リード・バッファ2902は、再生装置102に内蔵のバッファ・メモリであり、BD−ROMドライブ2901から2Dエクステントを受信して蓄積する。システム・ターゲット・デコーダ2903は、リード・バッファ2902内に蓄積された各2Dエクステントからソースパケットを平均転送速度REXT2Dで読み出して、映像データVDと音声データADとに復号する。
平均転送速度REXT2Dは、システム・ターゲット・デコーダ2903がリード・バッファ2902内の各ソースパケットからTSパケットを抽出する処理の平均速度の192/188倍に等しい。ここで、係数192/188はソースパケットとTSパケットとの間のバイト数の比に等しい。平均転送速度REXT2Dは通常、ビット/秒で表され、具体的には、ビット単位で表された2DエクステントのサイズをエクステントATC時間で割ったときの値に等しい。「ビット単位で表されたエクステントのサイズ」は、そのエクステント内のソースパケット数とソースパケット一つ当たりのビット数(=192[バイト]×8[ビット/バイト])との積に等しい。平均転送速度REXT2Dは一般に2Dエクステントごとに異なる。平均転送速度REXT2Dの最大値RMAX2Dは、ファイル2Dに対するシステム・レートRTSの192/188倍に等しい。「システム・レート」とは、システム・ターゲット・デコーダ2903によるTSパケットの処理速度の最高値を意味する。システム・レートRTSは通常、ビット/秒(bps)で表されるので、バイト/秒(Bps)で表されるメインTSの記録速度(TS recording rate)の8倍に等しい。
平均転送速度REXT2Dは以下のように評価される。まず、エクステントATC時間が次のように算定される。図27に示されている例では、(n+1)番目のベースビュー・データ・ブロックEXT1[n]のエクステントATC時間TEXT[n]は、SP1#0のATSA1(0)と、(n+2)番目のベースビュー・データ・ブロックEXT1[n+1]の先頭に位置するSP1#(k+1)のATSA1(k+1)との間の差に基づいて、次式で表される:TEXT[n]=(A1(k+1)−A1(0)+WA)/TATC。ここで、ラップ・アラウンド値WAは、SP1#0のATSA1(0)からSP1#(k+1)のATSA1(k+1)までATCがカウントされる期間中、ラップ・アラウンドが生じる度に切り捨てられたカウント値の和を表す。すなわち、ラップ・アラウンド値WAは、その期間でのラップ・アラウンドの回数と、ラップ・アラウンドが生じるカウント値との積に等しい。例えば、ATCが30ビットのカウンタでカウントされる場合、ラップ・アラウンド値WAは230に等しい。一方、定数TATCはATCの周期を表し、例えば27MHzに等しい:TATC=27×106。次に、2Dエクステントのサイズが次のように算定される。図27に示されている例では、(n+1)番目のベースビュー・データ・ブロックEXT1[n]のサイズSEXT1[n]は、そのデータ・ブロックに格納されるソースパケット、すなわちSP1#0、1、…、kの全体のデータ量192×(k+1)×8[ビット]に等しい。最後に、ベースビュー・データ・ブロックEXT1[n]のサイズSEXT1[n]をエクステントATC時間TEXT[n]で割った値が平均転送速度REXT2D[n]として評価される:REXT2D[n]=SEXT1[n]/TEXT[n]。
上記の評価においてエクステントATC時間が正確に計算されることを目的として、各2Dエクステントのサイズがソースパケット長のある一定の倍数に揃えられてもよい。更に、いずれかの2Dエクステントがその倍数よりも多くのソースパケットを含むとき、その2DエクステントのエクステントATC時間が次のように算定されてもよい:まず、ソースパケットの総数からその倍数を除き、その差にソースパケット一つ当たりの転送時間(=188×8/システム・レート)を乗じる。次に、その積に、上記の倍数に相当するエクステントATC時間を加える。その和が上記の2DエクステントのエクステントATC時間として決定される。
その他に、エクステントATC時間は次のように算定されてもよい:まず、一つの2Dエクステントについて、その先頭のソースパケットのATSから最後のソースパケットのATSまでの時間間隔を求める。次に、その時間間隔にソースパケット一つ当たりの転送時間を加える。その和がその2DエクステントのエクステントATC時間として決定される。具体的には、図27の例において、(n+1)番目のベースビュー・データ・ブロックEXT1[n]のエクステントATC時間TEXT[n]は、SP1#0のATSA1(0)と、そのデータ・ブロックEXT1[n]の後端に位置するSP1#kのATSA1(k)との間の差に基づいて、次式で表される:TEXT[n]=(A1(k)−A1(0)+WA)/TATC+188×8/RTS1。ここで、ラップ・アラウンド値WAは、SP1#0のATSA1(0)からSP1#kのATSA1(k)までATCがカウントされる期間中、ラップ・アラウンドが生じる度に切り捨てられたカウント値の和を表す。一方、上式の右辺第2項は、TSパケットのデータ長188[バイト]×8[ビット/バイト]をシステム・レートRTS1で割った値であり、一つのTSパケットをリード・バッファからシステム・ターゲット・デコーダへ転送するのに要する時間と等しい。上記のエクステントATC時間の計算には次のエクステントの参照が不要であるので、次のエクステントが存在しなくてもエクステントATC時間が算定可能である。また、次のエクステントが存在する場合でも、エクステントATC時間の計算を簡単化することができる。
読み出し速度RUD54は通常、ビット/秒で表され、平均転送速度REXT2Dの最高値RMAX2Dよりも高い値、例えば54Mbpsに設定される:RUD54>RMAX2D。それにより、BD−ROMドライブ2901がBD−ROMディスク101から一つの2Dエクステントを読み出している間、システム・ターゲット・デコーダ2903の復号処理に伴うリード・バッファ2902のアンダーフローが防止される。
図30の(a)は、2D再生モードでの動作中、リード・バッファ2902に蓄積されるデータ量DAの変化を示すグラフである。図30の(b)は、再生対象のエクステント・ブロック3010と2D再生モードでの再生経路3020との間の対応関係を示す模式図である。図30の(b)を参照するに、再生経路3020に従い、エクステント・ブロック3010内の各ベースビュー・データ・ブロックB[n](n=0、1、2、…)が一つの2DエクステントEXT2D[n]としてBD−ROMディスク101からリード・バッファ2902へ読み出される。図30の(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ドライブ2901による読み出し/転送動作は実際には、図30の(a)のグラフから示唆される連続的なものではなく、断続的なものである。それにより、各2Dエクステントの読み出し期間PR2D[n]に蓄積データ量DAがリード・バッファ2902の容量を超えること、すなわちリード・バッファ2902のオーバーフローが防止される。すなわち、図30の(a)のグラフは、実際には階段状である増減を直線的な増減として近似的に表したものである。
図30の(b)に示されているエクステント・ブロック3010から2D映像をシームレスに再生するには、次の二つの条件が満たされればよい:まず、各2DエクステントEXT2D[n]のサイズSEXT2D[n]は所定の下限以上であればよい。この下限を「最小エクステント・サイズ」という。次に、2Dエクステントの間隔は所定の上限以下であればよい。
[1−1]2Dエクステントの最小エクステント・サイズ
各ジャンプ期間PJ2D[n]ではリード・バッファ2902からシステム・ターゲット・デコーダ2903へのデータ供給を持続させて、そのデコーダ2903に連続的な出力を確保させなければならない。それには、2Dエクステントのサイズが次の条件1を満たせばよい。
各2DエクステントEXT2D[n]のサイズSEXT2D[n]は、その読み出し期間PR2D[n]から次のジャンプ期間PJ2D[n+1]にわたり、リード・バッファ2902からシステム・ターゲット・デコーダ2903へ転送されるデータ量に等しい。その場合、図30の(a)に示されているように、蓄積データ量DAはそのジャンプ期間PJ2D[n+1]の終了時、その読み出し期間PR2D[n]の開始時での量を下回らない。すなわち、各ジャンプ期間PJ2D[n]ではリード・バッファ2902からシステム・ターゲット・デコーダ2903へのデータ供給が持続し、特にリード・バッファ2902はアンダーフローを生じない。ここで、読み出し期間PR2D[n]の長さは、2DエクステントEXT2D[n]のサイズSEXT2D[n]を読み出し速度RUD54で割った値SEXT2D[n]/RUD54に等しい。従って、条件1は次のことを示す。各2DエクステントEXT2D[n]の最小エクステント・サイズは次式(1)の右辺で表される:
式(1)では、ジャンプ時間TJUMP−2D[n]はジャンプ期間PJ2D[n]の長さであり、秒単位で表される。一方、読み出し速度RUD54と平均転送速度REXT2Dとはいずれもビット/秒で表される。従って、式(1)では平均転送速度REXT2Dを数「8」で割り、2DエクステントのサイズSEXT2D[n]の単位をビットからバイトへ変換している。すなわち、2DエクステントのサイズSEXT2D[n]はバイト単位で表される。関数CEIL()は、括弧内の数値の小数点以下の端数を切り上げる操作を意味する。
[1−2]2Dエクステントの間隔
リード・バッファ2902の容量は有限であることから、ジャンプ時間TJUMP−2D[n]の最大値は制限される。すなわち、ジャンプ期間PJ2D[n]の直前に蓄積データ量DAがリード・バッファ2902の容量一杯であっても、ジャンプ時間TJUMP−2D[n]が長すぎれば、ジャンプ期間PJ2D[n]中に蓄積データ量DAが0に達して、リード・バッファ2702のアンダーフローが生じる危険性がある。以下、BD−ROMディスク101からリード・バッファ2902へのデータ供給が途絶えている状態で蓄積データ量DAがリード・バッファ2902の容量から0に到達するまでの時間、すなわち、シームレス再生を保証できるジャンプ時間TJUMP−2Dの最大値を「最大ジャンプ時間TJUMP_MAX」という。
光ディスクの規格では通常、ジャンプ距離と最大ジャンプ時間との間の関係が光ディスクドライブのアクセス・スピード等から決められている。図31は、BD−ROMディスクに関するジャンプ距離SJUMPと最大ジャンプ時間TJUMP_MAXとの間の対応表の一例である。図31を参照するに、ジャンプ距離SJUMPはセクタ単位で表され、最大ジャンプ時間TJUMP_MAXはm秒単位で表されている。1セクタは2048バイトに等しい。ジャンプ距離SJUMPが、0セクタ、1−10000セクタ、10001−20000セクタ、20001−40000セクタ、40001セクタ−1/10ストローク、及び1/10ストローク以上の各範囲に属するとき、最大ジャンプ時間TJUMP_MAXはそれぞれ、0m秒、200m秒、300m秒、350m秒、700m秒、及び1400m秒である。ジャンプ距離SJUMPが0セクタに等しいときの最大ジャンプ時間TJUMP_MAXはゼロ・セクタ遷移時間TJUMP0に等しい。但し、図31の例ではゼロ・セクタ遷移時間TJUMP0は0m秒とみなされている。
以上のことから、式(1)に代入されるべきジャンプ時間TJUMP−2D[n]は、BD−ROMディスクの規格によってジャンプ距離別に規定された最大ジャンプ時間TJUMP_MAXである。具体的には、図31の表において、二つの連続する2DエクステントEXT2D[n]、EXT2D[n+1]の間でのジャンプ距離SJUMPに対応する最大ジャンプ時間TJUMP_MAXが、ジャンプ時間TJUMP−2D[n]として式(1)に代入される。ここで、そのジャンプ距離SJUMPは、(n+1)番目の2DエクステントEXT2D[n]の後端から(n+2)番目の2DエクステントEXT2D[n+1]の先端までのセクタ数に等しい。
二つの2DエクステントEXT2D[n]、EXT2D[n+1]間のジャンプJ2D[n]では、そのジャンプ時間TJUMP−2D[n]が最大ジャンプ時間TJUMP_MAXに制限されることから、そのジャンプ距離SJUMP、すなわち二つの2DエクステントEXT2D[n]、EXT2D[n+1]の間隔も制限される。例えばジャンプ時間TJUMP−2D[n]が最大ジャンプ時間TJUMP_MAX=700m秒以下に制限されるとき、二つの2DエクステントEXT2D[n]、EXT2D[n+1]間のジャンプ距離SJUMPは、最大で1/10ストローク(=約1.2GB)まで許される。このジャンプ距離SJUMPの最大値のように、ジャンプ時間TJUMPが最大ジャンプ時間TJUMP_MAXに等しいときでのジャンプ距離SJUMPを「最大ジャンプ距離SJUMP_MAX」という。2D映像のシームレス再生には、2Dエクステントの間隔が最大ジャンプ距離SJUMP_MAX以下であることが必要である。
各エクステント・ブロック内では2Dエクステントの間隔はディペンデントビュー・データ・ブロックのサイズに等しい。従って、そのディペンデントビュー・データ・ブロックのサイズは最大ジャンプ距離SJUMP_MAX以下に制限される。具体的には、2Dエクステント間の最大ジャンプ時間TJUMP_MAXが、図31に規定された最小値200m秒に制限される場合、ディペンデントビュー・データ・ブロックのサイズは、対応する最大ジャンプ距離SJUMP_MAX=10000セクタ(=約19.5MB)以下に制限される。
異なる記録層に配置された二つのエクステント・ブロック間をシームレスに接続するとき、先に読み出されたエクステント・ブロックの後端から、次に読み出されるエクステント・ブロックの先端まで、ロング・ジャンプが生じる。そのロング・ジャンプは、フォーカス・ジャンプ等、記録層の切り換え操作を伴う。従って、そのロング・ジャンプに要する時間は、図31の表に規定された最大ジャンプ時間TJUMP_MAXに加えて、記録層の切り換え操作に要する時間、すなわち「層切換時間」を更に含む。層切換時間は例えば350m秒である。ここで、先に読み出されたエクステント・ブロックの後端には(n+1)番目の2DエクステントEXT2D[n]が配置され、後に読み出されるエクステント・ブロックの先端には(n+2)番目の2DエクステントEXT2D[n+1]が配置されている。その場合、(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は、図31の表において、(n+1)番目の2DエクステントEXT2D[n]の後端から(n+2)番目の2DエクステントEXT2D[n+1]の先端までのセクタ数に対応付けられた値に等しい。第2パラメータTL[n]は層切換時間、例えば350m秒を表す。従って、二つの2DエクステントEXT2D[n]、EXT2D[n+1]の間隔は、図31の表において、ロング・ジャンプの最大ジャンプ時間TJUMP_MAXから層切換時間を除いた値に対応する最大ジャンプ距離SJUMP_MAX以下に制限される。例えばジャンプ時間TJUMP−2D[n]が最大ジャンプ時間TJUMP_MAX=700m秒以下に制限されるとき、二つの2DエクステントEXT2D[n]、EXT2D[n+1]間の最大ジャンプ距離SJUMP_MAXは40000セクタ(=約78.1MB)である。
[2]3D再生モードでの条件
図32は、3D再生モードの再生装置102内の再生処理系統を示すブロック図である。図32を参照するに、その再生処理系統は、BD−ROMドライブ3201、スイッチ3202、一対のリード・バッファ3211、3212、及びシステム・ターゲット・デコーダ3203を含む。BD−ROMドライブ3201はBD−ROMディスク101からエクステントSSを読み出し、読み出し速度RUD72でスイッチ3202へ転送する。スイッチ3202は各エクステントSSをベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとに分離する。その分離処理の詳細については後述する。第1リード・バッファ3211及び第2リード・バッファ3212(以下、RB1及びRB2と略す。)は再生装置102に内蔵のバッファ・メモリであり、スイッチ3202によって分離された各データ・ブロックを蓄積する。RB13211はベースビュー・データ・ブロックを格納し、RB23212はディペンデントビュー・データ・ブロックを格納する。システム・ターゲット・デコーダ3203は、RB13211内の各ベースビュー・データ・ブロックからはソースパケットをベースビュー転送速度REXT1で読み出し、RB23212内の各ディペンデントビュー・データ・ブロックからはソースパケットをディペンデントビュー転送速度REXT2で読み出す。システム・ターゲット・デコーダ3203は更に、読み出されたベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとの対を映像データVDと音声データADとに復号する。
ベースビュー転送速度REXT1は、システム・ターゲット・デコーダ3203がRB13211内の各ソースパケットからTSパケットを抽出する処理の平均速度の192/188倍に等しい。ベースビュー転送速度REXT1の最高値RMAX1は、ファイル2Dに対するシステム・レートRTS1の192/188倍に等しい:RMAX1=RTS1×192/188。そのシステム・レートRTS1は通常、ビット/秒(bps)で表されるので、バイト/秒(Bps)で表されるメインTSの記録速度の8倍に等しい。ディペンデントビュー転送速度REXT2は、システム・ターゲット・デコーダ3203がRB23212内の各ソースパケットからTSパケットを抽出する処理の平均速度の192/188倍に等しい。ディペンデントビュー転送速度REXT2の最高値RMAX2は、ファイルDEPに対するシステム・レートRTS2の192/188倍と等しい:RMAX2=RTS2×192/188。そのシステム・レートRTS2は通常、ビット/秒(bps)で表されるので、バイト/秒(Bps)で表されるメインTSの記録速度の8倍に等しい。各転送速度REXT1、REXT2は通常、ビット/秒で表され、具体的には、ビット単位で表された各データ・ブロックのサイズをエクステントATC時間で割ったときの値に等しい。エクステントATC時間は、データ・ブロック内のソースパケットを全て、RB13211又はRB23212からシステム・ターゲット・デコーダ3203へ転送するのに要する時間に等しい。ベースビュー転送速度REXT1とディペンデントビュー転送速度REXT2とは、2Dエクステントの平均転送速度REXT2Dと同様に、データ・ブロックのサイズとエクステントATC時間との比で評価される:REXT1[・]=SEXT1[・]/TEXT[・]、REXT2[・]=SEXT2[・]/TEXT[・]。
読み出し速度RUD72は通常、ビット/秒で表され、いずれの転送速度REXT1、REXT2の最高値RMAX1、RMAX2よりも高い値、例えば72Mbpsに設定される:RUD72>RMAX1、RUD72>RMAX2。それにより、BD−ROMドライブ3201によってBD−ROMディスク101から一つのエクステントSSを読み出している間、システム・ターゲット・デコーダ3203の復号処理に伴うRB13211とRB23212とのアンダーフローが防止される。
[2−1]エクステント・ブロック内でのシームレス接続
図33の(a)、(b)は、一つのエクステント・ブロックから3D映像がシームレスに再生されるとき、RB13211、RB23212に蓄積されるデータ量DA1、DA2の変化を示すグラフである。図33の(c)は、そのエクステント・ブロック3310と3D再生モードでの再生経路3320との間の対応関係を示す模式図である。図33の(c)を参照するに、再生経路3320に従い、エクステント・ブロック3310の全体が一つのエクステントSSとして一括して読み出される。その後、スイッチ3202によってそのエクステントSSからディペンデントビュー・データ・ブロックD[k]とベースビュー・データ・ブロックB[k]とが分離される(k=…、n、n+1、n+2、…)。
BD−ROMドライブ3201による読み出し/転送動作は実際には、図33の(a)、(b)の各グラフから示唆される連続的なものではなく、断続的なものである。それにより、各データ・ブロックD[k]、B[k]の読み出し期間PRD[k]、PRB[k]では、RB13211、RB23212のオーバーフローが防止される。すなわち、図33の(a)、(b)の各グラフは、実際には階段状である増減を直線的な増減として近似的に表したものである。
図33の(a)、(b)を参照するに、(n+1)番目のディペンデントビュー・データ・ブロックD[n]の読み出し期間PRD[n]では、RB23212の蓄積データ量DA2は、読み出し速度RUD72とディペンデントビュー転送速度REXT2[n]との間の差RUD72−REXT2[n]に等しい速度で増加し、RB13211の蓄積データ量DA1はベースビュー転送速度REXT1[n−1]で減少する。図33の(c)を参照するに、(n+1)番目のディペンデントビュー・データ・ブロックD[n]から(n+1)番目のベースビュー・データ・ブロックB[n]まではゼロ・セクタ遷移J0[2n]が生じる。図33の(a)、(b)に示されているように、ゼロ・セクタ遷移期間PJ0[n]では、RB13211の蓄積データ量DA1はベースビュー転送速度REXT1[n−1]で減少し続け、RB23212の蓄積データ量DA2はディペンデントビュー転送速度REXT2[n]で減少する。
図33の(a)、(b)を更に参照するに、(n+1)番目のベースビュー・データ・ブロックB[n]の読み出し期間PRB[n]では、RB13311の蓄積データ量DA1は、読み出し速度RUD72とベースビュー転送速度REXT1[n]との間の差RUD72−REXT1[n]に等しい速度で増加する。一方、RB23212の蓄積データ量DA2は、ディペンデントビュー転送速度REXT2[n]で減少し続ける。図33の(c)を更に参照するに、そのベースビュー・データ・ブロックB[n]から次のディペンデントビュー・データ・ブロックD[n+1]まではゼロ・セクタ遷移J0[2n+1]が生じる。図33の(a)、(b)に示されているように、ゼロ・セクタ遷移期間PJ0[2n+1]では、RB13211の蓄積データ量DA1はベースビュー転送速度REXT1[n]で減少し、RB23212の蓄積データ量DA2はディペンデントビュー転送速度REXT2[n]で減少し続ける。
一つのエクステント・ブロック3310から3D映像をシームレスに再生するには、そのエクステント・ブロックに属するデータ・ブロックB[n]、D[n]の各サイズは、以下に説明される条件2、3を満たせばよい。
(n+1)番目のベースビュー・データ・ブロックB[n]のサイズSEXT1[n]は少なくとも、その読み出し期間PRB[n]から次のベースビュー・データ・ブロックB[n+1]の読み出し期間PRB[n+1]の直前までに、RB13211からシステム・ターゲット・デコーダ3203へ転送されるデータ量に等しい。その場合、図33の(a)に示されているように、次のベースビュー・データ・ブロックB[n+1]の読み出し期間PRB[n+1]の直前では、RB13211の蓄積データ量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に等しい。従って、条件2は次のことを示す。そのベースビュー・データ・ブロックB[n]の最小エクステント・サイズは、次式(2)の右辺で表される:
(n+1)番目のディペンデントビュー・データ・ブロックD[n]のサイズSEXT2[n]は少なくとも、その読み出し期間PRD[n]から次のディペンデントビュー・データ・ブロックD[n+1]の読み出し期間PRD[n+1]の直前までに、RB23212からシステム・ターゲット・デコーダ3203へ転送されるデータ量に等しい。その場合、図33の(b)に示されているように、次のディペンデントビュー・データ・ブロックD[n+1]の読み出し期間PRD[n+1]の直前ではRB23012の蓄積データ量DA2が(n+1)番目のディペンデントビュー・データ・ブロックD[n]の読み出し期間PRD[n]の直前での量を下回らない。ここで、(n+1)番目のディペンデントビュー・データ・ブロックD[n]の読み出し期間PRD[n]の長さは、そのディペンデントビュー・データ・ブロックD[n]のサイズSEXT2[n]を読み出し速度RUD72で割った値SEXT2[n]/RUD72に等しい。従って、条件3は次のことを示す。そのディペンデントビュー・データ・ブロックD[n]の最小エクステント・サイズは、次式(3)の右辺で表される:
[2−2]エクステント・ブロック間のシームレス接続
図25に示されているように、エクステント・ブロック2501−2503の間は一般に、他のデータの記録領域NAV又は層境界LBによって分離されている。そのように分離されたエクステント・ブロック間をシームレスに接続するには、エクステント・ブロックを一つ読み出す間に、RB13211、RB23212のそれぞれに十分なデータ量が蓄積されるようにすればよい。具体的には、RB13211、RB23212の各蓄積データ量DA1、DA2が、図33の(a)、(b)に示されているグラフとは異なり、(n+2)番目の各データ・ブロックB[n+1]、D[n+1]の読み出し期間PRB[n+1]、PRD[n+1]の直前で、(n+1)番目の各データ・ブロックB[n]、D[n]の読み出し期間PRB[n]、PRD[n]の直前での量よりも少し多く残るようにすればよい。例えば、各データ・ブロックのサイズを、式(2)、(3)の各右辺で与えられる最小エクステント・サイズよりも少し大きくすればよい。それにより、一つのエクステント・ブロックを後端まで読み込んだ時点で、RB13211、RB23212のそれぞれに十分なデータ量が蓄積されるようにすることができる。
≪クリップ情報ファイル≫
図34は、第1クリップ情報ファイル(01000.clpi)、すなわち2Dクリップ情報ファイル1231のデータ構造を示す模式図である。ディペンデントビュー・クリップ情報ファイル(02000.clpi、03000.clpi)1232、1233も同様なデータ構造を持つ。以下では、まず、クリップ情報ファイル全般に共通するデータ構造を2Dクリップ情報ファイル1231のデータ構造を例に説明する。その後、2Dクリップ情報ファイルとディペンデントビュー・クリップ情報ファイルとのデータ構造上の相違点について説明する。
図34を参照するに、2Dクリップ情報ファイル1231は、クリップ情報3410、ストリーム属性情報3420、エントリ・マップ3430、及び3Dメタデータ3440を含む。3Dメタデータ3440はエクステント起点3442を含む。
クリップ情報3410は、図34に示されているように、システム・レート3411、再生開始時刻3412、及び再生終了時刻3413を含む。システム・レート3411は、ファイル2D(01000.m2ts)1241に対するシステム・レートRTSを規定する。ここで、図29に示されているように、2D再生モードの再生装置102は、ファイル2D1241に属する“TSパケット”を、リード・バッファ2902からシステム・ターゲット・デコーダ2903へ転送する。従って、ファイル2D1241では、TSパケットの転送速度がシステム・レートRTS以下に抑えられるようにソースパケットのATSの間隔が設定されている。再生開始時刻3412は、ファイル2D1241の先頭のVAUに割り当てられたPTS、例えば先頭の映像フレームのPTSを示す。再生終了時刻3412は、ファイル2D1241の後端のVAUに割り当てられたPTSから更に所定量遅れたSTCの値、例えば最後の映像フレームのPTSに1フレーム当たりの再生時間を加えた値を示す。
ストリーム属性情報3420は、図34に示されているように、ファイル2D1241に含まれる各エレメンタリ・ストリームのPID3421とその属性情報3422との間の対応表である。属性情報3422は、ビデオ・ストリーム、オーディオ・ストリーム、PGストリーム、及びIGストリームのそれぞれで異なる。例えばプライマリ・ビデオ・ストリームのPID0x1011に対応付けられた属性情報は、そのビデオ・ストリームの圧縮に利用されたコーデックの種類、そのビデオ・ストリームを構成する各ピクチャの解像度、アスペクト比、及びフレームレートを含む。一方、プライマリ・オーディオ・ストリームのPID0x1100に対応付けられた属性情報は、そのオーディオ・ストリームの圧縮に利用されたコーデックの種類、そのオーディオ・ストリームに含まれるチャンネル数、言語、及びサンプリング周波数を含む。属性情報3422は再生装置102により、デコーダの初期化に利用される。
[エントリ・マップ]
図35の(a)は、エントリ・マップ3430のデータ構造を示す模式図である。図35の(a)を参照するに、エントリ・マップ3430はテーブル3500を含む。テーブル3500は、メインTSに多重化されたビデオ・ストリームと同数であり、各ビデオ・ストリームに一つずつ割り当てられている。図35の(a)では、各テーブル3500は割り当て先のビデオ・ストリームのPIDで区別されている。各テーブル3500はエントリ・マップ・ヘッダ3501とエントリ・ポイント3502とを含む。エントリ・マップ・ヘッダ3501は、そのテーブル3500に対応付けられたPIDと、そのテーブル3500に含まれるエントリ・ポイント3502の総数とを含む。エントリ・ポイント3502は、PTS3503とソースパケット番号(SPN)3504との対を一つずつ、異なるエントリ・ポイントID(EP_ID)3505に対応付ける。PTS3503は、エントリ・マップ・ヘッダ3501の示すPIDのビデオ・ストリームに含まれるいずれかのIピクチャのPTSに等しい。SPN3504は、そのIピクチャが格納されたソースパケット群の先頭のSPNに等しい。ここで、「SPN」とは、一つのAVストリーム・ファイルに属するソースパケット群に、先頭から順に割り当てられた通し番号をいう。SPNは、そのAVストリーム・ファイル内での各ソースパケットのアドレスとして利用される。2Dクリップ情報ファイル1231内のエントリ・マップ3430において、SPNは、ファイル2D1241に属するソースパケット群、すなわちメインTSを格納しているソースパケット群に割り当てられた番号を意味する。従って、エントリ・ポイント3502は、ファイル2D1241に含まれる各IピクチャのPTSとアドレス、すなわちSPNとの間の対応関係を表す。
エントリ・ポイント3502は、ファイル2D1241内の全てのIピクチャに対して設定されていなくてもよい。但し、IピクチャがGOPの先頭に位置し、かつ、そのIピクチャの先頭を含むTSパケットが2Dエクステントの先頭に位置するときは、そのIピクチャにはエントリ・ポイント3502が設定されなければならない。
図35の(b)は、ファイル2D1241に属するソースパケット群3510のうち、エントリ・マップ3430によって各EP_ID3505に対応付けられているものを示す模式図である。図35の(c)は、そのソースパケット群3510に対応するBD−ROMディスク101上のデータ・ブロック群D[n]、B[n](n=0、1、2、3、…)を示す模式図である。再生装置102はファイル2D1241から2D映像を再生する際にエントリ・マップ3430を利用して、任意のシーンを表すフレームのPTSから、そのフレームを含むソースパケットのSPNを特定する。具体的には、再生開始位置として特定のエントリ・ポイントのPTS、例えばPTS=360000が指定されたとき、再生装置102はまず、エントリ・マップ3430から、そのPTSに対応付けられたSPN=3200を検索する。再生装置102は次に、そのSPNとソースパケット一つ当たりのデータ量192バイトとの積を求め、更に、その積をセクタ一つ当たりのデータ量2048バイトで割ったときの商、SPN×192/2048を求める。図15の(c)、(d)から理解されるとおり、その商は、メインTSのうち、そのSPNが割り当てられたソースパケットよりも前の部分が記録されたセクタの総数に等しい。図35の(b)に示されている例では、その商、3200×192/2048=300は、0から3199までのSPNが割り当てられたソースパケット群3511が記録されたセクタの総数に等しい。再生装置102は続いて、ファイル2D1241のファイル・エントリを参照し、2Dエクステント群が記録されたセクタ群の先頭から数えて(上記の総数+1)番目のセクタのLBNを特定する。図35の(c)に示されている例では、2DエクステントEXT2D[0]、EXT2D[1]、EXT2D[2]、…としてアクセス可能なベースビュー・データ・ブロックB[0]、B[1]、B[2]、…が記録されたセクタ群のうち、先頭から数えて301番目のセクタのLBNが特定される。再生装置102はそのLBNをBD−ROMドライブに指定する。それにより、そのLBNのセクタから順にベースビュー・データ・ブロック群がアラインド・ユニット単位で読み出される。再生装置102は更に、最初に読み出されたアラインド・ユニットから、再生開始位置のエントリ・ポイントの示すソースパケットを選択し、それらからIピクチャを抽出して復号する。それ以降、後続のピクチャは、先に復号されたピクチャを利用して順次復号される。こうして、再生装置102はファイル2D1241から特定のPTS以降の2D映像を再生できる。
エントリ・マップ3430は更に、早送り再生及び巻戻し再生等の特殊再生の効率的な処理に有利である。例えば2D再生モードの再生装置102は、まずエントリ・マップ3430を参照して、再生開始位置、例えばPTS=360000以降のPTSを含むエントリ・ポイント、EP_ID=2、3、…からSPN=3200、4800、…を順番に読み出す。再生装置102は次にファイル2D1241のファイル・エントリを利用して、各SPNに対応するセクタのLBNを特定する。再生装置102は続いて、各LBNをBD−ROMドライブに指定する。それにより、各LBNのセクタからアラインド・ユニットが読み出される。再生装置102は更に各アラインド・ユニットから、各エントリ・ポイントの示すソースパケットを選択し、それらからIピクチャを抽出して復号する。こうして、再生装置102は2Dエクステント群EXT2D[n]自体を解析することなく、ファイル2D1241からIピクチャを選択的に再生できる。
[エクステント起点]
図36の(a)は、エクステント起点3442のデータ構造を示す模式図である。図36の(a)を参照するに、「エクステント起点(Extent_Start_Point)」3442はベースビュー・エクステントID(EXT1_ID)3611とSPN3612とを含む。EXT1_ID3611は、第1ファイルSS(01000.ssif)1245に属する各ベースビュー・データ・ブロックに、先頭から順に割り当てられた通し番号である。SPN3612は各EXT1_ID3611に一つずつ割り当てられ、そのEXT1_ID3611で識別されるベースビュー・データ・ブロックの先端に位置するソースパケットのSPNに等しい。ここで、そのSPNは、第1ファイルSS1245に属するベースビュー・データ・ブロック群に含まれる各ソースパケットに、先頭から順に割り当てられた通し番号である。
図25に示されているエクステント・ブロック2501−2503では、各ベースビュー・データ・ブロックB[0]、B[1]、B[2]、…はファイル2D1241と第1ファイルSS1245とに共有される。しかし、記録層間の境界等、ロング・ジャンプの必要な箇所に配置されたデータ・ブロック群は一般に、ファイル2D1241又は第1ファイルSS1245のいずれかにのみ属するベースビュー・データ・ブロックを含む。従って、エクステント起点3442の示すSPN3612は、ファイル2D1241に属する2Dエクステントの先端に位置するソースパケットのSPNとは一般に異なる。
図36の(b)は、第2クリップ情報ファイル(02000.clpi)、すなわちディペンデントビュー・クリップ情報ファイル1232に含まれるエクステント起点3620のデータ構造を示す模式図である。図36の(b)を参照するに、エクステント起点3620は、ディペンデントビュー・エクステントID(EXT2_ID)3621とSPN3622とを含む。EXT2_ID3621は、第1ファイルSS1245に属する各ディペンデントビュー・データ・ブロックに先頭から順に割り当てられた通し番号である。SPN3622は各EXT2_ID3621に一つずつ割り当てられ、そのEXT2_ID3621で識別されるディペンデントビュー・データ・ブロックの先端に位置するソースパケットのSPNに等しい。ここで、そのSPNは、第1ファイルSS1245に属するディペンデントビュー・データ・ブロック群に含まれる各ソースパケットに、先頭から順に割り当てられた通し番号である。
図36の(d)は、第1ファイルDEP(02000.m2ts)1242に属するディペンデントビュー・エクステントEXT2[0]、EXT2[1]、…と、エクステント起点3620の示すSPN3622との間の対応関係を表す模式図である。図25に示されているように、ディペンデントビュー・データ・ブロックは、第1ファイルDEP1242と第1ファイルSS1245とに共有される。従って、図36の(d)に示されているように、エクステント起点3620の示す各SPN3622は、各ライトビュー・エクステントEXT2[0]、EXT2[1]、…の先端に位置するソースパケットのSPNに等しい。
2Dクリップ情報ファイル1231のエクステント起点3442と、ディペンデントビュー・クリップ情報ファイル1232のエクステント起点3620とは、以下に説明するように、第1ファイルSS1245から3D映像が再生されるとき、各エクステントSSに含まれるデータ・ブロックの境界の検出に利用される。
図36の(e)は、第1ファイルSS1245に属するエクステントSSEXTSS[0]とBD−ROMディスク101上のエクステント・ブロックとの間の対応関係を示す模式図である。図36の(e)を参照するに、そのエクステント・ブロックはインターリーブ配置のデータ・ブロック群D[n]、B[n](n=0、1、2、…)を含む。尚、以下の説明はその他の配置でも同様に成立する。そのエクステント・ブロックは一つのエクステントSSEXTSS[0]としてアクセス可能である。更に、そのエクステントSSEXTSS[0]の中で、(n+1)番目のベースビュー・データ・ブロックB[n]に含まれるソースパケットの数は、エクステント起点3442において、EXT1_ID=n+1、nのそれぞれに対応するSPN間の差A(n+1)−Anに等しい。ここで、A0=0とする。一方、ディペンデントビュー・データ・ブロックD[n+1]に含まれるソースパケットの数は、エクステント起点3620において、EXT2_ID=n+1、nのそれぞれに対応するSPN間の差B(n+1)−Bnに等しい。ここで、B0=0とする。
3D再生モードの再生装置102は、第1ファイルSS1245から3D映像を再生するとき、各クリップ情報ファイル1231、1232のエントリ・マップとエクステント起点3442、3620とを利用する。それにより、再生装置102は、任意のシーンのライトビューを表すフレームのPTSから、そのフレームの構成に必要なディペンデントビュー・データ・ブロックが記録されたセクタのLBNを特定する。具体的には、再生装置102はまず、例えばディペンデントビュー・クリップ情報ファイル1232のエントリ・マップから、そのPTSに対応付けられたSPNを検索する。仮に、そのSPNの示すソースパケットが、第1ファイルDEP1242の3番目のディペンデントビュー・エクステントEXT2[2]、すなわちディペンデントビュー・データ・ブロックD[2]に含まれる場合を想定する。再生装置102は次に、ディペンデントビュー・クリップ情報ファイル1232のエクステント起点3620の示すSPN3622の中から、目標のSPN以下で最大のもの“B2”と、それに対応するEXT2_ID=“2”とを検索する。再生装置102は続いて、2Dクリップ情報ファイル1231のエクステント起点3442から、そのEXT2_ID=“2”と等しいEXT1_IDに対応するSPN3612の値“A2”を検索する。再生装置102は更に、検索されたSPNの和B2+A2を求める。図36の(e)から理解されるように、その和B2+A2は、エクステントSSEXTSS[0]の中で、3番目のディペンデントビュー・データ・ブロックD[2]よりも前に配置されたソースパケットの総数に等しい。従って、その和B2+A2とソースパケット一つ当たりのデータ量192バイトとの積をセクタ一つ当たりのデータ量2048バイトで割ったときの商(B2+A2)×192/2048は、エクステントSSEXTSS[0]の先頭から3番目のディペンデントビュー・データ・ブロックD[2]の直前までのセクタ数に等しい。この商を利用して第1ファイルSS1245のファイル・エントリを参照すれば、そのディペンデントビュー・データ・ブロックD[2]の先端が記録されたセクタのLBNを特定することができる。
再生装置102は、上記のようにLBNを特定した後、そのLBNをBD−ROMドライブに指定する。それにより、そのLBNのセクタ以降に記録されたエクステントSSEXTSS[0]の部分、すなわち3番目のライトビュー・データ・ブロックD[2]以降のデータ・ブロック群D[2]、B[2]、D[3]、B[3]、…がアラインド・ユニット単位で読み出される。
再生装置102は更にエクステント起点3442、3620を利用して、読み出されたエクステントSSからディペンデントビュー・データ・ブロックとベースビュー・データ・ブロックとを交互に抽出する。例えば、図36の(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)個のソースパケットを2番目のディペンデントビュー・データ・ブロックD[1]として抽出する。再生装置102は更に、(A1+B2)番目のソースパケットと、それに続く(A2−A1−1)個のソースパケットとの計(A2−A1)個のソースパケットを2番目のベースビュー・データ・ブロックB[1]として抽出する。それ以降も再生装置102は同様に、読み出されるソースパケットの数からエクステントSS内のデータ・ブロック間の境界を検出して、ディペンデントビューとベースビューとの各データ・ブロックを交互に抽出する。抽出されたベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとはパラレルにシステム・ターゲット・デコーダに渡されて復号される。
こうして、3D再生モードの再生装置102は第1ファイルSS1245から特定のPTS以降の3D映像を再生できる。その結果、再生装置102は、BD−ROMドライブの制御に関する上記の利点(A)、(B)を実際に享受できる。
≪ファイル・ベース≫
図36の(c)は、3D再生モードの再生装置102によって第1ファイルSS1245から抽出されたベースビュー・データ・ブロックB[0]、B[1]、B[2]、…を表す模式図である。図36の(c)を参照するに、それらのベースビュー・データ・ブロックB[n](n=0、1、2、…)に含まれるソースパケット群に、先頭から順にSPNを割り当てたとき、各ベースビュー・データ・ブロックB[n]の先端に位置するソースパケットのSPNは、エクステント起点3442の示すSPN3612に等しい。それらのベースビュー・データ・ブロック群B[n]のように、エクステント起点を利用して一つのファイルSSから抽出されるベースビュー・データ・ブロック群を「ファイル・ベース」という。更に、ファイル・ベースに含まれるベースビュー・データ・ブロックを「ベースビュー・エクステント」という。図36の(e)に示されているように、各ベースビュー・エクステントEXT1[0]、EXT1[1]、…は、クリップ情報ファイル内のエクステント起点3442、3620を利用して参照される。
ベースビュー・エクステントEXT1[n]は2DエクステントEXT2D[n]とベースビュー・データ・ブロックB[n]を共有する。従って、ファイル・ベースはファイル2Dと同じメインTSを含む。しかし、ベースビュー・エクステントEXT1[n]は2DエクステントEXT2D[n]とは異なり、いずれのファイルのファイル・エントリによっても参照されない。上記のとおり、ベースビュー・エクステントEXT1[n]は、クリップ情報ファイル内のエクステント起点を利用して、ファイルSS内のエクステントSSEXTSS[・]から抽出される。このように、ファイル・ベースは本来のファイルとは異なり、ファイル・エントリを含まず、かつ、ベースビュー・エクステントの参照にエクステント起点を必要とする。それらの意味で、ファイル・ベースは「仮想的なファイル」である。特にファイル・ベースはファイルシステムでは認識されず、図12に示されているディレクトリ/ファイル構造には現れない。
図37は、BD−ROMディスク101上に記録された一つのエクステント・ブロック3700と、ファイル2D3710、ファイル・ベース3711、ファイルDEP3712、及びファイルSS3720の各エクステント群との間の対応関係を示す模式図である。図37を参照するに、エクステント・ブロック3700はディペンデントビュー・データ・ブロックD[n]とベースビュー・データ・ブロックB[n]とを含む(n=0、1、2、3、…)。ベースビュー・データ・ブロックB[n]は2DエクステントEXT2D[n]としてファイル2D3710に属する。ディペンデントビュー・データ・ブロックD[n]はディペンデントビュー・エクステントEXT2[n]としてファイルDEP3712に属する。エクステント・ブロック3700の全体が一つのエクステントSSEXTSS[0]としてファイルSS3720に属する。従って、エクステントSSEXTSS[0]は、2DエクステントEXT2D[n]とはベースビュー・データ・ブロックB[n]を共有し、ディペンデントビュー・エクステントEXT2[n]とはディペンデントビュー・データ・ブロックD[n]を共有する。エクステントSSEXTSS[0]は再生装置102に読み込まれた後、ディペンデントビュー・データ・ブロックD[n]とベースビュー・データ・ブロックB[n]とに分離される。それらのベースビュー・データ・ブロックB[n]はベースビュー・エクステントEXT1[n]としてファイル・ベース3711に属する。エクステントSSEXTSS[0]内でのベースビュー・エクステントEXT1[n]とディペンデントビュー・エクステントEXT2[n]との間の境界は、ファイル2D3710とファイルDEP3712とのそれぞれに対応付けられたクリップ情報ファイル内のエクステント起点を利用して特定される。
≪ディペンデントビュー・クリップ情報ファイル≫
ディペンデントビュー・クリップ情報ファイルは、図34、35に示されている2Dクリップ情報ファイルとデータ構造が同様である。従って、以下の説明では、ディペンデントビュー・クリップ情報ファイルと2Dクリップ情報ファイルとの間の相違点に触れ、同様な点についての説明は上記の説明を援用する。
ディペンデントビュー・クリップ情報ファイルは、2Dクリップ情報ファイルとは、主に次の三点で異なる:(i)ストリーム属性情報に条件が課せられている;(ii)エントリ・ポイントに条件が課せられている;(iii)3Dメタデータがオフセット・テーブルを含まない。
(i)ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとが、L/Rモードの再生装置102によって3D映像の再生に利用されるものであるとき、図17に示されているとおり、ディペンデントビュー・ビデオ・ストリームはベースビュー・ビデオ・ストリームを利用して圧縮されている。そのとき、ディペンデントビュー・ビデオ・ストリームはベースビュー・ビデオ・ストリームとビデオ・ストリーム属性が等しい。ここで、ベースビュー・ビデオ・ストリームに関するビデオ・ストリーム属性情報は2Dクリップ情報ファイルのストリーム属性情報3420内でPID=0x1011に対応付けられている。一方、ディペンデントビュー・ビデオ・ストリームに関するビデオ・ストリーム属性情報はディペンデントビュー・クリップ情報ファイルのストリーム属性情報内でPID=0x1012又は0x1013に対応付けられている。従って、それらのビデオ・ストリーム属性情報間では、図34に示されている各項目、すなわち、コーデック、解像度、アスペクト比、及びフレームレートが一致しなければならない。コーデックの種類が一致していれば、ベースビュー・ピクチャとディペンデントビュー・ピクチャとの間に符号化での参照関係が成立するので、各ピクチャを復号することができる。解像度、アスペクト比、及びフレームレートがいずれも一致していれば、左右の映像の画面表示を同期させることができる。それ故、それらの映像を3D映像として視聴者に違和感を与えることなく見せることができる。
(ii)ディペンデントビュー・クリップ情報ファイルのエントリ・マップは、ディペンデントビュー・ビデオ・ストリームに割り当てられたテーブルを含む。そのテーブルは、図35の(a)に示されているテーブル3500と同様に、エントリ・マップ・ヘッダとエントリ・ポイントとを含む。エントリ・マップ・ヘッダは、対応するディペンデントビュー・ビデオ・ストリームのPID、すなわち0x1012又は0x1013を示す。各エントリ・ポイントは一対のPTSとSPNとを一つのEP_IDに対応付けている。各エントリ・ポイントのPTSは、ディペンデントビュー・ビデオ・ストリームに含まれるいずれかのGOPにおいて、その先頭に位置するピクチャのPTSと等しい。各エントリ・ポイントのSPNは、同じエントリ・ポイントに属するPTSで特定されるピクチャが格納されたソースパケット群のうち、その先頭に割り当てられたSPNに等しい。ここで、SPNは、ファイルDEPに属するソースパケット群、すなわちサブTSを構成するソースパケット群に先頭から順に割り当てられた通し番号を意味する。各エントリ・ポイントのPTSは、2Dクリップ情報ファイルのエントリ・マップのうち、ベースビュー・ビデオ・ストリームに割り当てられたテーブル内のエントリ・ポイントのPTSと一致しなければならない。すなわち、同じ3D・VAUに含まれる一対のピクチャの一方を含むソースパケット群の先頭にエントリ・ポイントが設定されているときは常に、他方を含むソースパケット群の先頭にもエントリ・ポイントが設定されていなければならない。
図38は、ベースビュー・ビデオ・ストリーム3810とディペンデントビュー・ビデオ・ストリーム3820とに設定されたエントリ・ポイントの例を示す模式図である。各ビデオ・ストリーム3810、3820では、先頭から数えて同じ順番のGOPが同じ再生期間の映像を表す。図38を参照するに、ベースビュー・ビデオ・ストリーム3810では、その先頭のGOPから数えて奇数番目に位置するGOP#1、GOP#3、GOP#5の各先頭にエントリ・ポイント3801B、3803B、3805Bが設定されている。それに併せて、ディペンデントビュー・ビデオ・ストリーム3820でも、その先頭のGOPから数えて奇数番目に位置するGOP#1、GOP#3、GOP#5の各先頭にエントリ・ポイント3801D、3803D、3805Dが設定されている。その場合、再生装置102は、例えばGOP#3から3D映像の再生を開始するとき、対応するエントリ・ポイント3803B、3803DのSPNから、ファイルSS内の再生開始位置のSPNを直ちに算定できる。特にエントリ・ポイント3803B、3803Dがいずれもデータ・ブロックの先端に設定されているとき、図36の(e)から理解されるとおり、エントリ・ポイント3803B、3803DのSPNの和がファイルSS内の再生開始位置のSPNに等しい。図36の(e)の説明で述べたとおり、そのソースパケットの数からは、ファイルSS内の再生開始位置の部分が記録されたセクタのLBNを算定することができる。こうして、3D映像の再生においても、飛び込み再生等、ビデオ・ストリームのランダムアクセスを要する処理の応答速度を向上させることができる。
≪2Dプレイリスト・ファイル≫
図39は、2Dプレイリスト・ファイルのデータ構造を示す模式図である。図12に示されている第1プレイリスト・ファイル(00001.mpls)1221はこのデータ構造を持つ。図39を参照するに、2Dプレイリスト・ファイル1221はメインパス3901と二つのサブパス3902、3903とを含む。
メインパス3901はプレイアイテム情報(以下、PIと略す。)の配列であり、ファイル2D1241の主要な再生経路、すなわち再生対象の部分とその再生順とを規定する。各PIは固有のプレイアイテムID=#N(N=1、2、3、…)で識別される。各PI#Nは主要な再生経路の異なる再生区間を一対のPTSで規定する。その対の一方はその再生区間の開始時刻(In−Time)を表し、他方は終了時刻(Out−Time)を表す。更に、メインパス3901内でのPIの順序は、対応する再生区間の再生経路内での順序を表す。
各サブパス3902、3903はサブプレイアイテム情報(以下、SUB_PIと略す。)の配列であり、ファイル2D1241の主要な再生経路に並列に付随可能な再生経路を規定する。その再生経路は、メインパス3901の表すファイル2D1241の部分とは別の部分とその再生順、又は、別のファイル2Dに多重化されたストリーム・データの部分とその再生順を示す。そのストリーム・データの表す2D映像は、メインパス3901に従ってファイル2D1241から再生される2D映像と同時に再生されるべきものであって、例えば、ピクチャ・イン・ピクチャ方式における副映像、ブラウザ画面、ポップアップ・メニュー、又は字幕を含む。サブパス3902、3903には2Dプレイリスト・ファイル1221への登録順に通し番号“0”、“1”が振られている。その通し番号はサブパスIDとして各サブパス3902、3903の識別に利用される。各サブパス3902、3903では、各SUB_PIが固有のサブプレイアイテムID=#M(M=1、2、3、…)で識別される。各SUB_PI#Mは、再生経路の異なる再生区間を一対のPTSで規定する。その対の一方はその再生区間の再生開始時刻を表し、他方は再生終了時刻を表す。更に、各サブパス3902、3903内でのSUB_PIの順序は、対応する再生区間の再生経路内での順序を表す。
図40は、PI#Nのデータ構造を示す模式図である。図40を参照するに、PI#Nは、参照クリップ情報4001、再生開始時刻(In_Time)4002、再生終了時刻(Out_Time)4003、コネクション・コンディション4004、及びストリーム選択テーブル(以下、STN(Stream Number)テーブルと略す。)4005を含む。参照クリップ情報4001は、2Dクリップ情報ファイル1231を識別するための情報である。再生開始時刻4002と再生終了時刻4003とは、ファイル2D1241の再生対象部分の先端と後端との各PTSを示す。コネクション・コンディション4004は、再生開始時刻4002と再生終了時刻4003とによって規定された再生区間での映像を、一つ前のPI#(N−1)によって規定された再生区間での映像に接続するときの条件を規定する。STNテーブル4005は、再生開始時刻4002から再生終了時刻4003までの間に、再生装置102内のデコーダによってファイル2D1241から選択可能なエレメンタリ・ストリームのリストを表す。
SUB_PIのデータ構造は、図40に示されているPIのデータ構造と、参照クリップ情報、再生開始時刻、及び再生終了時刻を含む点で共通する。特にSUB_PIの再生開始時刻と再生終了時刻とは、PIのそれらと同じ時間軸上の値で表される。SUB_PIは更に「SPコネクション・コンディション」というフィールドを含む。SPコネクション・コンディションはPIのコネクション・コンディションと同じ意味を持つ。
[コネクション・コンディション]
コネクション・コンディション(以下、CCと略す。)4004は、例えば、“1”、“5”、“6”の三種類の値を取り得る。CC4004が“1”であるとき、PI#Nによって規定されるファイル2D1241の部分から再生される映像は、直前のPI#(N−1)によって規定されるファイル2D1241の部分から再生される映像とは必ずしもシームレスに接続されなくてもよい。一方、CC4004が“5”又は“6”であるとき、それら両方の映像が必ずシームレスに接続されなければならない。
図41の(a)、(b)はそれぞれ、CCが“5”、“6”であるときに接続されるべき二つの再生区間PI#(N−1)、PI#Nの間の関係を示す模式図である。ここで、PI#(N−1)はファイル2D1241の第1部分4101を規定し、PI#Nはファイル2D1241の第2部分4102を規定する。図41の(a)を参照するに、CCが“5”であるとき、二つのPI#(N−1)、PI#Nの間でSTCが途切れていても良い。すなわち、第1部分4101の後端のPTS#1と第2部分4102の先端のPTS#2とは不連続であってもよい。但し、いくつかの制約条件が満たされねばならない。例えば、第1部分4101に続けて第2部分4102がデコーダに供給された際にそのデコーダが復号処理をスムーズに持続できるように、各部分4101、4102は作成されていなければならない。更に、第1部分4101に含まれるオーディオ・ストリームの最後のフレームは、第2部分4102に含まれるオーディオ・ストリームの先頭フレームと重複させなければならない。一方、図41の(b)を参照するに、CCが“6”であるとき、第1部分4101と第2部分4102とは、デコーダの復号処理上、一連の部分として扱えるものでなければならない。すなわち、第1部分4101と第2部分4102との間では、STCとATCとがいずれも連続でなければならない。同様に、SPコネクション・コンディションが“5”又は“6”であるとき、隣接する二つのSUB_PIによって規定されるファイル2Dの部分の間では、STCとATCとがいずれも連続でなければならない。
[STNテーブル]
図40を再び参照するに、STNテーブル4005はストリーム登録情報の配列である。「ストリーム登録情報」とは、再生開始時刻4002から再生終了時刻4003までの間にメインTSから再生対象として選択可能なエレメンタリ・ストリームを個別に示す情報である。ストリーム番号(STN)4006は、ストリーム登録情報に個別に割り当てられた通し番号であり、再生装置102によって各エレメンタリ・ストリームの識別に利用される。STN4006は更に、同じ種類のエレメンタリ・ストリームの間では選択の優先順位を表す。ストリーム登録情報は、ストリーム・エントリ4009とストリーム属性情報4010と含む。ストリーム・エントリ4009は、ストリーム・パス情報4007とストリーム識別情報4008とを含む。ストリーム・パス情報4007は、選択対象のエレメンタリ・ストリームが属するファイル2Dを示す情報である。例えばストリーム・パス情報4007が“メインパス”を示すとき、そのファイル2Dは、参照クリップ情報4001の示す2Dクリップ情報ファイルに対応するものである。一方、ストリーム・パス情報4007が“サブパスID=1”を示すとき、選択対象のエレメンタリ・ストリームが属するファイル2Dは、サブパスID=1のサブパスに含まれるSUB_PIの参照クリップ情報が示す2Dクリップ情報ファイルに対応するものである。そのSUB_PIの規定する再生開始時刻又は再生終了時刻のいずれかは、STNテーブル4005を含むPIの規定する再生開始時刻4002から再生終了時刻4003までの期間に含まれる。ストリーム識別情報4008は、ストリーム・パス情報4007によって特定されるファイル2Dに多重化されているエレメンタリ・ストリームのPIDを示す。このPIDの示すエレメンタリ・ストリームが再生開始時刻4002から再生終了時刻4003までの間に選択可能である。ストリーム属性情報4010は各エレメンタリ・ストリームの属性情報を表す。例えば、オーディオ・ストリーム、PGストリーム、及びIGストリームの各属性情報は言語の種類を示す。
[2Dプレイリスト・ファイルに従った2D映像の再生]
図42は、2Dプレイリスト・ファイル(00001.mpls)1221の示すPTSと、ファイル2D(01000.m2ts)1241から再生される部分との間の対応関係を示す模式図である。図42を参照するに、2Dプレイリスト・ファイル1221のメインパス3901では、PI#1は、再生開始時刻IN1を示すPTS#1と、再生終了時刻OUT1を示すPTS#2とを規定する。PI#1の参照クリップ情報は2Dクリップ情報ファイル(01000.clpi)1231を示す。再生装置102は、2Dプレイリスト・ファイル1221に従って2D映像を再生するとき、まずPI#1からPTS#1、#2を読み出す。再生装置102は次に、2Dクリップ情報ファイル1231のエントリ・マップを参照して、PTS#1、#2に対応するファイル2D1241内のSPN#1、#2を検索する。再生装置102は続いて、SPN#1、#2から、それぞれに対応するセクタ数を算定する。再生装置102は更にそれらのセクタ数とファイル2D1241のファイル・エントリとを利用して、再生対象の2Dエクステント群EXT2D[0]、…、EXT2D[n]が記録されたセクタ群P1の先端のLBN#1と後端のLBN#2とを特定する。セクタ数の算定とLBNの特定とは、図35を用いて説明したとおりである。再生装置102は最後に、LBN#1からLBN#2までの範囲をBD−ROMドライブ121に指定する。それにより、その範囲のセクタ群P1から、2Dエクステント群EXT2D[0]、…、EXT2D[n]に属するソースパケット群が読み出される。同様に、PI#2の示すPTS#3、#4の対は、まず2Dクリップ情報ファイル1231のエントリ・マップを利用してSPN#3、#4の対に変換される。次に、ファイル2D1241のファイル・エントリを利用して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プレイリスト・ファイル1221のメインパス3901に従って、ファイル2D1241から2D映像を再生できる。
2Dプレイリスト・ファイル1221はエントリ・マーク4201を含んでもよい。エントリ・マーク4201は、メインパス3901のうち、実際に再生が開始されるべき時点を示す。例えば図42に示されているように、PI#1に対して複数のエントリ・マーク4201が設定されてもよい。エントリ・マーク4201は特に頭出し再生において、再生開始位置の検索に利用される。例えば2Dプレイリスト・ファイル1221が映画タイトルの再生経路を規定するとき、エントリ・マーク4201は各チャプタの先頭に付与される。それにより、再生装置102はその映画タイトルをチャプタごとに再生できる。
≪3Dプレイリスト・ファイル≫
図43は、3Dプレイリスト・ファイルのデータ構造を示す模式図である。図12に示されている第2プレイリスト・ファイル(00002.mpls)1222はこのデータ構造を持つ。第2プレイリスト・ファイル(00003.mpls)1223も同様である。図43を参照するに、3Dプレイリスト・ファイル1222は、メインパス4301、サブパス4302、及び拡張データ4303を含む。
メインパス4301は、図13の(a)に示されているメインTSの再生経路を規定する。従って、メインパス4301は、図39に示されている2Dプレイリスト・ファイル1221のメインパス3901と実質的に等しい。すなわち、2D再生モードの再生装置102は、3Dプレイリスト・ファイル1222のメインパス4301に従ってファイル2D1241から2D映像を再生できる。一方、メインパス4301は、図39に示されているメインパス3901とは次の点で異なる:各PIのSTNテーブルは、いずれかのグラフィックス・ストリームのPIDに一つのSTNを対応付けている際には更に、そのSTNに一つのオフセット・シーケンスIDを割り当てている。
サブパス4302は、図13の(b)、(c)に示されているサブTSの再生経路、すなわち、第1ファイルDEP1242又は第2ファイルDEP1243のいずれかの再生経路を規定する。サブパス4302のデータ構造は、図39に示されている2Dプレイリスト・ファイル1241のサブパス3902、3903のデータ構造と同様である。従って、その同様なデータ構造の詳細、特にSUB_PIのデータ構造の詳細についての説明は、図39を用いた説明を援用する。
サブパス4302のSUB_PI#N(N=1、2、3、…)はメインパス4301のPI#Nと一対一に対応する。更に、各SUB_PI#Nの規定する再生開始時刻と再生終了時刻とはそれぞれ、対応するPI#Nの規定する再生開始時刻と再生終了時刻とに等しい。サブパス4302はその上、サブパス・タイプ4310を含む。「サブパス・タイプ」は一般に、メインパスとサブパスとの間で再生処理が同期すべきか否かを示す。3Dプレイリスト・ファイル1222では特に、サブパス・タイプ4310が3D再生モードの種類、すなわちサブパス4302に従って再生されるべきディペンデントビュー・ビデオ・ストリームの種類を示す。図43では、サブパス・タイプ4310は、その値が「3D・L/R」であるので、3D再生モードがL/Rモードであること、すなわち、ライトビュー・ビデオ・ストリームが再生対象であることを示す。一方、サブパス・タイプ4310は、その値が「3Dデプス」であるとき、3D再生モードがデプス・モードであること、すなわち、デプスマップ・ストリームが再生対象であることを示す。3D再生モードの再生装置102は、サブパス・タイプ4310の値が「3D・L/R」又は「3Dデプス」であることを検出したとき、メインパス4301に従った再生処理と、サブパス4302に従った再生処理とを同期させる。
拡張データ4303は、3D再生モードの再生装置102によってのみ解釈される部分であり、2D再生モードの再生装置102には無視される。拡張データ4303は特に拡張ストリーム選択テーブル4330を含む。「拡張ストリーム選択テーブル(STN_table_SS)」(以下、STNテーブルSSと略す。)は、3D再生モードにおいて、メインパス4301内の各PIの示すSTNテーブルに追加されるべきストリーム登録情報の配列である。このストリーム登録情報は、サブTSから再生対象として選択可能なエレメンタリ・ストリームを示す。
[STNテーブル]
図44は、3Dプレイリスト・ファイル1222のメインパス4301の含むSTNテーブル4405を示す模式図である。図44を参照するに、ストリーム識別情報4408のうち、“5”から“11”までのSTN4406が割り当てられたものは、PGストリーム又はIGストリームのPIDを示す。その場合、同じSTNが割り当てられたストリーム属性情報4410は参照オフセットID(stream_ref_offset_id)4401を含む。ファイルDEP1242では、図21に示されているように、各ビデオ・シーケンスのVAU#1にオフセット・メタデータ2110が配置されている。参照オフセットID4401は、そのオフセット・メタデータ2110の含むオフセット・シーケンスID2112のいずれかに等しい。すなわち、参照オフセットID4401は、そのオフセット・メタデータ2110の含む複数のオフセット・シーケンスの中で、“5”から“11”までの各STNに対応付けられるべきオフセット・シーケンスを規定する。
[STNテーブルSS]
図45は、STNテーブルSS4430のデータ構造を示す模式図である。図45を参照するに、STNテーブルSS4430はストリーム登録情報列4501、4502、4503、…、を含む。ストリーム登録情報列4501、4502、4503、…、はメインパス4301内のPI#1、#2、#3、…、に個別に対応する。3D再生モードの再生装置102はそれらのストリーム登録情報列4501、…を、対応するPI内のSTNテーブルに含まれるストリーム登録情報列と組み合わせて利用する。各PIに対するストリーム登録情報列4501は、ポップアップ期間のオフセット(Fixed_offset_during_Popup)4511、ディペンデントビュー・ビデオ・ストリームのストリーム登録情報列4512、PGストリームのストリーム登録情報列4513、及びIGストリームのストリーム登録情報列4514を含む。
ポップアップ期間のオフセット4511は、IGストリームからポップアップ・メニューが再生されるか否かを示す。3D再生モードの再生装置102はそのオフセット4511の値に依ってビデオ・プレーンとPGプレーンとの表示モード(presentation mode)を変える。ここで、ビデオ・プレーンの表示モードにはB−D表示モードとB−B表示モードとの二種類がある。PGプレーンとIGプレーンとの各表示モードには、2プレーン・モード、1プレーン+オフセット・モード、及び1プレーン+ゼロ・オフセット・モードの三種類がある。例えばポップアップ期間のオフセット4511の値が“0”であるとき、IGストリームからはポップアップ・メニューが再生されない。そのとき、ビデオ・プレーンの表示モードとしてB−D表示モードが選択され、PGプレーンの表示モードとして2プレーン・モード又は1プレーン+オフセット・モードが選択される。一方、ポップアップ期間のオフセット4511の値が“1”であるとき、IGストリームからポップアップ・メニューが再生される。そのとき、ビデオ・プレーンの表示モードとしてB−B表示モードが選択され、PGプレーンの表示モードとして1プレーン+ゼロ・オフセット・モードが選択される。
「2プレーン・モード」では、例えば図13の(b)、(c)に示されているように、サブTSがベースビューとディペンデントビューとのグラフィックス・ストリームを両方含むとき、再生装置102が各グラフィックス・ストリームからレフトビューとライトビューとのグラフィックス・プレーンを復号して交互に出力する。「1プレーン+オフセット・モード」では、再生装置102がオフセット制御により、メインTS内のグラフィックス・ストリームからレフトビューとライトビューとのグラフィックス・プレーンの対を生成して交互に出力する。いずれのモードでも表示装置103の画面にレフトビューとライトビューとのグラフィックス・プレーンを交互に表示することができる。その場合、視聴者には、それらのグラフィックス・プレーンが一つの3Dグラフィックス映像として見える。「1プレーン+ゼロ・オフセット・モード」では、再生装置102が、動作モードを3D再生モードに維持したまま、オフセット制御を一時的に停止させ、メインTS内のグラフィックス・ストリームから復号されたグラフィックス・プレーンを一フレーム当たり二回ずつ出力する。従って、表示装置103の画面にはレフトビューとライトビューとのいずれかのグラフィックス・プレーンしか表示されないので、視聴者にはそれらが2Dグラフィックス映像としてしか見えない。
3D再生モードの再生装置102は、PIごとにポップアップ期間のオフセット4511を参照して、IGストリームからポップアップ・メニューが再生されるときはB−B表示モードと1プレーン+ゼロ・オフセット・モードとを選択する。それにより、ポップアップ・メニューが表示される間、表示装置103が2D表示モードと3D表示モードとのいずれで動作しても、他の3D映像が一時的に2D映像に変更されるので、ポップアップ・メニューの視認性・操作性が向上する。
ディペンデントビュー・ビデオ・ストリームのストリーム登録情報列4512、PGストリームのストリーム登録情報列4513、及びIGストリームのストリーム登録情報列4514はそれぞれ、サブTSから再生対象として選択可能なディペンデントビュー・ビデオ・ストリーム、PGストリーム、及びIGストリームを示すストリーム登録情報を含む。これらのストリーム登録情報列4512、4513、4514はそれぞれ、対応するPI内のSTNテーブルに含まれるストリーム登録情報列のうち、ベースビュー・ビデオ・ストリーム、PGストリーム、及びIGストリームを示すものと組み合わされて利用される。3D再生モードの再生装置102は、STNテーブル内のいずれかのストリーム登録情報を読み出すとき、そのストリーム登録情報に組み合わされたSTNテーブルSS内のストリーム登録情報列も自動的に読み出す。それにより、再生装置102は、2D再生モードを単に3D再生モードへ切り換えるとき、設定済みのSTN、及び言語等のストリーム属性を同一に維持できる。
ディペンデントビュー・ビデオ・ストリームのストリーム登録情報列4512は、一般に複数のストリーム登録情報(SS_dependet_view_block)4520を含む。それらは、対応するPI内のストリーム登録情報のうち、ベースビュー・ビデオ・ストリームを示すものと同数である。各ストリーム登録情報4520は、STN4521、ストリーム・エントリ4522、及びストリーム属性情報4523を含む。STN4521は、ストリーム登録情報4520に個別に割り当てられた通し番号であり、対応するPI内の組み合わせ対象のストリーム登録情報のSTNと等しい。ストリーム・エントリ4522は、サブパスID参照情報(ref_to_Subpath_id)4531、ストリーム・ファイル参照情報(ref_to_subClip_entry_id)4532、及びPID(ref_to_stream_PID_subclip)4533を含む。サブパスID参照情報4531は、ディペンデントビュー・ビデオ・ストリームの再生経路を規定するサブパスのサブパスIDを示す。ストリーム・ファイル参照情報4532は、そのディペンデントビュー・ビデオ・ストリームが格納されたファイルDEPを識別するための情報である。PID4533は、そのディペンデントビュー・ビデオ・ストリームのPIDである。ストリーム属性情報4523は、そのディペンデントビュー・ビデオ・ストリームの属性、例えば、フレームレート、解像度、及びビデオ・フォーマットを含む。特にそれらは、対応するPI内の組み合わせ対象のストリーム登録情報の示すベースビュー・ビデオ・ストリームのものと共通である。
PGストリームのストリーム登録情報列4513は、一般に複数のストリーム登録情報4540を含む。それらは、対応するPI内のストリーム登録情報のうち、PGストリームを示すものと同数である。各ストリーム登録情報4540は、STN4541、立体視フラグ(is_SS_PG)4542、ベースビュー・ストリーム・エントリ(stream_entry_for_base_view)4543、ディペンデントビュー・ストリーム・エントリ(stream_entry_for_depentdent_view)4544、及びストリーム属性情報4545を含む。STN4541は、ストリーム登録情報4540に個別に割り当てられた通し番号であり、対応するPI内の組み合わせ対象のストリーム登録情報のSTNと等しい。立体視フラグ4542は、「ベースビュー及びディペンデントビュー(例えば、レフトビュー及びライトビュー)の両方のPGストリームがBD−ROMディスク101に記録されているか否か」を示す。立体視フラグ4542がオンであるとき、サブTSには両方のPGストリームが含まれている。従って、ベースビュー・ストリーム・エントリ4543、ディペンデントビュー・ストリーム・エントリ4544、及びストリーム属性情報4545のいずれのフィールドも再生装置102によって読み出される。立体視フラグ4542がオフであるとき、それらのフィールド4543−4545はいずれも再生装置102によって無視される。ベースビュー・ストリーム・エントリ4543とディペンデントビュー・ストリーム・エントリ4544とはそれぞれ、サブパスID参照情報4551、ストリーム・ファイル参照情報4552、及びPID4553を含む。サブパスID参照情報4551は、ベースビューとディペンデントビューとの各PGストリームの再生経路を規定するサブパスのサブパスIDを示す。ストリーム・ファイル参照情報4552は、各PGストリームが格納されたファイルDEPを識別するための情報である。PID4553は各PGストリームのPIDである。ストリーム属性情報4545は各PGストリームの属性、例えば言語の種類を含む。IGストリームのストリーム登録情報列4514も同様なデータ構造を持つ。
[3Dプレイリスト・ファイルに従った3D映像の再生]
図46は、3Dプレイリスト・ファイル(00002.mpls)1222の示すPTSと、第1ファイルSS(01000.ssif)1245から再生される部分との間の対応関係を示す模式図である。図46を参照するに、3Dプレイリスト・ファイル1222のメインパス4601では、PI#1は、再生開始時刻IN1を示すPTS#1と、再生終了時刻OUT1を示すPTS#2とを規定する。PI#1の参照クリップ情報は2Dクリップ情報ファイル(01000.clpi)1231を示す。サブパス4602では、SUB_PI#1がPI#1と同じPTS#1、#2を規定する。SUB_PI#1の参照クリップ情報はディペンデントビュー・クリップ情報ファイル(02000.clpi)1232を示す。
再生装置102は3Dプレイリスト・ファイル1222に従って3D映像を再生するとき、まずPI#1とSUB_PI#1とからPTS#1、#2を読み出す。再生装置102は、次に2Dクリップ情報ファイル1231のエントリ・マップを参照して、PTS#1、#2に対応するファイル2D1241内のSPN#1、#2を検索する。それと並行して、再生装置102はディペンデントビュー・クリップ情報ファイル1232のエントリ・マップを参照して、PTS#1、#2に対応する第1ファイルDEP1242内のSPN#11、#12を検索する。再生装置102は続いて、図36の(e)の説明で述べたように、各クリップ情報ファイル1231、1232のエクステント起点3442、3620を利用して、第1ファイルSS1245の先頭から再生開始位置までのソースパケット数SPN#21をSPN#1、#11から算定する。再生装置102は同様に、第1ファイルSS1245の先頭から再生終了位置までのソースパケット数SPN#22をSPN#2、#12から算定する。再生装置102は更に、SPN#21、#22のそれぞれに対応するセクタ数を算定する。再生装置102は続いて、それらのセクタ数と第1ファイルSS1245のファイル・エントリとを利用して、再生対象のエクステントSS群EXTSS[0]、…、EXTSS[n]が記録されたセクタ群P11の先端のLBN#1と後端のLBN#2とを特定する。セクタ数の算定とLBNの特定とは、図36の(e)の説明で述べたものと同様である。再生装置102は最後に、LBN#1からLBN#2までの範囲をBD−ROMドライブ121に指定する。それにより、その範囲のセクタ群P11から、エクステントSS群EXTSS[0]、…、EXTSS[n]に属するソースパケット群が読み出される。同様に、PI#2とSUB_PI#2との示すPTS#3、#4の対は、まずクリップ情報ファイル1231、1232の各エントリ・マップを利用してSPN#3、#4の対とSPN#13、#14の対とに変換される。次に、SPN#3、#13からは、第1ファイルSS1245の先頭から再生開始位置までのソースパケット数SPN#23が算定される。更に、SPN#4、#14からは、第1ファイルSS1245の先頭から再生終了位置までのソースパケット数SPN#24が算定される。続いて、第1ファイルSS1245のファイル・エントリを利用して、SPN#23、#24の対がLBN#3、#4の対に変換される。その後、LBN#3からLBN#4までの範囲のセクタ群P12から、エクステントSS群に属するソースパケット群が読み出される。
上記の読み出し処理と並行して、再生装置102は、図36の(e)の説明で述べたように各クリップ情報ファイル1231、1232のエクステント起点3442、3620を利用して、各エクステントSSからベースビュー・エクステントとディペンデントビュー・エクステントとを抽出してパラレルに復号する。こうして、再生装置102は、3Dプレイリスト・ファイル1222に従って第1ファイルSS1245から3D映像を再生する。
≪インデックス・ファイル≫
図47は、図12に示されているインデックス・ファイル(index.bdmv)1211のデータ構造を示す模式図である。図47を参照するに、インデックス・ファイル1211は、インデックス・テーブル4710、3D存在フラグ4720、及び2D/3Dお好みフラグ4730を含む。
インデックス・テーブル4710は、項目「ファーストプレイ」4701、「トップメニュー」4702、及び「タイトルk」4703(k=1、2、…、n:文字nは1以上の整数を表す。)を含む。各項目には、ムービーオブジェクトMVO−2D、MVO−3D、…、又はBD−JオブジェクトBDJO−2D、BDJO−3D、…のいずれかが対応付けられている。ユーザの操作又はアプリケーション・プログラムの指示に応じてタイトル又はメニューが呼び出される度に、再生装置102の制御部は、インデックス・テーブル4710の対応する項目を参照する。制御部は更に、その項目に対応付けられているオブジェクトをBD−ROMディスク101から呼び出し、それに従って様々な処理を実行する。具体的には、項目「ファーストプレイ」4701には、BD−ROMディスク101がBD−ROMドライブ121へ挿入された時に呼び出されるべきオブジェクトが指定されている。項目「トップメニュー」4702には、例えばユーザの操作で「メニューに戻れ」というコマンドが入力された時に表示装置103にメニューを表示させるためのオブジェクトが指定されている。項目「タイトルk」4703には、BD−ROMディスク101上のコンテンツを構成するタイトルが個別に割り当てられている。例えばユーザの操作によって再生対象のタイトルが指定されたとき、そのタイトルが割り当てられている項目「タイトルk」には、そのタイトルに対応するAVストリーム・ファイルから映像を再生するためのオブジェクトが指定されている。
図47に示されている例では、項目「タイトル1」と項目「タイトル2」とが2D映像のタイトルに割り当てられている。項目「タイトル1」に対応付けられているムービーオブジェクトMVO−2Dは、2Dプレイリスト・ファイル(00001.mpls)1221を用いた2D映像の再生処理に関する命令群を含む。再生装置102によって項目「タイトル1」が参照されたとき、そのムービーオブジェクトMVO−2Dに従い、2Dプレイリスト・ファイル1221がBD−ROMディスク101から読み出され、それに規定された再生経路に沿って2D映像の再生処理が実行される。項目「タイトル2」に対応付けられているBD−JオブジェクトBDJO−2Dは、2Dプレイリスト・ファイル1221を用いた2D映像の再生処理に関するアプリケーション管理テーブルを含む。再生装置102によって項目「タイトル2」が参照されたとき、そのBD−JオブジェクトBDJO−2D内のアプリケーション管理テーブルに従ってJARファイル1261からJavaアプリケーション・プログラムが呼び出されて実行される。それにより、2Dプレイリスト・ファイル1221がBD−ROMディスク101から読み出され、それに規定された再生経路に沿って2D映像の再生処理が実行される。
図47に示されている例では更に、項目「タイトル3」と項目「タイトル4」とが3D映像のタイトルに割り当てられている。項目「タイトル3」に対応付けられているムービーオブジェクトMVO−3Dは、2Dプレイリスト・ファイル1221を用いた2D映像の再生処理に関する命令群に加え、3Dプレイリスト・ファイル(00002.mpls)1222、(00003.mpls)1223のいずれかを用いた3D映像の再生処理に関する命令群を含む。項目「タイトル4」に対応付けられているBD−JオブジェクトBDJO−3Dでは、アプリケーション管理テーブルが、2Dプレイリスト・ファイル1221を用いた2D映像の再生処理に関するJavaアプリケーション・プログラムに加え、3Dプレイリスト・ファイル1222、1223のいずれかを用いた3D映像の再生処理に関するJavaアプリケーション・プログラムを規定する。
3D存在フラグ4720は、BD−ROMディスク101に3D映像コンテンツが記録されているか否かを示すフラグである。再生装置102は、BD−ROMドライブ121にBD−ROMディスク101が挿入されたとき、まずその3D存在フラグ4720をチェックする。3D存在フラグ4720がオンである場合、再生装置102は、HDMIケーブル122を通して表示装置103とCECメッセージを交換して、3D映像の再生に対応可能か否かを表示装置103に問い合わせなければならない。その問い合わせを行うには、再生装置102は表示装置103に対してHDCP認証を行わねばならない。一方、3D存在フラグ4720がオフである場合、再生装置102は3D再生モードを選択する必要がないので、表示装置103に対してHDCP認証を行うことなく、2D再生モードに速やかに移行できる。こうして、HDMI認証がスキップされることにより、BD−ROMディスク101の挿入から2D映像の再生開始までの時間が短縮される。
2D/3Dお好みフラグ4730は、再生装置と表示装置とが共に2D映像と3D映像とのいずれの再生にも対応可能であるときに、3D映像の再生を優先すべきか否かを指定するフラグである。2D/3Dお好みフラグ4730はコンテンツ・プロバイダによって設定される。再生装置102は、BD−ROMディスク101の3D存在フラグ4720がオンであるとき、続いて2D/3Dお好みフラグ4730を更にチェックする。2D/3Dお好みフラグ4730がオンである場合、3D映像の再生が優先されるので、再生装置102はユーザに再生モードを選択させなくてもよい。従って、再生装置102は、表示装置103に再生モードの選択画面を表示させることなくHDCP認証を行い、その結果に依って2D再生モードと3D再生モードとのいずれかで動作する。特に表示装置103が3D映像の再生に対応可能であることが判明した場合、再生装置102は直ちに3D再生モードで起動する。こうして、フレームレートの切り換え等、2D再生モードから3D再生モードへの移行処理に起因する起動の遅れを回避することができる。
[3D映像タイトルの選択時でのプレイリスト・ファイルの選択]
図47に示されている例では、再生装置102は、インデックス・テーブル4710の項目「タイトル3」を参照したとき、ムービーオブジェクトMVO−3Dに従って、まず次の判別処理を行う:(1)3D存在フラグ4720がオンかオフか、(2)再生装置102自身が3D映像の再生に対応しているか否か、(3)2D/3Dお好みフラグ4730がオンかオフか、(4)ユーザが3D再生モードを選択しているか否か、(5)表示装置103が3D映像の再生に対応しているか否か、及び(6)再生装置102の3D再生モードがL/Rモードとデプス・モードとのいずれであるか。再生装置102は次に、それらの判別結果に依って、いずれかのプレイリスト・ファイル1221−1223を再生対象として選択する。一方、再生装置102は項目「タイトル4」を参照したとき、BD−JオブジェクトBDJO−3D内のアプリケーション管理テーブルに従ってJARファイル1261からJavaアプリケーション・プログラムを呼び出して実行する。それにより、まず上記の判別処理(1)−(6)が行われ、次にその判別結果に依って、プレイリスト・ファイルの選択が行われる。
図48は、上記の判別処理(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存在フラグ4720と2D/3Dお好みフラグ4730とのそれぞれがオンであるときの値を“1”とし、オフであるときの値を“0”とする。
ステップS4801では、再生装置102は3D存在フラグ4720の値をチェックする。その値が“1”であるとき、処理はステップS4802へ進む。その値が“0”であるとき、処理はステップS4807へ進む。
ステップS4802では、3D存在フラグ4720はオンであるので、3D再生モードが選択される可能性がある。従って、再生装置102は第1フラグの値をチェックする。その値が“1”であるとき、処理はステップS4803へ進む。その値が“0”であるとき、処理はステップS4807へ進む。
ステップS4803では、第1フラグはオンであるので、再生装置102は3D映像の再生に対応可能である。再生装置102は更に2D/3Dお好みフラグ4730の値をチェックする。その値が“0”であるとき、処理はステップS4804へ進む。その値が“1”であるとき、処理はステップS4805へ進む。
ステップS4804では、2D/3Dお好みフラグ4730がオフであるので、3D映像の再生は優先されない。従って、再生装置102は表示装置103にメニューを表示させて、ユーザに2D再生モードと3D再生モードとのいずれかを選択させる。ユーザがリモコン105等を操作して3D再生モードを選択したとき、処理はステップS4805へ進み、2D再生モードを選択したとき、処理はステップS4807へ進む。
ステップS4805では、3D映像の再生が優先され、又は3D再生モードがユーザによって選択されている。従って、再生装置102はHDCP認証を行って、表示装置103が3D映像の再生に対応しているか否かをチェックする。表示装置103が3D映像の再生に対応している場合、処理はステップS4806へ進む。表示装置103が3D映像の再生に対応していない場合、処理はステップS4807へ進む。
ステップS4806では、3D再生モードでの起動が決定されている。再生装置102は更に第2フラグの値をチェックする。その値が“0”であるとき、処理はステップS4808へ進む。その値が“1”であるとき、処理はステップS4809へ進む。
ステップS4807では、2D再生モードでの起動が決定されている。従って、再生装置102は2Dプレイリスト・ファイル1221を再生対象として選択する。尚、そのとき、再生装置102は表示装置103に、3D映像の再生が選択されなかった理由を表示させてもよい。その後、処理は終了する。
ステップS4808では、再生装置102はL/Rモードで起動する。すなわち、再生装置102はL/Rモード用の3Dプレイリスト・ファイル1222を再生対象として選択する。その後、処理は終了する。
ステップS4809では、再生装置102はデプス・モードで起動する。すなわち、再生装置102はデプス・モード用の3Dプレイリスト・ファイル1223を再生対象として選択する。その後、処理は終了する。
<2D再生装置の構成>
2D再生モードの再生装置102はBD−ROMディスク101から2D映像コンテンツを再生するとき、2D再生装置として動作する。図49は、2D再生装置4900の機能ブロック図である。図49を参照するに、2D再生装置4900は、BD−ROMドライブ4901、再生部4902、及び制御部4903を含む。再生部4902は、リード・バッファ4921、システム・ターゲット・デコーダ4923、プレーン加算部4924、及びHDMI通信部4925を含む。制御部4903は、動的シナリオ・メモリ4931、静的シナリオ・メモリ4932、ユーザイベント処理部4933、プログラム実行部4934、再生制御部4935、及びプレーヤ変数記憶部4936を含む。再生部4902と制御部4903とは、互いに異なる集積回路に実装されている。その他に、両者が単一の集積回路に統合されていてもよい。
BD−ROMドライブ4901は、内部にBD−ROMディスク101が挿入されたとき、そのディスク101にレーザ光を照射してその反射光の変化を検出する。更に、その反射光の光量の変化から、ディスク101に記録されたデータを読み取る。具体的には、BD−ROMドライブ4901は光ピックアップ、すなわち光学ヘッドを備えている。その光学ヘッドは、半導体レーザ、コリメータ・レンズ、ビーム・スプリッタ、対物レンズ、集光レンズ、及び光検出器を含む。半導体レーザから出射された光ビームは、コリメータ・レンズ、ビーム・スプリッタ、及び対物レンズを順に通ってディスク101の記録層に集められる。集められた光ビームはその記録層で反射/回折される。その反射/回折光は、対物レンズ、ビーム・スプリッタ、及び集光レンズを通って光検出器に集められる。光検出器は、その集光量に応じたレベルの再生信号を生成する。更に、その再生信号からデータが復調される。
BD−ROMドライブ4901は、再生制御部4935からの要求に従ってBD−ROMディスク101からデータを読み出す。そのデータのうち、ファイル2Dのエクステント、すなわち2Dエクステントはリード・バッファ4921へ転送され、動的シナリオ情報は動的シナリオ・メモリ4931へ転送され、静的シナリオ情報は静的シナリオ・メモリ4932へ転送される。「動的シナリオ情報」は、インデックス・ファイル、ムービーオブジェクト・ファイル、及びBD−Jオブジェクト・ファイルを含む。「静的シナリオ情報」は2Dプレイリスト・ファイルと2Dクリップ情報ファイルとを含む。
リード・バッファ4921、動的シナリオ・メモリ4931、及び静的シナリオ・メモリ4932はいずれもバッファ・メモリである。リード・バッファ4921としては、再生部4902に内蔵されたメモリ素子が利用され、動的シナリオ・メモリ4931及び静的シナリオ・メモリ4932としては、制御部4903に内蔵されたメモリ素子が利用される。その他に、単一のメモリ素子の異なる領域が、それらのバッファ・メモリ4921、4931、4932の一部又は全部として利用されてもよい。リード・バッファ4921は2Dエクステントを格納し、動的シナリオ・メモリ4931は動的シナリオ情報を格納し、静的シナリオ・メモリ4932は静的シナリオ情報を格納する。
システム・ターゲット・デコーダ4923は、リード・バッファ4921から2Dエクステントをソースパケット単位で読み出して多重分離処理を行い、分離された各エレメンタリ・ストリームに対して復号処理を行う。ここで、各エレメンタリ・ストリームの復号に必要な情報、例えばコーデックの種類及びストリームの属性は予め、再生制御部4935からシステム・ターゲット・デコーダ4923へ送られている。システム・ターゲット・デコーダ4923は更に、復号後のプライマリ・ビデオ・ストリーム、セカンダリ・ビデオ・ストリーム、IGストリーム、及びPGストリーム内の各VAUを、主映像プレーン、副映像プレーン、IGプレーン、及びPGプレーンに変換してプレーン加算部4924へ送出する。一方、システム・ターゲット・デコーダ4923は、復号後のプライマリ・オーディオ・ストリームとセカンダリ・オーディオ・ストリームとをミキシングして、表示装置103の内蔵スピーカ103A等、音声出力装置へ送出する。システム・ターゲット・デコーダ4923はその他に、プログラム実行部4934からグラフィックス・データを受信する。そのグラフィックス・データは、GUI用のメニュー等のグラフィックスを画面に表示するためのものであり、JPEG又はPNG等のラスタ・データで表現されている。システム・ターゲット・デコーダ4923はそのグラフィックス・データを処理してイメージ・プレーンに変換し、プレーン加算部4924へ送出する。尚、システム・ターゲット・デコーダ4923の詳細については後述する。
プレーン加算部4924は、システム・ターゲット・デコーダ4923から、主映像プレーン、副映像プレーン、IGプレーン、PGプレーン、及びイメージ・プレーンを読み出し、それらを互いに重畳して一つの映像プレーン(フレーム又はフィールド)に合成する。合成後の映像プレーンはHDMI通信部4925へ送出される。
HDMI通信部4925は、プレーン加算部4924からは合成後の映像データを受信し、システム・ターゲット・デコーダ4923からは音声データを受信し、再生制御部4935からは制御データ、特に再生モードを受信する。HDMI通信部4925は更に、それらの受信データをHDMI方式のシリアル信号に変換し、HDMIケーブル122内のTMDSチャネルを通して表示装置103へ伝送する。HDMI通信部4925は特にそのシリアル信号を、図4に示されているフォーマットで生成する。ここで、3D構造401と再生モード402とはインフォ・フレームに設定されなくてもよい。表示装置103はそのシリアル信号に従って、映像データの表す映像を画面に表示し、音声データの表す音声をスピーカ103Aから放出する。一方、HDMI通信部4925は、HDMIケーブル122内のCECラインを通して表示装置103との間でCECメッセージを交換し、HDMIケーブル122内のディスプレイ・データ・チャネルを通してEDIDを表示装置103から読み出す。尚、HDMI通信部4925の詳細については後述する。
ユーザイベント処理部4933は、リモコン105又は再生装置102のフロントパネルを通してユーザの操作を検出し、その操作の種類に依って、プログラム実行部4934又は再生制御部4935に処理を依頼する。例えば、ユーザがリモコン105のボタンを押下してポップアップ・メニューの表示を指示したとき、ユーザイベント処理部4933はその押下を検出してそのボタンを識別する。ユーザイベント処理部4933は更にプログラム実行部4934に、そのボタンに対応するコマンドの実行、すなわちポップアップ・メニューの表示処理を依頼する。一方、ユーザがリモコン105の早送り又は巻戻しボタンを押下したとき、ユーザイベント処理部4933はその押下を検出してそのボタンを識別する。ユーザイベント処理部4933は更に再生制御部4935に、現在再生中のプレイリストの早送り又は巻戻し処理を依頼する。
プログラム実行部4934はプロセッサであり、動的シナリオ・メモリ4931に格納されたムービーオブジェクト・ファイル又はBD−Jオブジェクト・ファイルからプログラムを読み出して実行する。プログラム実行部4934は更に各プログラムに従って次の制御を行う:(1)再生制御部4935に対してプレイリスト再生処理を命令する;(2)メニュー用又はゲーム用のグラフィックス・データをPNG又はJPEGのラスタ・データとして生成してシステム・ターゲット・デコーダ4923へ転送し、システム・ターゲット・デコーダ4923にそのデータを他の映像データと合成させる。これらの制御の具体的な内容は、プログラムの設計を通じて比較的自由に設計することができる。すなわち、それらの制御内容は、BD−ROMディスク101のオーサリング工程のうち、ムービーオブジェクト・ファイル及びBD−Jオブジェクト・ファイルのプログラミング工程によって決まる。
再生制御部4935は、2Dエクステント及びインデックス・ファイル等、各種のデータをBD−ROMディスク101から、リード・バッファ4921、動的シナリオ・メモリ4931、及び静的シナリオ・メモリ4932へ転送する処理を制御する。その制御には、図12に示されているディレクトリ/ファイル構造を管理するファイルシステムが次のように利用される。再生制御部4935はファイル・オープン用のシステムコールを利用して、ファイルシステムに検索対象のファイル名を与え、ディレクトリ/ファイル構造から検索させる。その検索に成功したとき、ファイルシステムはまず、再生制御部4935内のメモリに転送対象のファイルのファイル・エントリを転送して、そのメモリ内にFCB(File Control Block)を生成する。ファイルシステムは次に、転送対象のファイルのファイル・ハンドルを再生制御部4935へ返す。再生制御部4935はそのファイル・ハンドルをBD−ROMドライブ4901に提示する。それに応じて、BD−ROMドライブ4901はその転送対象のファイルを、BD−ROMディスク101から各バッファ・メモリ4921、4931、4932へ転送する。
再生制御部4935は、BD−ROMドライブ4901とシステム・ターゲット・デコーダ4923とを制御して、ファイル2Dから映像データと音声データとを復号させる。具体的には、再生制御部4935はまず、プログラム実行部4934からの命令、又はユーザイベント処理部4933からの依頼に応じて、静的シナリオ・メモリ4932から2Dプレイリスト・ファイルを読み出してその内容を解釈する。再生制御部4935は次に、その解釈された内容、特に再生経路に従って、BD−ROMドライブ4901とシステム・ターゲット・デコーダ4923とに再生対象のファイル2Dを指定し、その読み出し処理及び復号処理を指示する。このようなプレイリスト・ファイルに従った再生処理を「プレイリスト再生処理」という。
その他に、再生制御部4935は静的シナリオ情報を利用して、プレーヤ変数記憶部4936に各種のプレーヤ変数を設定する。再生制御部4935は更に、それらのプレーヤ変数を参照して、システム・ターゲット・デコーダ4923に復号対象のエレメンタリ・ストリームを指定し、かつ、各エレメンタリ・ストリームの復号に必要な情報を提供する。また、再生制御部4935はそれらのプレーヤ変数を参照して、映像データに付随する制御データ、特に再生モードをHDMI通信部4923に提供する。
プレーヤ変数記憶部4936は、プレーヤ変数を記憶するためのレジスタ群である。プレーヤ変数の種類にはシステム・パラメータ(SPRM)と汎用のパラメータ(GPRM)とがある。SPRMは再生装置102の状態を示す。図50はSPRMの一覧表である。図50を参照するに、各SPRMには通し番号5001が振られ、各通し番号5001に変数値5002が個別に対応付けられている。SPRMは例えば64個であり、それぞれの示す意味は以下のとおりである。ここで、括弧内の数字は通し番号5001を示す。
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)のパレンタル・レベルは、再生装置102を利用する視聴者の年齢の下限を示し、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等を利用してユーザに変更させることもでき、プログラム実行部4934を通じてアプリケーション・プログラムに変更させることもできる。例えばSPRM(16)が「英語」を示しているとき、再生制御部4935はプレイリスト再生処理において、まず現時点での再生区間を示すPI、すなわちカレントPIの含むSTNテーブルから、「英語」の言語コードを含むストリーム・エントリを検索する。再生制御部4935は次に、そのストリーム・エントリのストリーム識別情報からPIDを抽出してシステム・ターゲット・デコーダ4923に渡す。それにより、そのPIDのオーディオ・ストリームがシステム・ターゲット・デコーダ4923によって選択されて復号される。これらの処理は、ムービーオブジェクト・ファイル又はBD−Jオブジェクト・ファイルを利用して再生制御部4935に実行させることができる。
プレーヤ変数は再生処理中、再生制御部4935によって再生状態の変化に応じて更新される。特に、SPRM(1)、SPRM(2)、SPRM(21)、及びSPRM(22)が更新される。それらは順に、処理中のオーディオ・ストリーム、字幕ストリーム、セカンダリ・ビデオ・ストリーム、及びセカンダリ・オーディオ・ストリームの各STNを示す。例えばプログラム実行部4934によってSPRM(1)が変更されたときを想定する。再生制御部4935はまず、変更後のSPRM(1)の示すSTNを利用して、カレントPI内のSTNテーブルから、そのSTNを含むストリーム・エントリを検索する。再生制御部4935は次に、そのストリーム・エントリ内のストリーム識別情報からPIDを抽出してシステム・ターゲット・デコーダ4923に渡す。それにより、そのPIDのオーディオ・ストリームがシステム・ターゲット・デコーダ4923によって選択されて復号される。こうして、再生対象のオーディオ・ストリームが切り換えられる。同様に、再生対象の字幕及びセカンダリ・ビデオ・ストリームを切り換えることもできる。
<2D再生装置の再生動作>
図51は、2D再生装置4900の再生動作のフローチャートである。この動作は、再生装置102が、図48に示されている選択処理の結果、2D再生モードで起動することによって開始される。
ステップS5101では、2D再生装置4900は、BD−ROMドライブ4901によってBD−ROMディスク101からストリーム・データを読み出して、リード・バッファ4921へ格納する。その後、処理はステップS5102へ進む。
ステップS5102では、2D再生装置4900は、システム・ターゲット・デコーダ4923によってリード・バッファ4921からストリーム・データを読み出し、そのストリーム・データからエレメンタリ・ストリームを多重分離する。その後、処理はステップS5103へ進む。
ステップS5103では、2D再生装置4900は、システム・ターゲット・デコーダ4923によって各エレメンタリ・ストリームを復号する。特に、プライマリ・ビデオ・ストリーム、セカンダリ・ビデオ・ストリーム、IGストリーム、及びPGストリームはそれぞれ、主映像プレーン、副映像プレーン、IGプレーン、及びPGプレーンに復号される。更に、プライマリ・オーディオ・ストリームとセカンダリ・オーディオ・ストリームとがミキシングされる。その他に、プログラム実行部4934からのグラフィックス・データがイメージ・プレーンに変換される。その後、処理はステップS5104へ進む。
ステップS5104では、2D再生装置4900は、システム・ターゲット・デコーダ4923によって復号された主映像プレーン、副映像プレーン、IGプレーン、PGプレーン、及びイメージ・プレーンを、プレーン加算部4924によって一つの映像プレーンに合成する。その後、処理はステップS5105へ進む。
ステップS5105では、2D再生装置4900は、プレーン加算部4924によって合成された映像プレーン、システム・ターゲット・デコーダ4923によってミキシングされた音声データ、及び再生制御部4935からの制御データを、HDMI通信部4925によってシリアル信号に変換し、HDMIケーブル122を通して表示装置103へ伝送する。特にそのシリアル信号は、図4に示されているフォーマットで生成される。その後、処理はステップS5106へ進む。
ステップS5106では、2D再生装置4900は、リード・バッファ4921に未処理のストリーム・データが残されているか否かをチェックする。残されているときは、処理がステップS5101から繰り返される。残されていないときは、処理が終了する。
<2Dプレイリスト再生処理>
図52は、再生制御部4935による2Dプレイリスト再生処理のフローチャートである。2Dプレイリスト再生処理は、2Dプレイリスト・ファイルに従ったプレイリスト再生処理であり、再生制御部4935が静的シナリオ・メモリ4932から2Dプレイリスト・ファイルを読み出すことによって開始される。
ステップS5201では、再生制御部4935はまず、2Dプレイリスト・ファイル内のメインパスからPIを一つ読み出してカレントのPIとして設定する。再生制御部4935は次に、カレントPIのSTNテーブルから再生対象のエレメンタリ・ストリームのPIDを選択し、かつ、それらの復号に必要な属性情報を特定する。選択されたPIDと属性情報とはシステム・ターゲット・デコーダ4923に指示される。再生制御部4935は更に、2Dプレイリスト・ファイル内のサブパスから、カレントPIに付随するSUB_PIを特定する。その後、処理はステップS5202へ進む。
ステップS5202では、再生制御部4935はカレントPIから、参照クリップ情報、再生開始時刻IN1を示すPTS#1、及び再生終了時刻OUT1を示すPTS#2を読み出す。その参照クリップ情報から、再生対象のファイル2Dに対応する2Dクリップ情報ファイルが特定される。更に、カレントPIに付随するSUB_PIが存在するときは、それらからも同様な情報が読み出される。その後、処理はステップS5203へ進む。
ステップS5203では、再生制御部4935は2Dクリップ情報ファイルのエントリ・マップを参照して、PTS#1、#2に対応するファイル2D内のSPN#1、#2を検索する。SUB_PIの示すPTSの対も同様にSPNの対に変換される。その後、処理はステップS5204へ進む。
ステップS5204では、再生制御部4935は、SPN#1、#2から、それぞれに対応するセクタ数を算定する。具体的には、再生制御部4935はまず、SPN#1、#2のそれぞれとソースパケット一つ当たりのデータ量192バイトとの積を求める。再生制御部4935は次に、各積をセクタ一つ当たりのデータ量2048バイトで割ってその商を求める:N1=SPN#1×192/2048、N2=SPN#2×192/2048。商N1、N2は、メインTSのうち、SPN#1、#2のそれぞれが割り当てられたソースパケットよりも前の部分が記録されたセクタの総数に等しい。SUB_PIの示すPTSの対から変換されたSPNの対も同様にセクタ数の対に変換される。その後、処理はステップS5205へ進む。
ステップS5205では、再生制御部4935は、ステップS5204で得られたセクタ数N1、N2のそれぞれから、再生対象の2Dエクステント群の先端と後端とのLBNを特定する。具体的には、再生制御部4935は、再生対象のファイル2Dのファイル・エントリを参照して、2Dエクステント群が記録されたセクタ群の先頭から数えて(N1+1)番目のセクタのLBN=LBN#1と、(N2+1)番目のセクタのLBN=LBN#2とを特定する。再生制御部4935は更に、LBN#1からLBN#2までの範囲をBD−ROMドライブ4901に指定する。SUB_PIの示すPTSの対から変換されたセクタ数の対も同様にLBNの対に変換されて、BD−ROMドライブ4901に指定される。その結果、指定された範囲のセクタ群から、2Dエクステント群に属するソースパケット群がアラインド・ユニット単位で読み出される。その後、処理はステップS5206へ進む。
ステップS5206では、再生制御部4935は、メインパスに未処理のPIが残されているか否かをチェックする。残されているときは、処理がステップS5201から繰り返される。残されていないときは、処理が終了する。
<システム・ターゲット・デコーダ>
図53は、システム・ターゲット・デコーダ4923の機能ブロック図である。図53を参照するに、システム・ターゲット・デコーダ4923は、ソース・デパケタイザ5310、ATCカウンタ5320、第1の27MHzクロック5330、PIDフィルタ5340、STCカウンタ(STC1)5350、第2の27MHzクロック5360、主映像デコーダ5370、副映像デコーダ5371、PGデコーダ5372、IGデコーダ5373、主音声デコーダ5374、副音声デコーダ5375、イメージ・プロセッサ5380、主映像プレーン・メモリ5390、副映像プレーン・メモリ5391、PGプレーン・メモリ5392、IGプレーン・メモリ5393、イメージ・プレーン・メモリ5394、及び音声ミキサ5395を含む。
ソース・デパケタイザ5310はリード・バッファ4921からソースパケットを読み出し、その中からTSパケットを取り出してPIDフィルタ5340へ送出する。ソース・デパケタイザ5310は更にその送出時刻を、各ソースパケットのATSの示す時刻に合わせる。具体的には、ソース・デパケタイザ5310はまず、ATCカウンタ5320が生成するATCの値を監視する。ここで、ATCの値はATCカウンタ5320により、第1の27MHzクロック5330のクロック信号のパルスに応じてインクリメントされる。ソース・デパケタイザ5310は次に、ATCの値がソースパケットのATSと一致した瞬間、そのソースパケットから取り出されたTSパケットをPIDフィルタ5340へ転送する。そのような送出時刻の調節により、ソース・デパケタイザ5310からPIDフィルタ5340へのTSパケットの平均転送速度は、図34に示されている2Dクリップ情報ファイル1231内のシステム・レート3411で規定される値RTSを超えない。
PIDフィルタ5340はまず、ソース・デパケタイザ5310から送出されたTSパケットの含むPIDを監視する。そのPIDが、再生制御部4935から予め指定されたPIDに一致したとき、PIDフィルタ5340はそのTSパケットを選択し、そのPIDの示すエレメンタリ・ストリームの復号に適したデコーダ5370−5375へ転送する。例えばPIDが0x1011であるとき、そのTSパケットは主映像デコーダ5370へ転送される。一方、PIDが、0x1B00−0x1B1F、0x1100−0x111F、0x1A00−0x1A1F、0x1200−0x121F、及び0x1400−0x141Fの各範囲に属するとき、TSパケットはそれぞれ、副映像デコーダ5371、主音声デコーダ5374、副音声デコーダ5375、PGデコーダ5372、及びIGデコーダ5373へ転送される。
PIDフィルタ5340は更に、各TSパケットのPIDを利用してそのTSパケットの中からPCRを検出する。PIDフィルタ5340はそのとき、STCカウンタ5350の値を所定値に設定する。ここで、STCカウンタ5350の値は、第2の27MHzクロック5360のクロック信号のパルスに応じてインクリメントされる。また、STCカウンタ5350に設定されるべき値は予め、再生制御部4935からPIDフィルタ5340に指示されている。各デコーダ5370−5375はSTCカウンタ5350の値をSTCとして利用する。具体的には、各デコーダ5370−5375はまず、PIDフィルタ5340から受け取ったTSパケットをPESパケットに再構成する。各デコーダ5370−5375は次に、そのPESペイロードの含むデータの復号処理の時期を、そのPESヘッダに含まれるPTS又はDTSの示す時刻に従って調節する。
主映像デコーダ5370は、図53に示されているように、トランスポート・ストリーム・バッファ(TB:Transport Stream Buffer)5301、多重化バッファ(MB:Multiplexing Buffer)5302、エレメンタリ・ストリーム・バッファ(EB:Elementary Stream Buffer)5303、圧縮映像デコーダ(DEC)5304、及び復号ピクチャ・バッファ(DPB:Decoded PictureBuffer)5305を含む。
TB5301、MB5302、及びEB5303はいずれもバッファ・メモリであり、それぞれ主映像デコーダ5370に内蔵のメモリ素子の一領域を利用する。その他に、それらのいずれか又は全てが異なるメモリ素子に分離されていてもよい。TB5301は、PIDフィルタ5340から受信されたTSパケットをそのまま蓄積する。MB5302は、TB5301に蓄積されたTSパケットから復元されたPESパケットを蓄積する。尚、TB5301からMB5302へTSパケットが転送されるとき、そのTSパケットからTSヘッダが除去される。EB5303はPESパケットから、符号化されたVAUを抽出して格納する。そのVAUには圧縮ピクチャ、すなわち、Iピクチャ、Bピクチャ、及びPピクチャが格納されている。尚、MB5302からEB5303へデータが転送されるとき、そのPESパケットからPESヘッダが除去される。
DEC5304は、圧縮ピクチャの復号処理に特化したハードウェア・デコーダであり、特にその復号処理のアクセラレータ機能を備えたLSIで構成されている。DEC5304は、EB5303内の各VAUからピクチャを、元のPESパケットに含まれるDTSの示す時刻に復号する。その復号処理では、DEC5304は予めそのVAUのヘッダを解析して、そのVAU内に格納された圧縮ピクチャの圧縮符号化方式とストリーム属性とを特定し、それらに依って復号方法を選択する。その圧縮符号化方式は、例えば、MPEG−2、MPEG−4 AVC、及びVC1を含む。DEC5304は更に、復号された非圧縮のピクチャをDPB5305へ転送する。
DPB5305は、TB5301、MB5302、及びEB5303と同様なバッファ・メモリであり、主映像デコーダ5370に内蔵のメモリ素子の一領域を利用する。DPB5305はその他に、他のバッファ・メモリ5301、5302、5303とは異なるメモリ素子に分離されていてもよい。DPB5305は復号後のピクチャを一時的に保持する。DEC5304によってPピクチャ又はBピクチャが復号されるとき、DPB5305はDEC5304からの指示に応じて、保持している復号後のピクチャから参照ピクチャを検索してDEC5304に提供する。DPB5305は更に、保持している各ピクチャを、元のPESパケットに含まれるPTSの示す時刻に主映像プレーン・メモリ5390へ書き込む。
副映像デコーダ5371は主映像デコーダ5370と同様の構成を含む。副映像デコーダ5371はまず、PIDフィルタ5340から受信されたセカンダリ・ビデオ・ストリームのTSパケットを非圧縮のピクチャに復号する。副映像デコーダ5371は次に、そのPESパケットに含まれるPTSの示す時刻に非圧縮のピクチャを副映像プレーン・メモリ5391へ書き込む。
PGデコーダ5372は、PIDフィルタ5340から受信されたTSパケットを非圧縮のグラフィックス・オブジェクトに復号し、そのPESパケットに含まれるPTSの示す時刻にPGプレーン・メモリ5392へ書き込む。その書き込み処理の詳細については後述する。
IGデコーダ5373は、PIDフィルタ5340から受信されたTSパケットを非圧縮のグラフィックス・オブジェクトに復号する。IGデコーダ5373は更に、それらのTSパケットから復元されたPESパケットに含まれるPTSの示す時刻に、その非圧縮のグラフィックス・オブジェクトをIGプレーン・メモリ5393へ書き込む。それらの処理の詳細は、PGデコーダ5372によるものと同様である。
主音声デコーダ5374はまず、PIDフィルタ5340から受信されたTSパケットを内蔵のバッファに蓄える。主音声デコーダ5374は次に、そのバッファ内のTSパケット群からTSヘッダとPESヘッダとを除去し、残りのデータを非圧縮のLPCM音声データに復号する。主音声デコーダ5374は更にその音声データを、元のPESパケットに含まれるPTSの示す時刻に音声ミキサ5395へ送出する。ここで、主音声デコーダ5374は、TSパケットに含まれるプライマリ・オーディオ・ストリームの圧縮符号化方式及びストリーム属性に依って圧縮音声データの復号方法を選択する。その圧縮符号化方式は例えばAC−3又はDTSを含む。
副音声デコーダ5375は主音声デコーダ5374と同様の構成を含む。副音声デコーダ5375はまず、PIDフィルタ5340から受信されたセカンダリ・オーディオ・ストリームのTSパケット群からPESパケットを復元し、そのPESペイロードの含むデータを非圧縮のLPCM音声データに復号する。副音声デコーダ5375は次に、そのPESヘッダの含むPTSの示す時刻にその非圧縮のLPCM音声データを音声ミキサ5395へ送出する。ここで、副音声デコーダ5375は、TSパケットに含まれるセカンダリ・オーディオ・ストリームの圧縮符号化方式及びストリーム属性に依って圧縮音声データの復号方法を選択する。その圧縮符号化方式は例えばドルビー・デジタル・プラス又はDTS−HD LBRを含む。
音声ミキサ5395は、主音声デコーダ5374と副音声デコーダ5375とのそれぞれから非圧縮の音声データを受信し、それらを用いてミキシングを行う。音声ミキサ5395は更に、そのミキシングで得られた合成音を表示装置103の内蔵スピーカ103A等へ送出する。
イメージ・プロセッサ5380は、プログラム実行部4934からグラフィックス・データ、すなわちPNG又はJPEGのラスタ・データを受信する。イメージ・プロセッサ5380はそのとき、そのグラフィックス・データに対するレンダリング処理を行ってイメージ・プレーン・メモリ5394へ書き込む。
≪PGデコーダによる復号処理≫
図54の(a)は、PGデコーダ5372がPGストリーム内の一つのデータ・エントリからグラフィックス・オブジェクトを復号する処理のフローチャートである。この処理は、PGデコーダ5372がPIDフィルタ5340から、図16に示されている一つのデータ・エントリを構成するTSパケット群を受信したときに開始される。図54の(b)−(e)は、図54の(a)に示されている処理に従って変化するグラフィックス・オブジェクトを示す模式図である。
ステップS5401では、PGデコーダ5372はまず、PCS内の参照オブジェクトID1605と同じオブジェクトIDを持つODSを特定する。PGデコーダ5372は次に、特定されたODSからグラフィックス・オブジェクトを復号してオブジェクト・バッファに書き込む。ここで、「オブジェクト・バッファ」は、PGデコーダ5372に内蔵のバッファ・メモリである。図54の(b)に示されている「ニコちゃんマーク」FOBは、オブジェクト・バッファに書き込まれたグラフィックス・オブジェクトの例を示す。
ステップS5402では、PGデコーダ5372はPCS内のクロッピング情報1602に従ってクロッピング処理を行い、グラフィックス・オブジェクトからその一部を切り出してオブジェクト・バッファに書き込む。図54の(c)では、ニコちゃんマークFOBの左右の両端部から帯状領域LST、RSTが切り取られて、残りの部分OBJがオブジェクト・バッファに書き込まれている。
ステップS5403では、PGデコーダ5372はまず、PCS内の参照ウィンドウID1603と同じウィンドウIDを持つWDSを特定する。PGデコーダ5372は次に、特定されたWDSの示すウィンドウ位置1612と、PCS内のオブジェクト表示位置1601とから、グラフィックス・プレーンにおけるグラフィックス・オブジェクトの表示位置を決定する。図54の(d)では、グラフィックス・プレーンGPLにおけるウィンドウWINの左上隅の位置と、グラフィックス・オブジェクトOBJの左上隅の位置DSPとが決定される。
ステップS5404では、PGデコーダ5372はオブジェクト・バッファ内のグラフィックス・オブジェクトを、ステップS5403で決定された表示位置に書き込む。その際、PGデコーダ5372は、WDSの示すウィンドウ・サイズ1613を利用して、グラフィックス・オブジェクトを描画する範囲を決める。図54の(d)では、グラフィックス・オブジェクトOBJがグラフィックス・プレーンGPLに、左上隅の位置DSPからウィンドウWINの範囲内で書き込まれている。
ステップS5405では、PGデコーダ5372はまず、PCS内の参照パレットID1604と同じパレットIDを持つPDSを特定する。PGデコーダ5372は次に、PDS内のCLUT1622を利用して、グラフィックス・オブジェクト内の各画素データが示すべき色座標値を決定する。図54の(e)では、グラフィックス・オブジェクトOBJ内の各画素の色が決定されている。こうして、一つのデータ・エントリの含むグラフィックス・オブジェクトの描画処理が完了する。ステップS5401−S5405は、そのグラフィックス・オブジェクトと同じPESパケットに含まれるPTSの示す時刻までに実行される。
<HDMI通信部>
図55は、HDMI通信部4925の構成を示す機能ブロック図である。HDMI通信部4925はHDMIケーブル122で表示装置103、特に図3に示されているHDMI通信部211に接続されている。それにより、HDMI通信部4925は、システム・ターゲット・デコーダ4923とプレーン加算部4924とのそれぞれから表示装置103へ送出されるストリーム・データを中継する。HDMI通信部4925は更に、再生制御部4935と表示装置103との間でのデータ交換を中継する。図55を参照するに、HDMI通信部4925は、TMDSエンコーダ5501、EDID読み出し部5502、及びCEC部5503を含む。
TMDSエンコーダ5501は、HDMIケーブル122内のTMDSチャネルCH1、CH2、CH3、CLKを通して表示装置103へ、映像データ、音声データ、補助データ、及び制御信号を表すシリアル信号を送信する。TMDSエンコーダ5501は特に、各データ・チャネルCH1−3を通して、例えば、R、G、Bの各ピクセル・データ(8ビット)、4ビットの音声データと補助データ(インフォ・フレーム)、及び2ビットの制御信号(水平同期信号と垂直同期信号とを含む)をそれぞれ、10ビットのデータ列に変換して送出する。TMDSエンコーダ5501は特にそのシリアル信号を、図4に示されているフォーマットで生成する。
EDID読み出し部5502は、HDMIケーブル122内のディスプレイ・データ・チャネルDDCを通して、図3に示されているEDID記憶部302に接続されている。EDID読み出し部5502はそのEDID記憶部302から、表示装置103の機能、特性、状態を表すEDIDを読み出す。EDID読み出し部5502はその他に、図3に示されている信号処理部220との間で、ディスプレイ・データ・チャネルDDCを通してHDCP認証を行う。
CEC部5503は、HDMIケーブル122内のCECラインCECを通して、図3に示されているCEC部303との間でCECメッセージを交換する。CEC部5503は特に、再生装置102がリモコン105から受けた情報をCECメッセージに変換して信号処理部220へ通知し、又は逆に、表示装置103がリモコン105から受けた情報をCECメッセージとして信号処理部220から通知される。
<3D再生装置の構成>
3D再生モードの再生装置102は、BD−ROMディスク101から3D映像コンテンツを再生するとき、3D再生装置として動作する。その構成の基本部分は、図49、53、55に示されている2D再生装置の構成と同様である。従って、以下では2D再生装置の構成からの拡張部分及び変更部分について説明し、基本部分の詳細についての説明は上記の2D再生装置についての説明を援用する。また、2Dプレイリスト再生処理に利用される構成は2D再生装置の構成と同様である。従って、その詳細についての説明も上記の2D再生装置についての説明を援用する。以下の説明では、3Dプレイリスト・ファイルに従った3D映像の再生処理、すなわち3Dプレイリスト再生処理を想定する。
図56は、3D再生装置5600の機能ブロック図である。3D再生装置5600は、BD−ROMドライブ5601、再生部5602、及び制御部5603を含む。再生部5602は、スイッチ5620、第1リード・バッファ(RB1)5621、第2リード・バッファ(RB2)5622、システム・ターゲット・デコーダ5623、プレーン加算部5624、及びHDMI通信部5625を含む。制御部5603は、動的シナリオ・メモリ5631、静的シナリオ・メモリ5632、ユーザイベント処理部5633、プログラム実行部5634、再生制御部5635、及び、プレーヤ変数記憶部5636を含む。再生部5602と制御部5603とは互いに異なる集積回路に実装されている。その他に、両者が単一の集積回路に統合されていてもよい。特に、動的シナリオ・メモリ5631、静的シナリオ・メモリ5632、ユーザイベント処理部5633、及びプログラム実行部5634は、図49に示されている2D再生装置内のものと同様である。従って、それらの詳細についての説明は上記の2D再生装置についての説明を援用する。
再生制御部5635は、3Dプレイリスト再生処理をプログラム実行部5634等から命じられたとき、静的シナリオ・メモリ5632に格納された3Dプレイリスト・ファイルからPIを順番に読み出してカレントPIとして設定する。再生制御部5635は、カレントPIを設定する度に、まず、そのSTNテーブルとその3Dプレイリスト・ファイル内のSTNテーブルSSとに従って、システム・ターゲット・デコーダ5623とプレーン加算部5624との動作条件を設定する。具体的には、再生制御部5635は復号対象のエレメンタリ・ストリームのPIDを選択して、そのエレメンタリ・ストリームの復号に必要な属性情報と共にシステム・ターゲット・デコーダ5623へ渡す。選択されたPIDの示すエレメンタリ・ストリームの中にPGストリーム又はIGストリームが含まれている場合、再生制御部5635は更に、それらのストリーム・データに割り当てられた参照オフセットID4401を特定して、プレーヤ変数記憶部5636内のSPRM(27)に設定する。また、再生制御部5635は、STNテーブルSSの示すポップアップ期間のオフセット4511に依ってカレントPIに対する再生モードを選択して、プレーヤ変数記憶部5636内のSPRM(33)に設定する。
次に、再生制御部5635はカレントPIに従い、図36の(e)の説明に示されている手順で、読み出し対象のエクステントSSが記録されたセクタ群のLBNの範囲をBD−ROMドライブ5601に指示する。一方、再生制御部5635は、静的シナリオ・メモリ5632に格納されたクリップ情報ファイル内のエクステント起点を利用して、各エクステントSS内のデータ・ブロックの境界を示す情報を生成する。以下、その情報を「データ・ブロック境界情報」と呼ぶ。データ・ブロック境界情報は、例えばそのエクステントSSの先頭から各境界までのソースパケット数を示す。再生制御部5635は更に、データ・ブロック境界情報をスイッチ5620へ渡す。
3D映像の再生中、例えばユーザがリモコン105のボタンを押下してポップアップ・メニューの表示を指示したとき、ユーザイベント処理部5633はその押下を検出してそのボタンを識別し、プログラム実行部5634にポップアップ・メニューの表示処理を依頼する。プログラム実行部5634は、その依頼に応じて、対応するプログラムを動的シナリオ・メモリ5631から読み出して実行する。プログラム実行部5634は更にそのプログラムに従って、再生制御部5635に対してSPRM(33)の更新を命令する一方、メニュー用のグラフィックス・データを生成してシステム・ターゲット・デコーダ5623へ転送する。再生制御部5635は、プログラム実行部5634からの命令又はユーザイベント処理部5633からの依頼に応じ、SPRM(33)に設定された再生モードの値を“3D”から“2D”へ更新する。再生制御部5635はまた、再生モードの更新をHDMI通信部4923に通知する。
プレーヤ変数記憶部5636は、2D再生装置内のもの4936と同様にSPRMを含む。しかし、図50とは異なり、SPRM(24)、SPRM(25)、SPRM(27)、及びSPRM(33)が、以下のようなデータを含む。SPRM(24)は、図48に示されている第1フラグを含み、SPRM(25)は第2フラグを含む。SPRM(24)が“0”であるときは再生装置102が2D映像の再生のみに対応可能であり、“1”であるときは3D映像の再生にも対応可能である。SPRM(25)が、“0”、“1”、“2”であるときはそれぞれ、再生装置102が、L/Rモード、デプス・モード、2D再生モードである。SPRM(27)は、各プレーン・データに割り当てられた参照オフセットID4401の格納領域を含む。具体的には、SPRM(27)は、四種類の参照オフセットIDを格納する領域を含む。それらの参照オフセットIDは、PGプレーンに対するもの(PG_ref_offset_id)、IGプレーンに対するもの(IG_ref_offset_id)、副映像プレーンに対するもの(SV_ref_offset_id)、及びイメージ・プレーンに対するもの(IM_ref_offset_id)である。SPRM(33)はパラメータ「再生ステータス」を含む。再生ステータスは、再生モードに加えて、映像データに関する再生部5602の出力モード(B−D表示モードとB−B表示モードとのいずれかであるか等)を表す。再生ステータスの示す値にはタイプA−Dの4種類がある。タイプA−D、再生モード、及び再生部5602の出力モードの間の関係については後述する。
BD−ROMドライブ5601は、図49に示されている2D再生装置内のもの4901と同様な構成要素を含む。BD−ROMドライブ5601は、再生制御部5635からLBNの範囲が指示されたとき、その範囲の示すBD−ROMディスク101上のセクタ群からデータを読み出す。特にファイルSSのエクステント、すなわちエクステントSSに属するソースパケット群は、BD−ROMドライブ5601からスイッチ5620へ転送される。ここで、各エクステントSSは、図25に示されているとおり、ベースビューとディペンデントビューとのデータ・ブロックの対を一つ以上含む。それらのデータ・ブロックは、RB15621とRB25622とへパラレルに転送されなければならない。従って、BD−ROMドライブ5601には2D再生装置内のBD−ROMドライブ4901以上のアクセス・スピードが求められる。
スイッチ5620は、BD−ROMドライブ5601からはエクステントSSを受信し、再生制御部5635からは、そのエクステントSSに関するデータ・ブロック境界情報を受信する。スイッチ5620は更に、そのデータ・ブロック境界情報を利用して、各エクステントSSからベースビュー・エクステントを抽出してRB15621へ送出し、ディペンデントビュー・エクステントを抽出してRB25622へ送出する。
RB15621とRB25622とはいずれも、再生部5602内のメモリ素子を利用したバッファ・メモリである。特に単一のメモリ素子内の異なる領域がRB15621、RB25622として利用される。その他に、異なるメモリ素子が個別にRB15621、RB25622として利用されてもよい。RB15621、RB25622はスイッチ5620からそれぞれ、ベースビュー・エクステント、ディペンデントビュー・エクステントを受信して格納する。
システム・ターゲット・デコーダ5623は、3Dプレイリスト再生処理において、まず再生制御部5635から、復号対象のストリーム・データのPIDと、その復号に必要な属性情報とを受信する。システム・ターゲット・デコーダ5623は次に、RB15621に格納されたベースビュー・エクステントと、RB25622に格納されたディペンデントビュー・エクステントとから交互にソースパケットを読み出す。システム・ターゲット・デコーダ5623は続いて、再生制御部5635から受信されたPIDの示すエレメンタリ・ストリームを各ソースパケットから分離して復号する。システム・ターゲット・デコーダ5623は更に、復号後のエレメンタリ・ストリームをその種類別に内蔵のプレーン・メモリに書き込む。ベースビュー・ビデオ・ストリームは左映像プレーン・メモリに書き込まれ、ディペンデントビュー・ビデオ・ストリームは右映像プレーン・メモリに書き込まれる。一方、セカンダリ・ビデオ・ストリームは副映像プレーン・メモリに書き込まれ、IGストリームはIGプレーン・メモリに書き込まれ、PGストリームはPGプレーン・メモリに書き込まれる。ここで、図13の(b)、(c)に示されているPGストリーム等のように、ビデオ・ストリーム以外のストリーム・データがベースビューとディペンデントビューとのストリーム・データの対から成るとき、そのストリーム・データに対応付けられるべきプレーン・メモリは、ベースビュー・プレーンとディペンデントビュー・プレーンとの両方に対して個別に用意される。システム・ターゲット・デコーダ5623はその他に、プログラム実行部5634からのグラフィックス・データ、例えばJPEG又はPNG等のラスタ・データに対してレンダリング処理を行ってイメージ・プレーン・メモリに書き込む。
システム・ターゲット・デコーダ5623は、プレーヤ変数記憶部5636内のSPRM(33)を参照し、それの示す再生ステータスの値に応じて、左映像プレーン・メモリと右映像プレーン・メモリとからのプレーン・データの出力モードを、B−D表示モードとB−B表示モードとのいずれかに設定する。具体的には、再生ステータスがB−D表示モードを示すとき、システム・ターゲット・デコーダ5623は左映像プレーン・メモリと右映像プレーン・メモリとから交互にプレーン・データを1/48秒間隔で1回ずつ送出する。一方、再生ステータスがB−B表示モードを示すとき、システム・ターゲット・デコーダ5623は、左映像プレーン・メモリと右映像プレーン・メモリとのいずれかからのみ、プレーン・データを1フレーム当たり2回ずつ、すなわち1/48秒間隔で2回ずつ送出する。
システム・ターゲット・デコーダ5623は更に、SPRM(33)の示す再生ステータスの値に応じて、グラフィックス・プレーン・メモリと副映像プレーン・メモリとからのプレーン・データの出力モードを、2プレーン・モード、1プレーン+オフセット・モード、及び1プレーン+ゼロ・オフセット・モードのいずれかに設定する。ここで、グラフィックス・プレーン・メモリは、PGプレーン・メモリ、IGプレーン・メモリ、及びイメージ・プレーン・メモリを含む。再生ステータスが2プレーン・モードを示すとき、システム・ターゲット・デコーダ5623は各プレーン・メモリからプレーン加算部5624へ、ベースビュー・プレーンとディペンデントビュー・プレーンとを交互に送出する。再生ステータスが1プレーン+オフセット・モードを示すとき、システム・ターゲット・デコーダ5623は各プレーン・メモリからプレーン加算部5624へ、2D映像を表すプレーン・データを送出する。それと並行して、システム・ターゲット・デコーダ5623は、ディペンデントビュー・ビデオ・ストリームから各ビデオ・シーケンスの先頭のVAUを読み出す度に、そのVAUからオフセット・メタデータ2110を読み出す。そのビデオ・シーケンスの再生区間では、システム・ターゲット・デコーダ5623はまず、各VAUと共に同じPESパケットに格納されたPTSと、そのVAUの圧縮ピクチャ・データの表すフレームの番号とを特定する。システム・ターゲット・デコーダ5623は次に、そのフレーム番号に対応付けられたオフセット情報をオフセット・メタデータから読み出して、特定されたPTSの示す時刻にプレーン加算部5624へ送出する。再生ステータスが1プレーン+ゼロ・オフセット・モードを示すとき、システム・ターゲット・デコーダ5623は各プレーン・メモリからプレーン加算部5624へ、2D映像を表すプレーン・データを送出する。それと並行して、システム・ターゲット・デコーダ5623は、オフセット値が“0”に設定されたオフセット情報をプレーン加算部5624へ送出する。
プレーン加算部5624は、システム・ターゲット・デコーダ5623から各種のプレーン・データを受信し、それらを互いに重畳して一つのプレーン・データ(フレーム又はフィールド)に合成する。特にL/Rモードでは、左映像プレーンはレフトビュー・ビデオ・プレーンを表し、右映像プレーンはライトビュー・ビデオ・プレーンを表す。従って、プレーン加算部5624は、左映像プレーンには、レフトビューを表す他のプレーン・データを重畳し、右映像プレーン・データには、ライトビューを表す他のプレーン・データを重畳する。一方、デプス・モードでは、右映像プレーンは、左映像プレーンの表す映像に対するデプスマップを表す。従って、プレーン加算部5624は、まず両方の映像プレーンからレフトビューとライトビューとのビデオ・プレーンの対を生成する。その後の合成処理は、L/Rモードでの合成処理と同様である。
プレーン加算部5624は、プレーヤ変数記憶部5636内のSPRM(33)を参照し、それの示す再生ステータスの値に応じて、副映像プレーン又はグラフィックス・プレーン(PGプレーン、IGプレーン、イメージ・プレーン)の各表示モードを選択する。具体的には、各プレーン・データについて再生ステータスが1プレーン+オフセット・モードを示すとき、そのプレーン・データに対してオフセット制御を次の手順で行う。プレーン加算部5624はまず、プレーヤ変数記憶部5636内のSPRM(27)から、そのプレーン・データに対する参照オフセットIDを読み出す。プレーン加算部5624は次に、システム・ターゲット・デコーダ5623から受け取ったオフセット情報を参照して、参照オフセットIDの示すオフセット・シーケンス2113に属するオフセット情報、すなわちオフセット方向2122とオフセット値2123との対を検索する。プレーン加算部5624はその後、検索されたオフセット値を利用して、対応するプレーン・データに対してオフセット制御を行う。それにより、プレーン加算部5624は、一つのプレーン・データからレフトビュー・プレーンとライトビュー・プレーンとの対を生成し、対応するビデオ・プレーンに合成する。再生ステータスが1プレーン+ゼロ・オフセット・モードを示すとき、プレーン加算部5624は、SPRM(27)を参照することなく、各プレーン・データに対するオフセット値を“0”に設定する。それにより、プレーン加算部5624は、各プレーン・データに対するオフセット制御を一時的に停止させる。従って、同じプレーン・データがレフトビュー・ビデオ・プレーンとライトビュー・ビデオ・プレーンとの両方に合成される。再生ステータスが2プレーン・モードを示すとき、プレーン加算部5624はシステム・ターゲット・デコーダ5623からベースビュー・プレーンとディペンデントビュー・プレーンとの対を受信する。ここで、L/Rモードでは、ベースビュー・プレーンはレフトビュー・プレーンを表し、ディペンデントビュー・プレーンはライトビュー・プレーンを表す。従って、プレーン加算部5624は、ベースビュー・プレーンを左映像プレーンに重畳し、ディペンデントビュー・プレーンを右映像プレーンに重畳する。一方、デプス・モードではディペンデントビュー・プレーンは、ベースビュー・プレーンの表す映像に対するデプスマップを表す。従って、プレーン加算部5624は、まずベースビュー・プレーンとディペンデントビュー・プレーンとの対からレフトビュー・プレーンとライトビュー・プレーンとの対を生成し、その後、ビデオ・プレーンとの合成処理を行う。
プレーン加算部5624はその他に、合成後のプレーン・データの出力形式を、表示装置103等、そのデータの出力先の装置による3D映像の表示方式に合わせて変換する。例えば出力先の装置が継時分離方式を利用するとき、プレーン加算部5624は合成後のプレーン・データを一つの映像プレーン(フレーム又はフィールド)として送出する。一方、出力先の装置がレンチキュラーレンズを利用するとき、プレーン加算部5624は内蔵のバッファ・メモリを利用して、レフトビュー・プレーンとライトビュー・プレーンとの対を一つの映像プレーンに合成して送出する。具体的には、プレーン加算部5624は、先に合成されたレフトビュー・プレーンを一旦、そのバッファ・メモリに格納して保持する。プレーン加算部5624は続いて、ライトビュー・プレーンを合成して、バッファ・メモリに保持されたレフトビュー・プレーンと更に合成する。その合成では、レフトビュー・プレーンとライトビュー・プレーンとがそれぞれ、縦方向に細長い短冊形の小領域に分割され、各小領域が一つのフレーム又はフィールドの中に横方向に交互に並べられて一つのフレーム又はフィールドに再構成される。こうして、レフトビュー・プレーンとライトビュー・プレーンとの対が一つの映像プレーンに合成される。
HDMI通信部5625は、プレーン加算部5624からは合成後の映像データを受信し、システム・ターゲット・デコーダ5623からは音声データを受信し、再生制御部5635からは制御データ、特に再生モードを受信する。HDMI通信部5625は更に、それらの受信データをHDMI方式のシリアル信号に変換し、HDMIケーブル122内のTMDSチャネルを通して表示装置103へ伝送する。HDMI通信部5625は特にそのシリアル信号を、図4に示されているフォーマットで生成する。そのとき、3D映像の1フレームを構成するレフトビュー・プレーンとライトビュー・プレーンとの対は、好ましくは図5の(a)に示されているフレーム・パッキング方式で伝送される。その他に、図5の(b)−(e)に示されているいずれの方式が採用されてもよい。HDMI通信部5625はまた、インフォ・フレーム内の3D構造401に、採用された伝送フォーマットを示す値を設定し、再生モード402に再生制御部5635から受信した値を設定する。表示装置103はそのインフォ・フレームから、3D構造401の示す伝送フォーマットを識別し、再生モード402の示す値を検出する。それらの情報を利用して、表示装置103は、図7−11のいずれかの(c)に示されているパターンで、HDMI通信部5625から受信したレフトビュー・フレームLとライトビュー・フレームRとの一方又は両方を表示する。それと並行して、図7−11の(d)に示されているように、表示装置103はシャッター眼鏡104に、フレームL、Rの切り換えと同期して左右のレンズを交互に透明にさせる。
HDMI通信部5625は上記の他に、HDMIケーブル122を通して表示装置103との間でCECメッセージを交換する。また、HDMI通信部5625は、ディスプレイ・データ・チャネルDDCを通してEDIDを表示装置103から読み出し、更に、表示装置103に対してHDCP認証を行って、3D映像の再生に対応可能か否かを表示装置103に問い合わせる。
<3D再生装置の再生動作>
図57は、3D再生装置5600の再生動作のフローチャートである。この動作は、再生装置102が、図48に示されている選択処理の結果、3D再生モードで起動することによって開始される。
ステップS5701では、3D再生装置5600はまず、BD−ROMドライブ5601によってBD−ROMディスク101からストリーム・データを読み出す。3D再生装置5600は次にスイッチ5620を利用して、そのストリーム・データからベースビュー・エクステントとディペンデントビュー・エクステントとを抽出し、それぞれ、RB15621、RB25622へ格納する。その後、処理はステップS5702へ進む。
ステップS5702では、3D再生装置5600は、システム・ターゲット・デコーダ5623によって、RB15621からはベースビュー・エクステントを読み出し、RB25622からはディペンデントビュー・エクステントを読み出す。3D再生装置5600は更に、各エクステントからエレメンタリ・ストリームを多重分離する。その後、処理はステップS5703へ進む。
ステップS5703では、3D再生装置5600は、システム・ターゲット・デコーダ5623によって各エレメンタリ・ストリームを復号する。特に、ベースビュー・エクステントとディペンデントビュー・エクステントとのそれぞれから復号されたプライマリ・ビデオ・ストリームは、ベースビュー・ビデオ・プレーンとディペンデントビュー・ビデオ・プレーンとに復号される。セカンダリ・ビデオ・ストリーム、IGストリーム、及びPGストリームはそれぞれ、副映像プレーン、IGプレーン、及びPGプレーンに復号される。更に、プライマリ・オーディオ・ストリームとセカンダリ・オーディオ・ストリームとがミキシングされる。その他に、プログラム実行部5634からのグラフィックス・データがイメージ・プレーンに変換される。その後、処理はステップS5704へ進む。
ステップS5704では、3D再生装置5600はまず、システム・ターゲット・デコーダ5623によって復号されたベースビュー・ビデオ・プレーンとディペンデントビュー・ビデオ・プレーンとの対を、プレーン加算部5624によってレフトビュー・プレーンとライトビュー・プレーンとの対に変換する。3D再生装置5600は次に、副映像プレーン、IGプレーン、PGプレーン、及びイメージ・プレーンを、プレーン加算部5624によってレフトビュー・プレーンとライトビュー・プレーンとのそれぞれに合成する。ここで、プレーン加算部5624は必要に応じて、副映像プレーン、IGプレーン、PGプレーン、又はイメージ・プレーンにオフセットを与えて、レフトビュー・プレーンとライトビュー・プレーンとの対に変換する。その後、処理はステップS5705へ進む。
ステップS5705では、3D再生装置5600は、プレーン加算部5624によって合成された映像プレーン、システム・ターゲット・デコーダ5623によってミキシングされた音声データ、及び再生制御部5635からの制御データを、HDMI通信部5625によってシリアル信号に変換し、HDMIケーブル122を通して表示装置103へ伝送する。特に再生モードが、図4に示されている垂直帰線区間VBLK内のインフォ・フレームによって伝送される。その後、処理はステップS5706へ進む。
ステップS5706では、3D再生装置5600は、RB15621に未処理のベースビュー・エクステントが残されているか否かをチェックする。残されているときは、処理がステップS5701から繰り返される。残されていないときは、処理が終了する。
<3Dプレイリスト再生処理>
図58は、再生制御部5635による3Dプレイリスト再生処理のフローチャートである。3Dプレイリスト再生処理は、再生制御部5635が静的シナリオ・メモリ5632から3Dプレイリスト・ファイルを読み出すことによって開始される。
ステップS5801では、再生制御部5635はまず、3Dプレイリスト・ファイル内のメインパスからPIを一つ読み出して、カレントのPIとして設定する。再生制御部5635は次に、カレントPIのSTNテーブルから再生対象のエレメンタリ・ストリームのPIDを選択し、かつ、それらの復号に必要な属性情報を特定する。再生制御部5635は更に、3Dプレイリスト・ファイル内のSTNテーブルSS4330のうち、カレントPIに対応する項目から、再生対象として追加されるべきエレメンタリ・ストリームのPIDを選択し、かつ、それらの復号に必要な属性情報を特定する。選択されたPIDと属性情報とはシステム・ターゲット・デコーダ5623に指示される。再生制御部5635はその他に、3Dプレイリスト・ファイル内のサブパスから、カレントPIと同時に参照されるべきSUB_PIを特定し、カレントのSUB_PIとして設定する。その後、処理はステップS5802へ進む。
ステップS5802では、再生制御部5635は、STNテーブルSSの示すポップアップ期間のオフセット4511に依ってカレントPIに対する再生モードを選択し、プレーヤ変数記憶部5636内のSPRM(33)に設定する。具体的には、ポップアップ期間のオフセットの値が“0”であるとき、再生モードとして“3D”が選択される。一方、ポップアップ期間のオフセットの値が“1”であるとき、再生モードとして“2D”が選択される。再生制御部5635はまた、ビデオ・プレーンの表示モードとしてB−D表示モードとB−B表示モードとのいずれかを選択し、グラフィックス・プレーンの表示モードとして、2プレーン・モード、1プレーン+オフセット・モード、又は1プレーン+ゼロ・オフセット・モードのいずれかを選択する。その後、処理はステップS5803へ進む。
ステップS5803では、グラフィックス・プレーンの表示モードとして1プレーン+オフセット・モードが選択されたか否かをチェックする。1プレーン+オフセット・モードが選択された場合、処理はステップS5804へ進む。一方、2プレーン・モード又は1プレーン+ゼロ・オフセット・モードが選択された場合、処理はステップS5805へ進む。
ステップS5804では、1プレーン+オフセット・モードが選択されているので、ディペンデントビュー・ビデオ・ストリームからオフセット情報が抽出されなければならない。従って、再生制御部5635はまず、カレントPIのSTNテーブルを参照して、選択されたPIDの示すエレメンタリ・ストリームの中からPGストリーム又はIGストリームを検出する。再生制御部5635は次に、それらのストリーム・データに割り当てられた参照オフセットIDを特定して、プレーヤ変数記憶部5636内のSPRM(27)に設定する。その後、処理はステップS5805へ進む。
ステップS5805では、再生制御部5635は、カレントのPIとSUB_PIとのそれぞれから、参照クリップ情報、再生開始時刻IN1を示すPTS#1、及び再生終了時刻OUT1を示すPTS#2を読み出す。その参照クリップ情報から、再生対象のファイル2DとファイルDEPとのそれぞれに対応するクリップ情報ファイルが特定される。その後、処理はステップS5806へ進む。
ステップS5806では、再生制御部5635は、ステップS5805で特定されたクリップ情報ファイルの各エントリ・マップを参照して、図46に示されているように、PTS#1、#2に対応するファイル2D内のSPN#1、#2とファイルDEP内のSPN#11、#12とを検索する。再生制御部5635は更に、各クリップ情報ファイルのエクステント起点を利用して、ファイルSSの先頭から再生開始位置までのソースパケット数SPN#21をSPN#1、#11から算定し、ファイルSSの先頭から再生終了位置までのソースパケット数SPN#22をSPN#2、#12から算定する。具体的には、再生制御部5635はまず、2Dクリップ情報ファイルのエクステント起点の示すSPNの中から、SPN#1以下で最大のもの“Am”を検索し、ディペンデントビュー・クリップ情報ファイルのエクステント起点の示すSPNの中から、SPN#11以下で最大のもの“Bm”を検索する。再生制御部5635は続いて、検索されたSPNの和Am+Bmを求めてSPN#21として決定する。再生制御部5635は次に、2Dクリップ情報ファイルのエクステント起点の示すSPNの中から、SPN#2よりも大きく、かつ最小のもの“An”を検索し、ディペンデントビュー・クリップ情報ファイルのエクステント起点の示すSPNの中から、SPN#12より大きく、かつ最小のもの“Bn”を検索する。再生制御部5635は更に、検索されたSPNの和An+Bnを求めてSPN#22として決定する。その後、処理はステップS5807へ進む。
ステップS5807では、再生制御部5635は、ステップS5806で決定されたSPN#21、#22をセクタ数の対N1、N2に変換する。具体的には、再生制御部5635はまず、SPN#21とソースパケット一つ当たりのデータ量192バイトとの積を求める。再生制御部5635は次に、その積をセクタ一つ当たりのデータ量2048バイトで割ったときの商SPN#21×192/2048を求める。この商は、ファイルSSの先頭から再生開始位置の直前までのセクタ数N1に等しい。同様に、再生制御部5635は、SPN#22から商SPN#22×192/2048を求める。この商は、ファイルSSの先頭から再生終了位置の直前までのセクタ数N2に等しい。その後、処理はステップS5808へ進む。
ステップS5808では、再生制御部5635は、ステップS5807で得られたセクタ数N1、N2のそれぞれから、再生対象のエクステントSS群の先端と後端とのLBNを特定する。具体的には、再生制御部5635は、再生対象のファイルSSのファイル・エントリを参照して、エクステントSS群が記録されたセクタ群の先頭から数えて(N1+1)番目のセクタのLBN=LBN#1と、(N2+1)番目のセクタのLBN=LBN#2とを特定する。再生制御部5635は更に、LBN#1からLBN#2までの範囲をBD−ROMドライブ5601に指定する。その結果、指定された範囲のセクタ群から、エクステントSS群に属するソースパケット群がアラインド・ユニット単位で読み出される。その後、処理はステップS5809へ進む。
ステップS5809では、再生制御部5635は、ステップS5806で利用されたクリップ情報ファイルのエクステント起点を再び利用して、エクステントSS群に関するデータ・ブロック境界情報を生成し、スイッチ5620へ送出する。具体的な例として、再生開始位置を示すSPN#21が、各エクステント起点の示すSPNの和An+Bnに等しく、再生終了位置を示すSPN#22が、各エクステント起点の示すSPNの和Am+Bmに等しいときを想定する。そのとき、再生制御部5635は、各エクステント起点から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)を求めて、データ・ブロック境界情報としてスイッチ5620へ送出する。図36の(e)に示されているとおり、この列は、エクステントSSに含まれる各データ・ブロックのソースパケット数を示す。スイッチ5620は、BD−ROMドライブ5601から受信されるエクステントSSのソースパケット数を0からカウントする。そのカウントが、データ・ブロック境界情報の示すSPNの差と一致する度に、スイッチ5620は、ソースパケットの送出先をRB15621とRB25622との間で切り換え、かつカウントを0にリセットする。その結果、エクステントSSの先頭から{B(n+1)−Bn}個のソースパケットは最初のディペンデントビュー・エクステントとしてRB25622へ送出され、続く{A(n+1)−An}個のソースパケットは最初のベースビュー・エクステントとしてRB15621へ送出される。以降も同様に、スイッチ5620によって受信されるソースパケットの数が、データ・ブロック境界情報の示すSPNの差と一致する度に、エクステントSSからディペンデントビューとベースビューとの各エクステントが交互に抽出される。その後、処理はステップS5810へ進む。
ステップS5810では、再生制御部5635は、メインパスに未処理のPIが残されているか否かをチェックする。残されているときは、処理がステップS5801から繰り返される。残されていないときは、処理が終了する。
<再生モードの更新>
図59は、再生制御部5635による再生モードの更新処理のフローチャートである。この処理は次の場合に開始される:3D映像の再生中、例えばユーザがリモコン105のボタンを押下してポップアップ・メニューの表示を指示する。そのとき、ユーザイベント処理部5633はその押下を検出してプログラム実行部5634にポップアップ・メニューの表示処理を依頼する。プログラム実行部5634は、その依頼に応じて、再生制御部5635にSPRM(33)の更新を命令する。ここで、SPRM(33)は再生モードとして“3D”を示す。
ステップS5901では、再生制御部5635は、プログラム実行部5634からの命令又はユーザイベント処理部5633からの依頼が、ポップアップ・メニューの表示を指示するものに相当するか否かを識別する。その結果が肯定的であれば、処理はステップS5902へ進み、否定的であれば、処理はステップS5903へ進む。
ステップS5902では、ポップアップ・メニューの表示が指示されている。従って、再生制御部5635は、SPRM(33)に再生モードとして“2D”を設定する。その後、処理はステップS5904へ進む。
ステップS5903では、ポップアップ・メニューの表示が指示されていない。その場合には特に、ポップアップ・メニューの消去が指示された場合が含まれる。従って、再生制御部5635は、SPRM(33)に再生モードとして“3D”を設定する。その後、処理はステップS5904へ進む。
ステップS5904では、再生制御部5635は、SPRM(33)の示す再生モードの値をHDMI通信部5623に通知する。HDMI通信部5625はその通知に応じ、新たな再生モードをインフォ・フレームに設定して表示装置103へ通知する。その後、処理は終了する。
<システム・ターゲット・デコーダ>
図60は、システム・ターゲット・デコーダ5623の機能ブロック図である。図60に示されている構成要素は、図53に示されている2D再生装置のもの5323とは次の二点で異なる:(1)リード・バッファから各デコーダへの入力系統が二重化されている点、並びに、(2)主映像デコーダは3D再生モードに対応可能であり、副映像デコーダ、PGデコーダ、及びIGデコーダは2プレーン・モードに対応可能である点。すなわち、それらの映像デコーダはいずれも、ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとを交互に復号できる。特に2プレーン・モードの各デコーダは、ベースビュー・プレーンを復号する部分と、ディペンデントビュー・プレーンを復号する部分とに分離されていてもよい。一方、主音声デコーダ、副音声デコーダ、音声ミキサ、イメージ・プロセッサ、及び各プレーン・メモリは、図53に示されている2D再生装置のものと同様である。従って、以下では、図60に示されている構成要素のうち、図53に示されているものとは異なるものについて説明し、同様なものの詳細についての説明は図53についての説明を援用する。更に、各映像デコーダはいずれも同様な構造を持つので、以下では主映像デコーダ6015の構造について説明する。同様な説明は他の映像デコーダの構造についても成立する。
第1ソース・デパケタイザ6011は、RB15621からソースパケットを読み出し、更にその中からTSパケットを抽出して第1PIDフィルタ6013へ送出する。第2ソース・デパケタイザ6012は、RB25622からソースパケットを読み出し、更にその中からTSパケットを抽出して第2PIDフィルタ6014へ送出する。各ソース・デパケタイザ6011、6012は更に、各TSパケットの送出時刻を、各ソースパケットのATSの示す時刻に合わせる。その同期方法は、図53に示されているソース・デパケタイザ5310による方法と同様である。従って、その詳細については、図53についての説明を援用する。そのような送出時刻の調節により、第1ソース・デパケタイザ6011から第1PIDフィルタ6013へのTSパケットの平均転送速度RTS1は、2Dクリップ情報ファイルの示すシステム・レートを超えない。同様に、第2ソース・デパケタイザ6012から第2PIDフィルタ6014へのTSパケットの平均転送速度RTS2は、ディペンデントビュー・クリップ情報ファイルの示すシステム・レートを超えない。
第1PIDフィルタ6013は、第1ソース・デパケタイザ6011からTSパケットを受信する度に、そのPIDを選択対象のPIDと比較する。その選択対象のPIDは再生制御部5635によって予め、3Dプレイリスト・ファイル内のSTNテーブルに従って指定されている。両方のPIDが一致したとき、第1PIDフィルタ6013はそのTSパケットを、そのPIDに割り当てられたデコーダへ転送する。例えば、PIDが0x1011であるとき、そのTSパケットは主映像デコーダ6015内のTB16001へ転送される。その他に、PIDが、0x1B00−0x1B1F、0x1100−0x111F、0x1A00−0x1A1F、0x1200−0x121F、及び0x1400−0x141Fの各範囲に属するとき、対応するTSパケットはそれぞれ、副映像デコーダ、主音声デコーダ、副音声デコーダ、PGデコーダ、及びIGデコーダへ転送される。
第2PIDフィルタ6014は、第2ソース・デパケタイザ6012からTSパケットを受信する度に、そのPIDを選択対象のPIDと比較する。その選択対象のPIDは、再生制御部5635によって予め、3Dプレイリスト・ファイル内のSTNテーブルSSに従って指定されている。両方のPIDが一致したとき、第2PIDフィルタ6014はそのTSパケットを、そのPIDに割り当てられたデコーダへ転送する。例えば、PIDが0x1012又は0x1013であるとき、そのTSパケットは主映像デコーダ6015内のTB26008へ転送される。その他に、PIDが、0x1B20−0x1B3F、0x1220−0x127F、及び0x1420−0x147Fの各範囲に属するとき、対応するTSパケットはそれぞれ、副映像デコーダ、PGデコーダ、及びIGデコーダへ転送される。
主映像デコーダ6015は、TB16001、MB16002、EB16003、TB26008、MB26009、EB26010、バッファ・スイッチ6006、DEC6004、DPB6005、及びピクチャ・スイッチ6007を含む。TB16001、MB16002、EB16003、TB26008、MB26009、EB26010、及びDPB6005はいずれもバッファ・メモリである。各バッファ・メモリは、主映像デコーダ6015に内蔵されたメモリ素子の一領域を利用する。その他に、それらのバッファ・メモリのいずれか又は全てが、異なるメモリ素子に分離されていてもよい。
TB16001は、ベースビュー・ビデオ・ストリームを含むTSパケットを第1PIDフィルタ6013から受信してそのまま蓄積する。MB16002は、TB16001に蓄積されたTSパケットからPESパケットを復元して蓄積する。そのとき、各TSパケットからTSヘッダが除去される。EB16003は、MB16002に蓄積されたPESパケットから、符号化されたVAUを抽出して蓄積する。そのとき、各PESパケットからPESヘッダが除去される。
TB26008は、ディペンデントビュー・ビデオ・ストリームを含むTSパケットを第2PIDフィルタ6014から受信してそのまま蓄積する。MB26009は、TB26008に蓄積されたTSパケットからPESパケットを復元して蓄積する。そのとき、各TSパケットからTSヘッダが除去される。EB26010は、MB26009に蓄積されたPESパケットから、符号化されたVAUを抽出して蓄積する。そのとき、各PESパケットからPESヘッダが除去される。
バッファ・スイッチ6006は、EB16003とEB26010とのそれぞれに蓄積されたVAUのヘッダをDEC6004からの要求に応じて転送する。バッファ・スイッチ6006は更に、そのVAUの圧縮ピクチャ・データを、元のTSパケットに含まれるDTSの示す時刻にDEC6004へ転送する。ここで、ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとの間では、同じ3D・VAUに属する一対のピクチャのDTSが等しい。従って、バッファ・スイッチ6006は、DTSの等しい一対のVAUのうち、EB16003に蓄積された方を先にDEC6004へ転送する。
DEC6004は、図53に示されているDEC5304と同様、圧縮ピクチャの復号処理に特化したハードウェア・デコーダであり、特にその復号処理のアクセラレータ機能を備えたLSIで構成されている。DEC6004は、バッファ・スイッチ6006から転送された圧縮ピクチャ・データを順次復号する。その復号処理では、DEC6004は予め、各VAUのヘッダを解析して、そのVAU内に格納された圧縮ピクチャの圧縮符号化方式とストリーム属性とを特定し、それらに応じて復号方法を選択する。ここで、その圧縮符号化方式は、例えば、MPEG−2、MPEG−4 AVC、及びVC1を含む。DEC6004は更に、復号された非圧縮のピクチャをDPB6005へ転送する。
DEC6004はその他に、ディペンデントビュー・ビデオ・ストリームから一つのビデオ・シーケンスの先頭のVAUを読み出す度に、そのVAUからオフセット・メタデータを読み出す。そのビデオ・シーケンスの再生区間では、DEC6004は、まず、そのVAUと共に一つのPESパケットに格納されたPTSと、そのVAUの圧縮ピクチャ・データの表すフレームの番号とを特定する。DEC6004は次に、そのフレーム番号に対応付けられたオフセット情報をオフセット・メタデータから読み出して、特定されたPTSの示す時刻にプレーン加算部5624へ送出する。
DPB6005は、復号された非圧縮のピクチャを一時的に保持する。DEC6004がPピクチャ及びBピクチャを復号するとき、DPB6005はDEC6004からの要求に応じて、保持されている非圧縮のピクチャの中から参照ピクチャを検索してDEC6004に提供する。
ピクチャ・スイッチ6007は、DPB6005から非圧縮の各ピクチャを、元のTSパケットに含まれるPTSの示す時刻に、左映像プレーン・メモリ6020と右映像プレーン・メモリ6021とのいずれかに書き込む。ここで、同じ3D・VAUに属するベースビュー・ピクチャとディペンデントビュー・ピクチャとではPTSが等しい。従って、ピクチャ・スイッチ6007は、DPB6005に保持された、PTSの等しい一対のピクチャのうち、ベースビュー・ピクチャを先に左映像プレーン・メモリ6020に書き込み、続いてディペンデントビュー・ピクチャを右映像プレーン・メモリ6021に書き込む。
<1プレーン+(ゼロ・)オフセット・モードのプレーン加算部>
図61は、1プレーン+オフセット・モード又は1プレーン+ゼロ・オフセット・モードのプレーン加算部5624の機能ブロック図である。図61を参照するに、プレーン加算部5624は、視差映像生成部6110、スイッチ6120、四つのクロッピング処理部6131−6134、及び四つの加算部6141−6144を含む。
視差映像生成部6110は、システム・ターゲット・デコーダ6123から左映像プレーン6101と右映像プレーン6102とを受信する。L/Rモードの再生装置102では、左映像プレーン6101はレフトビュー・ビデオ・プレーンを表し、右映像プレーン6102はライトビュー・ビデオ・プレーンを表す。L/Rモードの視差映像生成部6110は、受信された各ビデオ・プレーン6101、6102をそのままスイッチ6120へ送出する。一方、デプス・モードの再生装置102では、左映像プレーン6101は2D映像のビデオ・プレーンを表し、右映像プレーン6102はその2D映像に対するデプスマップを表す。デプス・モードの視差映像生成部6110は、まずそのデプスマップからその2D映像の各部の両眼視差を計算する。視差映像生成部6110は次に、左映像プレーン6101を加工して、ビデオ・プレーンにおけるその2D映像の各部の表示位置を、計算された両眼視差に依って左右に移動させる。それにより、レフトビュー・ビデオ・プレーンとライトビュー・ビデオ・プレーンとの対が生成される。視差映像生成部6110は更に、生成されたビデオ・プレーンの対を左映像プレーンと右映像プレーンとの対としてスイッチ6120へ送出する。
スイッチ6120は、プレーヤ変数記憶部5636内のSPRM(33)6152を参照し、それの示す再生ステータスの値に応じて、PTSの等しい左映像プレーン6101と右映像プレーン6102との一方又は両方を第1加算部6141へ送出する。具体的には、再生ステータスがB−D表示モードを示すとき、スイッチ6120は、左映像プレーン6101と右映像プレーン6102とをその順で第1加算部6141へ送出する。再生ステータスがB−B表示モードを示すとき、スイッチ6120は左映像プレーン6101を2回繰り返して第1加算部6141へ送出し、右映像プレーン6102を破棄する。
第1クロッピング処理部6131は、プレーヤ変数記憶部5636内のSPRM(33)6152を参照し、それの示す再生ステータスの値に応じて、副映像プレーン6103に対してオフセット制御を行う。具体的には、再生ステータスが1プレーン+オフセット・モードを示すとき、第1クロッピング処理部6131はまず、システム・ターゲット・デコーダ5623からオフセット情報6107を受信する。そのとき、第1クロッピング処理部6131は、プレーヤ変数記憶部5636内のSPRM(27)6151から副映像プレーンに対する参照オフセットIDを読み出す。第1クロッピング処理部6131は次に、その参照オフセットIDの示すオフセット・シーケンスに属するオフセット情報を、システム・ターゲット・デコーダ5623から受け取ったオフセット情報6107の中から検索する。第1クロッピング処理部6131は更に、検索されたオフセット情報を利用して、副映像プレーン6103に対してオフセット制御を行う。その結果、副映像プレーン6103は、レフトビューとライトビューとを表す一対のプレーン・データに変換される。更に、レフトビューとライトビューとの副映像プレーンは交互に第1加算部6141へ送出される。
ここで、SPRM(27)6151の値は一般に、カレントPIが切り換わる度に再生制御部5635によって更新される。その他に、プログラム実行部5634が、ムービーオブジェクト又はBD−Jオブジェクトに従ってSPRM(27)6151の値を設定してもよい。
同様に、第2クロッピング処理部6132は、PGプレーン6104をレフトビューとライトビューとのPGプレーンに変換する。それらのPGプレーンは交互に第2加算部6142へ送出される。第3クロッピング処理部6133は、IGプレーン6105をレフトビューとライトビューとのIGプレーンの対に変換する。それらのIGプレーンは交互に第3加算部6143へ送出される。第4クロッピング処理部6134は、イメージ・プレーン6106をレフトビューとライトビューとのイメージ・プレーンに変換する。それらのイメージ・プレーンは交互に第4加算部6144へ送出される。
一方、再生ステータスが1プレーン+ゼロ・オフセット・モードを示すとき、第1クロッピング処理部6131は、副映像プレーン6103に対するオフセット制御を行うことなく、副映像プレーン6103をそのまま、2回繰り返して第1加算部6141へ送出する。他のクロッピング処理部6132−6134についても同様である。
第1加算部6141は、スイッチ6120からはビデオ・プレーンを受信し、第1クロッピング処理部6131からは副映像プレーンを受信する。第1加算部6141はそのとき、受信されたビデオ・プレーンと副映像プレーンとを一組ずつ重畳して第2加算部6142へ渡す。第2加算部6142は、第2クロッピング処理部6132からPGプレーンを受信し、第1加算部6141から受信されたプレーン・データに重畳して第3加算部6143へ渡す。第3加算部6143は、第3クロッピング処理部6133からIGプレーンを受信し、第2加算部6142から受信されたプレーン・データに重畳して第4加算部6144へ渡す。第4加算部6144は、第4クロッピング処理部6134からイメージ・プレーンを受信し、第3加算部6143から受信されたプレーン・データに重畳してHDMI通信部6125へ送出する。ここで、各加算部6141−6144は、プレーン・データの重畳にα合成を利用する。こうして、左映像プレーン6101と右映像プレーン6102とのそれぞれに、副映像プレーン6103、PGプレーン6104、IGプレーン6105、及びイメージ・プレーン6106が、図61に矢印6100で示されている順序で重畳される。その結果、各プレーン・データの示す映像は表示装置103の画面上に、左映像プレーン又は右映像プレーン、副映像プレーン、IGプレーン、PGプレーン、及びイメージ・プレーンの順に重ねられて表示される。
≪オフセット制御のフローチャート≫
図62は、各クロッピング処理部6131−6134によるオフセット制御のフローチャートである。各クロッピング処理部6131−6134はシステム・ターゲット・デコーダ5623からオフセット情報6107を受信したときにオフセット制御を開始する。以下の説明では、第2クロッピング処理部6132がPGプレーン6104に対してオフセット制御を行う場合を想定する。他のクロッピング処理部6131、6133、6134はそれぞれ、副映像プレーン6103、IGプレーン6105、及びイメージ・プレーン6106に対して同様な処理を行う。
ステップS6201では、第2クロッピング処理部6132はまず、システム・ターゲット・デコーダ5623からPGプレーン6104を受信する。そのとき、第2クロッピング処理部6132はSPRM(27)6151から、PGプレーンに対する参照オフセットIDを読み出す。第2クロッピング処理部6131は次に、その参照オフセットIDの示すオフセット・シーケンスに属するオフセット情報を、システム・ターゲット・デコーダ5623から受け取ったオフセット情報6107の中から検索する。その後、処理はステップS6202へ進む。
ステップS6202では、第2クロッピング処理部6132は、スイッチ6120によって選択されたビデオ・プレーンがレフトビューとライトビューとのいずれを表すかをチェックする。ビデオ・プレーンがレフトビューを表すとき、処理はステップS6203へ進む。ビデオ・プレーンがライトビューを表すとき、処理はステップS6206へ進む。
ステップS6203では、第2クロッピング処理部6132は、検索されたオフセット方向の値をチェックする。ここで、次の場合を想定する:オフセット方向の値が“0”であるときは3Dグラフィックス映像の奥行きが画面よりも手前であり、オフセット方向の値が“1”であるときは奥である。オフセット方向の値が“0”であるとき、処理はステップS6204へ進む。オフセット方向の値が“1”であるとき、処理はステップS6205へ進む。
ステップS6204では、ビデオ・プレーンがレフトビューを表し、オフセット方向が画面よりも手前を表す。従って、第2クロッピング処理部6132はPGプレーン6104に右向きのオフセットを与える。すなわち、PGプレーン6104の含む各画素データの位置をオフセット値だけ右へ移動させる。その後、処理はステップS6209へ進む。
ステップS6205では、ビデオ・プレーンがレフトビューを表し、オフセット方向が画面よりも奥を表す。従って、第2クロッピング処理部6132はPGプレーン6104に左向きのオフセットを与える。すなわち、PGプレーン6104の含む各画素データの位置をオフセット値だけ左へ移動させる。その後、処理はステップS6209へ進む。
ステップS6206では、第2クロッピング処理部6132は、検索されたオフセット方向の値をチェックする。オフセット方向の値が“0”であるとき、処理はステップS6207へ進む。オフセット方向の値が“1”であるとき、処理はステップS6208へ進む。
ステップS6207では、ビデオ・プレーンがライトビューを表し、オフセット方向が画面よりも手前を表す。従って、第2クロッピング処理部6132はPGプレーン6104に左向きのオフセットを与える。すなわち、PGプレーン6104の含む各画素データの位置をオフセット値だけ左へ移動させる。その後、処理はステップS6209へ進む。
ステップS6208では、ビデオ・プレーンがライトビューを表し、オフセット方向が画面よりも奥を表す。従って、第2クロッピング処理部6132はPGプレーン6104に右向きのオフセットを与える。すなわち、PGプレーン6104の含む各画素データの位置をオフセット値だけ右へ移動させる。その後、処理はステップS6209へ進む。
ステップS6209では、第2クロッピング処理部6132は、処理後のPGプレーン6104を第3クロッピング処理部6134へ送出する。その後、処理は終了する。
≪オフセット制御によるプレーン・データの変化≫
図63の(b)は、第2クロッピング処理部6132によるオフセット制御で加工される前のPGプレーンGPを示す模式図である。図63の(b)を参照するに、PGプレーンGPは、字幕“I Love you”を表す画素データ群、すなわち字幕データSTLを含む。その字幕データSTLはPGプレーン・データGPの左端から第1距離D0に位置する。
図63の(a)は、右向きのオフセットが与えられたPGプレーンRGPを示す模式図である。図63の(a)を参照するに、第2クロッピング処理部6132は、PGプレーンGPに右向きのオフセットを与える場合、PGプレーンGP内の各画素データの位置を元の位置から、オフセット値に等しい画素数OFSだけ右へ移動させる。具体的には、第2クロッピング処理部6132はまず、クロッピング処理によってPGプレーンGPの右端から、オフセット値に等しい幅OFSの帯状領域AR1に含まれる画素データを除去する。第2クロッピング処理部6132は次に、PGプレーンGPの左端に画素データを付加して、幅OFSの帯状領域AL1を構成する。ここで、その領域AL1に含まれる画素データは透明に設定される。こうして、右向きのオフセットが与えられたPGプレーンRGPが得られる。実際、字幕データSTLはそのPGプレーンRGPの左端から第2距離DRに位置する。第2距離DRは、第1距離D0にオフセット値OFSを加えた値に等しい:DR=D0+OFS。
図63の(c)は、左向きのオフセットが与えられたPGプレーンLGPを示す模式図である。図63の(c)を参照するに、第2クロッピング処理部6132は、PGプレーンGPに左向きのオフセットを与える場合、PGプレーンGP内の各画素データの位置を元の位置から、オフセット値に等しい画素数OFSだけ左へ移動させる。具体的には、第2クロッピング処理部6132はまず、クロッピング処理によってPGプレーンGPの左端から、オフセット値に等しい幅OFSの帯状領域AL2に含まれる画素データを除去する。第2クロッピング処理部6132は次に、PGプレーンGPの右端に画素データを付加して、幅OFSの帯状領域AR2を構成する。ここで、その領域AR2に含まれる画素データは透明に設定される。こうして、左向きのオフセットが与えられたPGプレーンLGPが得られる。実際、字幕データSTLはそのPGプレーンLGPの左端から第3距離DLに位置する。第3距離DLは、第1距離D0からオフセット値OFSを除いた値に等しい:DL=D0−OFS。
<2プレーン・モードのプレーン加算部>
図64は、2プレーン・モードのプレーン加算部5624の部分的な機能ブロック図である。図64を参照するに、2プレーン・モードのプレーン加算部5624は、図61に示されている1プレーン+オフセット・モードのプレーン加算部5624と同様、視差映像生成部6110、スイッチ6120、第1加算部6141、第2加算部6142、及び第2クロッピング処理部6132を含む。図64には示されていないが、2プレーン・モードのプレーン加算部5624は更に、図61に示されている他のクロッピング処理部6131、6133、6134、及び他の加算部6143、6144を含む。それらに加え、2プレーン・モードのプレーン加算部5624は、PGプレーン6104、6105の入力部に、第2視差映像生成部6410と第2スイッチ6420とを含む。図64には示されていないが、同様な構成は、副映像プレーン、IGプレーン、及びイメージ・プレーンの各入力部にも含まれる。
第2視差映像生成部6410は、システム・ターゲット・デコーダ5623からレフトビューPGプレーン6404とライトビューPGプレーン6405とを受信する。L/Rモードの再生装置102では、レフトビューPGプレーン6404とライトビューPGプレーン6405とはそれぞれ、文字通り、レフトビューPGプレーンとライトビューPGプレーンとを表す。従って、第2視差映像生成部6410は各プレーン・データ6404、6405をそのまま第2スイッチ6120へ送出する。一方、デプス・モードの再生装置102では、レフトビューPGプレーン6404は2Dグラフィックス映像のPGプレーンを表し、ライトビューPGプレーン6405はその2Dグラフィックス映像に対するデプスマップを表す。従って、第2視差映像生成部6410は、まずそのデプスマップからその2Dグラフィックス映像の各部の両眼視差を計算する。第2視差映像生成部6410は、次にレフトビューPGプレーン6404を加工して、PGプレーンにおけるその2Dグラフィックス映像の各部の表示位置を、計算された両眼視差に依って左右に移動させる。それにより、レフトビューPGプレーンとライトビューPGプレーンとが生成される。第2視差映像生成部6410は更に、それらのPGプレーンを第2スイッチ6420へ送出する。
第2スイッチ6420は、プレーヤ変数記憶部5636内のSPRM(33)6152を参照し、それの示す再生ステータスの値に応じて、PTSの等しいレフトビューPGプレーン6404とライトビューPGプレーン6405との一方又は両方を第2クロッピング処理部6132へ送出する。具体的には、再生ステータスが2プレーン・モードを示すとき、第2スイッチ6420はレフトビューPGプレーン6404とライトビューPGプレーン6405とをその順で第2クロッピング処理部6132へ送出する。再生ステータスが1プレーン+ゼロ・オフセット・モードを示すとき、第2スイッチ6420はレフトビューPGプレーン6404を2回繰り返して第2クロッピング処理部6132へ送出し、ライトビューPGプレーン6405を破棄する。
第2クロッピング処理部6132は、各PGプレーン6404、6405をそのまま第2加算部6142へ送出する。第2加算部6142は、第1加算部6141から受信されたプレーン・データに各PGプレーン6404、6405を重畳して第3加算部6143へ渡す。その結果、左映像プレーン6101にはレフトビューPGプレーン6404が重畳され、右映像プレーン6102にはライトビューPGプレーン6405が重畳される。
2プレーン・モードの第2クロッピング処理部6132は、オフセット情報6107を利用してレフトビューPGプレーン6404に対してオフセット制御を行ってもよい。それは次の理由に因る。L/Rモードでは、サブTS内のレフトビューPGストリームに代えてメインTS内のPGストリーム(以下、2D・PGストリームと略す。)がレフトビューPGプレーンとして利用されてもよい。但し、2D・PGストリームの表す一つのグラフィックス映像は2D映像としても利用されるので、その表示位置は通常、一定に設定されている。一方、ライトビューPGストリームの表すグラフィックス映像の表示位置は、対応する3Dグラフィックス映像の奥行きが変化する際には、その変化に合わせて左右に移動するように設定されている。従って、3Dグラフィックス映像を左右に移動させることなくその奥行きだけを変化させるには、レフトビューとライトビューとのグラフィックス映像間の中心位置を一定に維持しなければならない。そこで、3Dグラフィックス映像を再生する際には、2D・PGストリームの表すグラフィックス映像にオフセットを与えて、その表示位置を左右へ移動させる。それにより、レフトビューとライトビューとのグラフィックス映像間の中心位置が一定に維持されるので、3Dグラフィックス映像が水平方向には移動しないように見える。こうして、2D・PGストリームをレフトビューPGストリームとして利用することで視聴者に違和感を与える危険性を回避することができる。
<再生ステータスの種類>
図65は、SPRM(33)の示す再生ステータスの種類別に、対応する再生モードの値、及び再生部5602から出力されるべきビデオ・プレーンとグラフィックス・プレーンとを示す表である。図65では、再生部5602が交互に出力する二種類のビデオ・プレーン、又は二種類のグラフィックス・プレーンの一方を「第1プレーン」と呼び、他方を「第2プレーン」と呼ぶ。図65を参照するに、再生ステータスの示す値にはタイプA−Dの4種類がある。まず、再生ステータスの種類を再生モードの値で区別した場合、タイプA、Bでは再生モードは“2D”を示し、タイプC、Dでは“3D”を示す。次に、再生ステータスの種類をビデオ・プレーンに対する再生部5602の出力モードで区別した場合、以下のとおりである:タイプA、Cでは、ビデオ・プレーンの第1プレーンは“L(レフトビュー・プレーン)”であり、第2プレーンは“R(ライトビュー・プレーン)”である。これは、再生部5602の出力モードがB−D表示モードであることを意味する。タイプB、Dでは、ビデオ・プレーンの第1プレーンと第2プレーンとはいずれも“L”である。これは、再生部5602の出力モードがB−B表示モードであることを意味する。続いて、再生ステータスの種類をグラフィックス・プレーンに対する再生部5602の出力モードで区別した場合、以下のとおりである:タイプA、Bでは、グラフィックス・プレーンの第1プレーンと第2プレーンとはいずれも“C(中心位置のプレーン、すなわちオフセットを与えられていないプレーン)”である。これは、再生部5602の出力モードが1プレーン+ゼロ・オフセット・モードであることを意味する。タイプC、Dでは、グラフィックス・プレーンの第1プレーンは“L(レフトビュー・プレーン)”であり、第2プレーンは“R(ライトビュー・プレーン)”である。これは、再生部5602の出力モードが2プレーン・モード又は1プレーン+オフセット・モードであることを意味する。
図66は、再生ステータスがタイプAであるときのプレーン加算部5624の部分的な機能ブロック図である。図66を参照するに、プレーン加算部5624は、図61に示されている1プレーン+オフセット・モードのプレーン加算部5624と同様、視差映像生成部6110、スイッチ6120、第1加算部6141、及び第2加算部6142を含む。図66には示されていないが、プレーン加算部5624は更に、図61に示されている他の加算部6143、6144を含む。図65に示されているとおり、タイプAではビデオ・プレーンに対する出力モードがB−D表示モードであるので、スイッチ6120は、視差映像生成部6110から受信されるレフトビュー・ビデオ・プレーンとライトビュー・ビデオ・プレーンとを交互に第1加算部6141へ送出する(図66に示されている矢印6601はその動作を表す)。一方、グラフィックス・プレーンに対する出力モードが1プレーン+ゼロ・オフセット・モードであるので、クロッピング処理部6131、6132、6133、6134は実質上プレーン・データに対する処理を行わない。従って、PGプレーン6104等のグラフィックス・プレーンはそのまま、各加算部6142へ送出される。
図67は、再生ステータスがタイプBであるときのプレーン加算部5624の部分的な機能ブロック図である。図67を参照するに、プレーン加算部5624は、図66に示されているものと同様、視差映像生成部6110、スイッチ6120、第1加算部6141、及び第2加算部6142を含む。図67には示されていないが、プレーン加算部5624は更に、図61に示されている他の加算部6143、6144を含む。図65に示されているとおり、タイプBではビデオ・プレーンに対する出力モードがB−B表示モードであるので、スイッチ6120は、視差映像生成部6110から受信されるレフトビュー・ビデオ・プレーンのみを第1加算部6141へ送出し、ライトビュー・ビデオ・プレーンを破棄する(図66に示されている実線6701及び破線6702はその動作を表す)。一方、グラフィックス・プレーンに対する出力モードが1プレーン+ゼロ・オフセット・モードであるので、クロッピング処理部6131、6132、6133、6134は実質上プレーン・データに対する処理を行わない。従って、PGプレーン6104等のグラフィックス・プレーンはそのまま、各加算部6142へ送出される。
図68は、再生ステータスがタイプCであるときのプレーン加算部5624の部分的な機能ブロック図である。図68を参照するに、プレーン加算部5624は、図66に示されているものと同様、視差映像生成部6110、スイッチ6120、第1加算部6141、第2加算部6142、及び第2クロッピング処理部6132を含む。図67には示されていないが、プレーン加算部5624は更に、図61に示されている他の加算部6143、6144、及び他のクロッピング処理部6131、6133、6134を含む。図65に示されているとおり、タイプCではビデオ・プレーンに対する出力モードがB−D表示モードであるので、スイッチ6120は、視差映像生成部6110から受信されるレフトビュー・ビデオ・プレーンとライトビュー・ビデオ・プレーンとを交互に第1加算部6141へ送出する(図68に示されている矢印6801はその動作を表す)。一方、グラフィックス・プレーンに対する出力モードが1プレーン+オフセット・モードである場合、第2クロッピング処理部6132はPGプレーン6104に水平方向のオフセットを与えて、レフトビューPGプレーンとライトビューPGプレーンとを交互に第2加算部6142へ送出する。
図69は、再生ステータスがタイプDであるときのプレーン加算部5624の部分的な機能ブロック図である。図69を参照するに、プレーン加算部5624は、図68に示されているものと同様、視差映像生成部6110、スイッチ6120、第1加算部6141、第2加算部6142、及び第2クロッピング処理部6132を含む。図69には示されていないが、プレーン加算部5624は更に、図61に示されている他の加算部6143、6144、及び他のクロッピング処理部6131、6133、6134を含む。図65に示されているとおり、タイプDではビデオ・プレーンに対する出力モードがB−B表示モードであるので、スイッチ6120は、視差映像生成部6110から受信されるレフトビュー・ビデオ・プレーンのみを第1加算部6141へ送出し、ライトビュー・ビデオ・プレーンを破棄する(図69に示されている実線6901及び破線6902はその動作を表す)。一方、グラフィックス・プレーンに対する出力モードが1プレーン+オフセット・モードである場合、第2クロッピング処理部6132はPGプレーン6104に水平方向のオフセットを与えて、レフトビューPGプレーンとライトビューPGプレーンとを交互に第2加算部6142へ送出する。
タイプC、Dにおいて、グラフィックス・プレーンに対する出力モードが2プレーン・モードである場合、プレーン加算部5624の部分的な機能ブロック図は、図68、69とは異なり、図64と同様である。すなわち、第2スイッチ6420は、第2視差映像生成部6410から受信されるレフトビューPGプレーンとライトビューPGプレーンとを交互に第2クロッピング処理部6132へ送出する。第2クロッピング処理部6132は、各PGプレーンをそのまま、又は、オフセット情報6107を利用してレフトビューPGプレーンに対しては水平方向のオフセットを与えて、第2加算部6142へ送出する。
<再生ステータスの変化に応じた映像の変化>
3D映像の再生期間P3Dでは、ビデオ・プレーンに対する出力モードはB−D表示モードであり、グラフィックス・プレーンに対する出力モードは2プレーン・モード又は1プレーン+オフセット・モードである。従って、再生ステータスはタイプCを示す。一方、3D映像の再生期間P3Dの途中に2D映像の再生期間P2Dが挿入される場合、その2D映像の再生期間P2Dにおける各プレーンに対する出力モードの組み合わせは、ユーザの操作又はアプリケーション・プログラムの指示に応じて様々に変更可能である。具体的には、例えば3D映像の再生中にポップアップ・メニューが表示される場合、その表示期間中にSPRM(33)の示すべき再生ステータスの値が、ユーザ又はアプリケーション・プログラムによってタイプA、B、Dから選択される。その選択には、再生装置102のOSD等が利用可能である。
図70の(a)−(f)はそれぞれ、2D映像の再生期間P2Dにおける再生ステータスがタイプAに選択された場合に、再生装置102から送出される再生モードとフレームL、R、Cとの変化、表示装置103によって表示されるフレームL、R、Cの変化、及び、シャッター眼鏡104が左右のレンズを透明にする期間LSL、LSRを示す模式図である。図70の(a)を参照するに、第1時刻T1までは3D映像の再生期間P3Dであって、再生ステータスはタイプCである。従って、再生装置102はB−D表示モードで、かつ2プレーン・モード又は1プレーン+オフセット・モードで動作する。すなわち、再生装置102は、図70の(c)、(d)に示されているように、レフトビュー・フレームLV+LGとライトビュー・フレームRV+RGとを交互に表示装置103へ送出する。ここで、レフトビュー・フレームLV+LGは、レフトビュー・ビデオ・プレーンLVにレフトビュー・グラフィックス・プレーンLGを合成したものであり、ライトビュー・フレームRV+RGは、ライトビュー・ビデオ・プレーンRVにライトビュー・グラフィックス・プレーンRGを合成したものである。一方、図70の(b)に示されているように、再生モードは“3D”に設定されている。従って、表示装置103は、図7の(e)に示されているように、レフトビュー・フレームLV+LGとライトビュー・フレームRV+RGとを交互に表示する。それと並行して、図70の(f)に示されているように、表示装置103はシャッター眼鏡104に、フレームLV+LG、RV+RGの切り換えと同期して左右のレンズを交互に透明にさせる。その結果、レフトビュー・フレームLV+LGとライトビュー・フレームRV+RGとはそれぞれ、視聴者の片目にしか見えないので、それら一対のフレームの示す2D映像はその視聴者には一つの3D映像として見える。
図70の(a)を更に参照するに、第1時刻T1では3D映像の再生期間P3Dが2D映像の再生期間P2Dへ移行する。具体的には、再生装置102が、ユーザの操作又はアプリケーション・プログラムの指示に応じて、SPRM(33)の示す再生ステータスをタイプCからタイプAへ変更する。それに応じて、再生装置102は、第1時刻T1以降、B−D表示モードを継続する一方で、1プレーン+ゼロ・オフセット・モードへ移行する。すなわち、第1時刻T1以降、図70の(c)、(d)に示されているように、中心位置のグラフィックス・プレーンCがレフトビュー・ビデオ・プレーンLVとライトビュー・ビデオ・プレーンRVとに交互に合成される。合成後のフレームは交互に表示装置103へ送出される。一方、図70の(b)に示されているように、第1時刻T1に再生モードは“3D”から“2D”へ変更される。表示装置103はインフォ・フレームから再生モードのその変更を検出し、図70の(e)に示されているように、受信したレフトビュー・フレームLV+Cのみを2回ずつ繰り返し表示する。それと並行して、図70の(f)に示されているように、表示装置103はシャッター眼鏡104に左右両方のレンズを透明に維持させる。その結果、視聴者のいずれの目にもレフトビュー・フレームLV+Cしか見えない。こうして、ビデオ・プレーンとグラフィックス・プレーンとのいずれの表す3D映像も第1時刻T1で2D映像に切り換えられる。
図70の(a)を再び参照するに、2D映像の再生期間P2Dは第1時刻T1から第2時刻T2まで継続され、第2時刻T2で3D映像の再生期間P3Dへ戻る。具体的には、再生装置102は、ユーザの操作又はアプリケーション・プログラムの指示に応じて、SPRM(33)の示す再生ステータスをタイプAからタイプCへ戻す。それに応じて、再生装置102は、第2時刻T2以降、B−D表示モードを継続する一方で、2プレーン・モード又は1プレーン+オフセット・モードへ戻る。すなわち、第2時刻T2以降、図70の(c)、(d)に示されているように、レフトビュー・フレーム(レフトビュー・ビデオ・プレーンLV+レフトビュー・グラフィックス・プレーンLG)とライトビュー・フレームRV+RG(ライトビュー・ビデオ・プレーンRV+ライトビュー・グラフィックス・プレーンRG)とを交互に表示装置103へ送出する。一方、図70の(b)に示されているように、第2時刻T2に再生モードは“2D”から“3D”へ戻る。表示装置103はインフォ・フレームから再生モードのその変更を検出し、図70の(e)に示されているように、レフトビュー・フレームLV+LGとライトビュー・フレームRV+RGとを交互に表示する。それと並行して、図70の(f)に示されているように、表示装置103はシャッター眼鏡104に、フレームLV+LG、RV+RGの切り換えと同期して左右のレンズを交互に透明にさせる。その結果、レフトビュー・フレームLV+LGとライトビュー・フレームRV+RGとの示す2D映像は再び、視聴者には一つの3D映像として見える。
図70から明らかに理解されるとおり、再生装置102は、3D映像を一旦2D映像へ切り換える際、ビデオ・プレーンに対してはB−D表示モードを維持したまま、グラフィックス・プレーンに対してはオフセット制御を中断すればよい。従って、その切り換え動作は迅速である。一方、表示装置103は、インフォ・フレーム内の再生モードの値に応じてライトビュー・フレームを表示するか否かを決めればよい。特にフレームレートは変更されなくてもよい。こうして、グラフィックス・プレーンの表す映像が3D映像に含まれていても、表示装置103は3D映像を2D映像へシームレスに切り換えることができる。
図71の(a)−(f)はそれぞれ、2D映像の再生期間P2Dにおける再生ステータスがタイプBに選択された場合に、再生装置102から送出される再生モードとフレームL、R、Cとの変化、表示装置103によって表示されるフレームL、R、Cの変化、及び、シャッター眼鏡104が左右のレンズを透明にする期間LSL、LSRを示す模式図である。図71の(a)を参照するに、第1時刻T1までは3D映像の再生期間P3Dであって、再生ステータスはタイプCである。従って、図71の(c)−(f)は図70の(c)−(f)と同様である。その結果、レフトビュー・フレームLV+LGとライトビュー・フレームRV+RGとの示す2D映像は、視聴者には一つの3D映像として見える。
図71の(a)を更に参照するに、第1時刻T1では3D映像の再生期間P3Dが2D映像の再生期間P2Dへ移行する。具体的には、再生装置102が、ユーザの操作又はアプリケーション・プログラムの指示に応じて、SPRM(33)の示す再生ステータスをタイプCからタイプBへ変更する。タイプBはタイプAとは、B−D表示モードがB−B表示モードへ変更されている点で異なる。従って、第1時刻T1以降、図71の(c)、(d)に示されているように、中心位置のグラフィックス・プレーンCはレフトビュー・ビデオ・プレーンLVにのみ合成される。合成後のフレームは2回ずつ表示装置103へ送出される。一方、表示装置103は再生モードの変更に応じて、図71の(e)に示されているように、2回繰り返して受信したレフトビュー・フレームLV+Cのうち、最初に受信した方のみを2回ずつ繰り返し表示する。それと並行して、図71の(f)に示されているように、表示装置103はシャッター眼鏡104に左右両方のレンズを透明に維持させる。その結果、視聴者のいずれの目にもレフトビュー・フレームLV+Cしか見えない。こうして、ビデオ・プレーンとグラフィックス・プレーンとのいずれの表す3D映像も第1時刻T1で2D映像に切り換えられる。
図71の(a)を再び参照するに、第2時刻T2で再生ステータスはタイプAからタイプCへ戻る。すなわち、第2時刻T2以降、図71の(c)−(f)は図70の(c)−(f)と同様である。その結果、レフトビュー・フレームLV+LGとライトビュー・フレームRV+RGとの示す2D映像は再び、視聴者には一つの3D映像として見える。
図71を図70と比較すれば明らかに理解されるとおり、再生装置102が3D映像を2D映像へ切り換える際にB−D表示モードをB−B表示モードへ切り換えたとしても、表示装置103は、その動作を特段に変更することなく、3D映像を2D映像へシームレスに切り換えることができる。
図72の(a)−(f)はそれぞれ、2D映像の再生期間P2Dにおける再生ステータスがタイプDに選択された場合に、再生装置102から送出される再生モードとフレームL、R、Cとの変化、表示装置103によって表示されるフレームL、R、Cの変化、及び、シャッター眼鏡104が左右のレンズを透明にする期間LSL、LSRを示す模式図である。図72の(a)を参照するに、第1時刻T1までは3D映像の再生期間P3Dであって、再生ステータスはタイプCである。従って、図72の(c)−(f)は図70の(c)−(f)と同様である。その結果、レフトビュー・フレームLV+LGとライトビュー・フレームRV+RGとの示す2D映像は、視聴者には一つの3D映像として見える。
図72の(a)を更に参照するに、第1時刻T1では3D映像の再生期間P3Dが2D映像の再生期間P2Dへ移行する。具体的には、再生装置102が、ユーザの操作又はアプリケーション・プログラムの指示に応じて、SPRM(33)の示す再生ステータスをタイプCからタイプDへ変更する。タイプDはタイプAとは、B−D表示モードがB−B表示モードへ変更されている点に加え、2プレーン・モード又は1プレーン+ゼロ・オフセット・モードが維持されている点で異なる。従って、第1時刻T1以降、図72の(c)、(d)に示されているように、レフトビュー・フレームLV+LGは、レフトビュー・ビデオ・プレーンLVにレフトビュー・グラフィックス・プレーンLGを合成したものであり、ライトビュー・フレームLV+RGは、レフトビュー・ビデオ・プレーンLVにライトビュー・グラフィックス・プレーンRGを合成したものである。合成後のフレームLV+LG、LV+RGは交互に表示装置103へ送出される。一方、再生モードの値は第1時刻T1以降も“3D”に維持されている。従って、表示装置103は、図72の(e)に示されているように、レフトビュー・フレームLV+LGとライトビュー・フレームLV+RGとを交互に表示する。それと並行して、図72の(f)に示されているように、表示装置103はシャッター眼鏡104に、フレームLV+LG、LV+RGの切り換えと同期して左右のレンズを交互に透明にさせる。その結果、視聴者には、レフトビュー・ビデオ・プレーンLVの表す2D映像しか見えない一方、レフトビュー・グラフィックス・プレーンLGとライトビュー・グラフィックス・プレーンRGとの表す2Dグラフィックス映像は一つの3Dグラフィックス映像として見える。こうして、第1時刻T1以降、IGプレーンの表すポップアップ・メニュー等、グラフィックス映像のみを3D映像として視聴者に見せることができる。
図72の(a)を再び参照するに、第2時刻T2で再生ステータスはタイプDからタイプCへ戻る。すなわち、第2時刻T2以降、図72の(c)−(f)は図70の(c)−(f)と同様である。その結果、ビデオ・プレーンとグラフィックス・プレーンとのいずれの示す2D映像も再び、視聴者には3D映像として見える。
以上のとおり、再生装置102がB−D表示モードをB−B表示モードへ切り換える際に、グラフィックス映像のみを3D映像に維持したとしても、表示装置103は、その動作を特段に変更することなく、3D映像を2D映像へシームレスに切り換えることができる。
<変形例>
(1−E)本発明の実施形態1では、再生ステータスは、ユーザの操作又はアプリケーション・プログラムの指示に応じて設定される。その他に、再生ステータスは、図43に示されているような3Dプレイリスト・ファイルの中に、各PIの属性の一つとして設定されていてもよい。その場合、3Dプレイリスト再生処理では、再生制御部5635がカレントのPIから再生ステータスを解読して、再生モードと再生部5602の出力モードとを決定する。また、再生ステータスは、図14に示されているように、ストリーム・データに格納されていてもよい。その格納先としては、例えば、図24に示されているPMT内のディスクリプタ、又は、図18に示されているVAU内の補足データ若しくはヘッダが利用可能である。ここで、再生ステータスは一般に、GOP単位等、ある程度長い表示期間を一つの単位として設定される。従って、再生ステータスを補足データに格納する場合、その補足データを各GOPの先頭にのみ配置するようにしてもよい。それにより、再生ステータスを表すデータの総量を削減することができる。
(1−F)本発明の実施形態1では、再生装置102がリモコン105等を通してユーザの操作又はアプリケーション・プログラムの指示を直に受け付けて、それに応じて再生ステータスを決定する。その他に、表示装置103がリモコン105等を通してユーザの操作又はアプリケーション・プログラムの指示を直に受け付けて、それに応じて再生ステータスの変更命令をHDMI方式のCECメッセージで再生装置102へ伝送してもよい。その場合、再生装置102はその変更命令に応じて再生ステータスを変更する。
(1−G)図1では、再生装置102と表示装置103とがそれぞれ、独立した装置である。その他に、再生装置102が表示装置103と一体化されていてもよい。また、図2に示されているとおり、表示装置103は、BD−ROMディスク101の他に、メモリカード201、外部ネットワーク202、及び放送波203等の各種媒体から3D映像のストリーム・データを取得してもよい。その場合、表示装置103の受信部210は、各種媒体に適したインターフェースを含む。表示装置103は特に、図56に示されている3D再生装置の再生部5602と同様な構成を備えており、各種媒体から取得したストリーム・データを、レフトビュー・フレーム、ライトビュー・フレーム等に復号する。
(1−H)本発明の実施形態による表示装置103は、再生装置102によってBD−ROMディスク101から読み出されたストリーム・データに従って3D映像を再現する。その他に、図2に示されているように、表示装置103は、外部ネットワーク202又は放送波203で伝送されるストリーム・データに従って3D映像を再現してもよい。その場合、そのストリーム・データは以下のような送信装置で発信される。
図73は、送信装置7300の機能ブロック図である。図73を参照するに、送信装置7300はフォーマット変換部7301と送信部7302とを含む。フォーマット変換部7301は、外部からストリーム・データSTDを受信して所定の送信形式に変換する。ストリーム・データSTDは、図13−21に示されている実施形態1によるデータ構造を持つ。送信部7302は、フォーマット変換部7301によって変換されたストリーム・データを、アンテナから放送波203で送信し、又は、インターネット等の外部ネットワーク202を通して配信する。
(1−I)本発明の実施形態によるL/Rモードでは、ベースビュー・ビデオ・ストリームがレフトビューを表し、ディペンデントビュー・ビデオ・ストリームがライトビューを表す。逆に、ベースビュー・ビデオ・ストリームがライトビューを表し、ディペンデントビュー・ビデオ・ストリームがレフトビューを表してもよい。本発明の実施形態によるBD−ROMディスク101では、ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとは、異なるTSに多重化されている。その他に、ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとが一つのTSに多重化されていてもよい。
(1−J)図21に示されているオフセット・メタデータは、ディペンデントビュー・ビデオ・ストリームに格納されている。その他に、オフセット・メタデータはベースビュー・ビデオ・ストリームに格納されてもよい。その場合でも、オフセット・メタデータは好ましくは、各ビデオ・シーケンスの先頭に位置するVAU内の補足データに格納される。更に、3Dプレイリスト・ファイルは、ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとのいずれがオフセット・メタデータを含むかを示すフラグを備えていてもよい。それにより、各ストリーム・データの作成の自由度を向上させることができる。オフセット・メタデータは、各ビデオ・シーケンス(すなわち、各GOP)の先頭だけでなく、各VAU(すなわち、各フレーム又はフィールド)に格納されてもよい。その他に、コンテンツごとに、オフセット・メタデータの間隔が任意の値に、例えば3フレーム以上に設定されてもよい。その場合、好ましくは、各ビデオ・シーケンスの先頭のVAUには必ずオフセット・メタデータが格納され、かつ、その直前のオフセット・メタデータとの間隔が3フレーム以上であるように制限される。それにより、再生装置にオフセット情報の変更処理を飛び込み再生処理と確実に並行させることができる。
オフセット・メタデータは、ビデオ・ストリームに格納されるのに代えて、独立なストリーム・データとしてメインTS又はサブTSに多重化されてもよい。その場合、オフセット・メタデータには固有のPIDが割り当てられる。システム・ターゲット・デコーダはそのPIDを利用して、オフセット・メタデータを他のストリーム・データから分離する。その他に、オフセット・メタデータは、まず専用のバッファ・メモリにプリロードされ、その後、再生処理を受けてもよい。その場合、オフセット・メタデータは一定のフレーム間隔で格納される。それにより、オフセット・メタデータについてはPTSが不要であるので、PESヘッダのデータ量が削減される。その結果、プリロード用のバッファの容量を節約することができる。尚、オフセット・メタデータはプレイリスト・ファイルに格納されてもよい。
(1−K)BD−ROMディスク101上には、図23に示されているように、ベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとがインターリーブ配置で記録されている。隣接する二つのデータ・ブロックでは一般に、エクステントATC時間が等しい。それら二つのデータ・ブロック、すなわちエクステント・ペアでは更に、再生期間が一致し、かつビデオ・ストリームの再生時間が等しくてもよい。言い換えれば、エクステント・ペア間ではVAUの数が等しくてもよい。その意義は次のとおりである。
図74の(a)は、隣接するベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとの間でエクステントATC時間が異なり、かつビデオ・ストリームの再生時間が異なるときの再生経路を示す模式図である。図74の(a)を参照するに、先頭のベースビュー・データ・ブロックB[0]の再生時間は4秒間であり、先頭のディペンデントビュー・データ・ブロックD[0]の再生時間は1秒間である。ここで、ディペンデントビュー・データ・ブロックD[0]の復号に必要なベースビュー・ビデオ・ストリームの部分はそのディペンデントビュー・データ・ブロックD[0]と同じ再生時間を持つ。従って、再生装置内のリード・バッファの容量を節約するには、図74の(a)に矢印ARW1で示されているように、再生装置にベースビュー・データ・ブロックB[0]とディペンデントビュー・データ・ブロックD[0]とを交互に同じ再生時間ずつ、例えば1秒間ずつ読み込ませることが好ましい。しかし、その場合、図74の(a)に破線で示されているように、読み出し処理の途中でジャンプが生じる。その結果、読み出し処理を復号処理に間に合わせることが難しいので、シームレス再生を確実に持続することが難しい。
図74の(b)は、隣接するベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとの間でビデオ・ストリームの再生時間が等しいときの再生経路を示す模式図である。図74の(b)に示されているように、隣接する二つのデータ・ブロックの間でビデオ・ストリームの再生時間が等しくてもよい。例えば、先頭のデータ・ブロック対B[0]、D[0]ではビデオ・ストリームの再生時間が共に1秒に等しく、二番目のデータ・ブロック対B[1]、D[1]ではビデオ・ストリームの再生時間が共に0.7秒に等しい。その場合、3D再生モードの再生装置は、図74の(b)に矢印ARW2で示されているように、データ・ブロックB[0]、D[0]、B[1]、D[1]、…を先頭から順番に読み出す。それだけで、再生装置はメインTSとサブTSとを交互に同じ再生時間ずつ読み出すことをスムーズに実現できる。特にその読み出し処理ではジャンプが生じないので、3D映像のシームレス再生が確実に持続可能である。
実際には、隣接するベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとの間でエクステントATC時間が等しければ、読み出し処理にジャンプを生じさせることなく、復号処理の同期を維持することはできる。従って、再生期間又はビデオ・ストリームの再生時間が等しくなくても、図74の(b)に示されている場合と同様に、再生装置はデータ・ブロック群を先頭から順番に読み出すだけで、3D映像のシームレス再生を確実に持続できる。
エクステント・ペア間では、VAUのいずれかのヘッダの数、又はPESヘッダの数が等しくてもよい。エクステント・ペア間での復号処理の同期には、それらのヘッダが利用される。従って、エクステント・ペア間でヘッダの数が等しければ、VAUそのものの数が等しくなくても、復号処理の同期を維持することは比較的容易である。更に、VAUそのものの数が等しい場合とは異なり、VAUのデータが全て同じデータ・ブロック内に多重化されていなくてもよい。それ故、BD−ROMディスク101のオーサリング工程において、ストリーム・データの多重化の自由度が高い。
エクステント・ペア間では、エントリ・ポイントの数が等しくてもよい。すなわち、ファイル・ベースとファイルDEPとでは、先頭から同じ順序のエクステントEXT1[k]、EXT2[k]が同じ数のエントリ・ポイントを含むように設定されていてもよい。2D再生モードと3D再生モードとではジャンプの有無は異なる。しかし、エクステント・ペア間でエントリ・ポイントの数が等しいとき、再生時間も実質的に等しい。従って、ジャンプの有無にかかわらず、復号処理の同期を維持することは容易である。更に、VAUそのものの数が等しい場合とは異なり、VAUのデータの全てが同じデータ・ブロック内に多重化されていなくてもよい。それ故、BD−ROMディスク101のオーサリング工程において、ストリーム・データの多重化の自由度が高い。
(1−L)3D映像を表すAVストリーム・ファイルでは、図24に示されているPMT2410に3Dディスクリプタが追加されてもよい。「3Dディスクリプタ」は、3D映像の再生方式に関してAVストリーム・ファイル全体に共通する情報であり、特に3D方式情報を含む。「3D方式情報」は、L/Rモード又はデプス・モード等、3D映像のAVストリーム・ファイルの再生方式を示す。更に、PMT2410の含む各ストリーム情報2403に3Dストリーム・ディスクリプタが追加されてもよい。「3Dストリーム・ディスクリプタ」は、AVストリーム・ファイルに含まれるエレメンタリ・ストリーム別に、3D映像の再生方式に関する情報を示す。特にビデオ・ストリームの3Dストリーム・ディスクリプタは3D表示タイプを含む。「3D表示タイプ」は、そのビデオ・ストリームから映像をL/Rモードで再生するとき、その映像がレフトビューとライトビューとのいずれであるのかを示す。3D表示タイプはまた、そのビデオ・ストリームから映像をデプス・モードで再生するとき、その映像が2D映像とデプスマップとのいずれであるのかを示す。このように、PMT2410が3D映像の再生方式に関する情報を含むとき、その映像の再生系統はAVストリーム・ファイルだけからでもその情報を取得できる。従って、そのようなデータ構造は、例えば放送波で3D映像コンテンツを頒布するときに有効である。
(1−M)ディペンデントビュー・クリップ情報ファイルは、ディペンデントビュー・ビデオ・ストリームのPID=0x1012、0x1013に割り当てられているビデオ・ストリーム属性情報に所定のフラグを含んでもよい。そのフラグがオンであるときは、ディペンデントビュー・ビデオ・ストリームがベースビュー・ビデオ・ストリームを参照するものであることを示す。そのビデオ・ストリーム属性情報が更に、参照先のベースビュー・ビデオ・ストリームに関する情報を含んでもよい。その情報は、3D映像コンテンツが規定のフォーマットどおりに作成されているか否かを所定のツールで検証するときに、ビデオ・ストリーム間の対応関係を確認するのに利用することができる。
本発明の実施形態1では、クリップ情報ファイルに含まれるエクステント起点からベースビュー・エクステントとディペンデントビュー・エクステントとの各サイズを算出することができる。その他に、各エクステントのサイズの一覧表が、例えばクリップ情報ファイルにメタデータの一部として格納されてもよい。
(1−N)図43に示されている3Dプレイリスト・ファイル1222はサブパス4302を一つ含む。その他に、3Dプレイリスト・ファイルがサブパスを複数含んでもよい。例えば、一方のサブパスのサブパス・タイプが「3D・L/R」であり、他方のサブパスのサブパス・タイプが「3D・デプス」であってもよい。その3Dプレイリスト・ファイルに従って3D映像が再生されるとき、再生対象のサブパスがそれら二種類のサブパスの間で切り換えられることにより、再生装置102をL/Rモードとデプス・モードとの間で容易に切り換えさせることができる。特にその切り換え処理は、3Dプレイリスト・ファイルそのものを切り換える処理よりも速やかに実現可能である。
3Dプレイリスト・ファイルは、サブパス・タイプの等しいサブパスを複数含んでいてもよい。例えば、同じシーンに対する両眼視差の異なる3D映像が共通のレフトビューに対するライトビューの違いで表現されるとき、異なるライトビューを表す複数のファイルDEPがBD−ROMディスク101に記録される。その場合、3Dプレイリスト・ファイルは、サブパス・タイプが「3D・L/R」であるサブパスを複数含む。それらのサブパスは、異なるファイルDEPの再生経路を個別に規定する。その3Dプレイリスト・ファイルに従って3D映像が再生されるとき、再生対象のサブパスが例えばユーザの操作に応じて速やかに切り換えられるので、3D映像を実質的に途切れさせることなく、その両眼視差を変化させることができる。それにより、ユーザに所望の両眼視差の3D映像を容易に選択させることができる。
図43に示されている3Dプレイリスト・ファイル1222では、ベースビュー・ビデオ・ストリームはメインパス4301内のSTNテーブルに登録され、ディペンデントビュー・ビデオ・ストリームは拡張データ4303内のSTNテーブルSS4330に登録されている。その他に、ディペンデントビュー・ビデオ・ストリームはSTNテーブルに登録されていてもよい。その場合、STNテーブルは、登録されたビデオ・ストリームがベースビューとディペンデントビューとのいずれを表すものであるかを示すフラグを含んでもよい。
本発明の実施形態1によるBD−ROMディスク101には、2Dプレイリスト・ファイルと3Dプレイリスト・ファイルとが別々に記録されている。その他に、図43に示されているサブパス4302が、拡張データ4303と同様に、3D再生モードの再生装置102によってのみ参照される領域に記録されてもよい。その場合、サブパス4302が2D再生モードの再生装置102を誤動作させる危険性はないので、3Dプレイリスト・ファイルをそのまま、2Dプレイリスト・ファイルとして利用することができる。その結果、BD−ROMディスクのオーサリングが簡単化される。
(1−O)図47に示されているインデックス・ファイル1211は、タイトル全体で共通する3D存在フラグ4720と2D/3Dお好みフラグ4730とを含む。その他に、インデックス・ファイルが、タイトル別に異なる3D存在フラグ又は2D/3Dお好みフラグを設定していてもよい。
(1−P)3D再生装置では、SPRM(13)にパレンタル・レベルが設定されているのに加えて、SPRM(30)に3Dパレンタル・レベルが設定されていてもよい。3Dパレンタル・レベルは、3D再生装置を利用する視聴者のうち、3D映像の視聴が許可される者の年齢の下限を示し、BD−ROMディスク101に記録された3D映像タイトルの視聴に対するパレンタル制御に利用される。SPRM(13)の値と同様、SPRM(30)の値は3D再生装置のユーザによって3D再生装置のOSD等を利用して設定される。3D再生装置は各3D映像タイトルに対するパレンタル制御を例えば次のように行う。3D再生装置はまず、2D映像の視聴に対する制限年齢をBD−ROMディスク101から読み出してSPRM(13)の値と比較する。その制限年齢は、そのタイトルを2D再生モードで視聴することが許可された視聴者の年齢の下限を表す。その制限年齢がSPRM(13)の値を超えていれば、3D再生装置はそのタイトルの再生を停止する。その下限がSPRM(13)の値以下であれば、3D再生装置は続いて、3D映像の視聴に対する制限年齢をBD−ROMディスク101から読み出してSPRM(30)の値と比較する。その制限年齢は、そのタイトルを3D再生モードで視聴することが許可された視聴者の年齢の下限を表す。その制限年齢がSPRM(30)の値以下であれば、3D再生装置はそのタイトルを3D再生モードで再生する。その制限年齢がSPRM(30)の値を超えていれば、3D再生装置はそのタイトルを2D再生モードで再生する。こうして、年齢による瞳孔間距離の相違を考慮して、「一定の年齢未満の子供には3D映像を2D映像としてしか見せない」等のパレンタル制御を実現することができる。このパレンタル制御は、好ましくは、図46に示されている再生対象のプレイリスト・ファイルを選択する処理において「表示装置が3D映像に対応している」と判定されたときに、すなわち、ステップS4805において「Yes」と判定されたときに行われる。尚、SPRM(30)には、制限年齢に代えて、3D再生モードの許可/禁止を示す値が設定され、3D再生装置はその値に従って3D再生モードの有効/無効を判断してもよい。
(1−Q)3D再生装置では、「2D再生モードと3D再生モードとのいずれが優先されるべきか」を示す値がSPRM(31)に設定されていてもよい。SPRM(31)の値は、3D再生装置のユーザによって3D再生装置のOSD等を利用して設定される。3D再生装置は、図48に示されているプレイリスト・ファイルの選択処理のうち、ステップS4803で2D/3Dお好みフラグと共にSPRM(31)を参照する。それらがいずれも2D再生モードを示しているときは、3D再生装置は2D再生モードを選択する。2D/3Dお好みフラグとSPRM(31)とがいずれも3D再生モードを示しているときは、3D再生装置は、再生モードの選択画面を表示することなく、ステップS4805、すなわちHDCP認証を行う。その結果、表示装置が3D映像の再生に対応可能であれば、3D再生装置は3D再生モードを選択する。2D/3Dお好みフラグとSPRM(31)とが異なる再生モードを示しているときは、3D再生装置はステップS4804を実行し、すなわち再生モードの選択画面を表示してユーザに再生モードを選択させる。その他に、アプリケーション・プログラムに再生モードを選択させてもよい。こうして、3D映像コンテンツに2D/3Dお好みフラグが設定されていても、その値の示す再生モードが、SPRM(31)の示す再生モード、すなわち、ユーザが予め設定した再生モードと一致しないときにのみ、ユーザに改めて再生モードを選択させるようにすることができる。
BD−Jオブジェクト等のアプリケーション・プログラムは、SPRM(31)を参照して再生モードを選択してもよい。更に、ステップS4804においてユーザに再生モードを選択させる際、選択画面に表示されるメニューの初期状態が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お好みフラグの値にかかわらず、再生モードの選択画面を表示することなくHDCP認証を行う。その場合、SPRM(25)の値は3D再生モード(L/Rモード又はデプス・モード)を示すように設定される。こうして、3D映像コンテンツに2D/3Dお好みフラグが設定されていても、ユーザの予め設定した再生モードが常に優先されるようにすることができる。
《実施形態2》
以下、本発明の実施形態2として、本発明の実施形態1による記録媒体の記録装置及び記録方法について説明する。その記録装置は、いわゆるオーサリング装置と呼ばれるものである。オーサリング装置は通常、頒布用の映画コンテンツの制作スタジオに設置され、オーサリング・スタッフによって使用される。記録装置はオーサリング・スタッフの操作に従い、まず映画コンテンツを所定の圧縮符号化方式でAVストリーム・ファイルに変換する。記録装置は次にシナリオを生成する。「シナリオ」は、映画コンテンツに含まれる各タイトルの再生方法を規定した情報であり、具体的には、動的シナリオ情報と静的シナリオ情報とを含む。記録装置は続いて、AVストリーム・ファイル及びシナリオからBD−ROMディスク用のボリューム・イメージを生成する。記録装置は最後に、そのボリューム・イメージを記録媒体に記録する。
図75は、その記録装置7500の機能ブロック図である。図75を参照するに、その記録装置7500は、データベース部7501、ビデオ・エンコーダ7502、素材制作部7503、シナリオ生成部7504、BDプログラム制作部7505、多重化処理部7506、及びフォーマット処理部7507を含む。
データベース部7501は記録装置に内蔵の不揮発性記憶装置であり、特にHDDである。データベース部7501はその他に、記録装置に外付けされたHDDであってもよく、記録装置に内蔵の、又は外付けされた不揮発性半導体メモリ装置であってもよい。
ビデオ・エンコーダ7502は、非圧縮のビットマップ・データ等の映像データをオーサリング・スタッフから受け付けて、MPEG−4 AVC、MVC、又はMPEG−2等の圧縮符号化方式で圧縮する。それにより、主映像のデータはプライマリ・ビデオ・ストリームに変換され、副映像のデータはセカンダリ・ビデオ・ストリームに変換される。特に3D映像のデータは、MVC等の多視点符号化方式を利用して、図17に示されているようなベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとの対に変換される。すなわち、レフトビューを表すビデオ・フレームの列は、それ自身のピクチャ間での予測符号化によって、ベースビュー・ビデオ・ストリームに変換される。一方、ライトビューを表すビデオ・フレームの列は、それ自身のピクチャだけでなく、ベースビュー・ピクチャとの間の予測符号化によって、ディペンデントビュー・ビデオ・ストリームに変換される。尚、ライトビューを表すビデオ・フレームの列がベースビュー・ビデオ・ストリームに変換され、レフトビューを表すビデオ・フレームの列がディペンデントビュー・ビデオ・ストリームに変換されてもよい。変換後の各ビデオ・ストリーム7512はデータベース部7501に保存される。
ビデオ・エンコーダ7502は、ピクチャ間予測符号化の処理過程でレフトビューとライトビューとの間での各映像の動きベクトルを検出し、それらから各3D映像の奥行き情報を算出する。図76の(a)、(b)は、3D映像の一シーンの表示に利用されるレフトビュー・ピクチャとライトビュー・ピクチャとを表す模式図であり、(c)は、ビデオ・エンコーダ7502によってそれらのピクチャから算出された奥行き情報を示す模式図である。
ビデオ・エンコーダ7502はレフトビューとライトビューとの各ピクチャの圧縮に、それらのピクチャ間の冗長性を利用する。すなわち、ビデオ・エンコーダ7502は圧縮前の両ピクチャを8×8又は16×16の画素マトリクスごとに、すなわちマクロブロックごとに比較して、両ピクチャ間での各映像の動きベクトルを検出する。具体的には、図76の(a)、(b)に示されているように、まず、レフトビュー・ピクチャ7601とライトビュー・ピクチャ7602とはそれぞれ、マクロブロック7603のマトリクスに分割される。次に、両ピクチャ7601、7602間でイメージ・データがマクロブロック7603ごとに比較され、その結果から各映像の動きベクトルが検出される。例えば、「家」の映像7604を表す領域は両ピクチャ7601、7602間で実質的に等しい。従って、それらの領域からは動きベクトルが検出されない。一方、「球」の映像7605を表す領域は両ピクチャ7601、7602間で異なるので、それらの領域からはその映像7605の動きベクトルが検出される。
ビデオ・エンコーダ7502は、検出された動きベクトルを各ピクチャ7601、7602の圧縮に利用する。一方、ビデオ・エンコーダ7502はその動きベクトルを、「家」の映像7604及び「球」の映像7605等、各映像の両眼視差の計算に利用する。ビデオ・エンコーダ7502は更に、各映像の両眼視差からその映像の奥行きを算出する。その奥行きを表す情報は、図76の(c)に示されているように、各ピクチャ7601、7602のマクロブロックのマトリクスと同じサイズのマトリクス7606に整理される。このマトリクス7606内のブロック7607は、各ピクチャ7601、7602内のマクロブロック7603と一対一に対応する。各ブロック7607は、対応するマクロブロック7603の表す映像の奥行きを、例えば8ビットの深度で表す。図76に示されている例では、「球」の映像7605の奥行きがマトリクス7606の領域7608内の各ブロックに記録される。その領域7608は、その映像7605を表す各ピクチャ7601、7602内の領域の全体に対応する。
ビデオ・エンコーダ7502はその他に、2D映像のデータからセカンダリ・ビデオ・ストリームを符号化する際に、オーサリング・スタッフの操作に従って、副映像プレーンに対するオフセット情報7510を作成してもよい。作成されたオフセット情報7510はデータベース部7501に保存される。
素材制作部7503は、ビデオ・ストリーム以外のエレメンタリ・ストリーム、例えば、オーディオ・ストリーム7513、PGストリーム7514、及びIGストリーム7515を作成してデータベース部7501に保存する。例えば、素材制作部7503はオーサリング・スタッフから非圧縮のLPCM音声データを受け付けて、それをAC−3等の圧縮符号化方式で符号化してオーディオ・ストリーム7513に変換する。素材制作部7503はその他に、オーサリング・スタッフから字幕情報ファイルを受け付けて、それに従ってPGストリーム7514を作成する。字幕情報ファイルは、字幕を表すイメージ・データ又はテキスト・データ、その字幕の表示時期、及び、その字幕に加えられるべきフェード・イン/アウト等の視覚効果を規定する。素材制作部7503は更に、オーサリング・スタッフからビットマップ・データとメニュー・ファイルとを受け付けて、それらに従ってIGストリーム7515を作成する。ビットマップ・データはメニューのイメージを表す。メニュー・ファイルは、そのメニューに配置される各ボタンの状態の遷移、及び各ボタンに加えられるべき視覚効果を規定する。
素材制作部7503は更に、オーサリング・スタッフの操作に従い、PGストリーム7514とIGストリーム7515とのそれぞれに対するオフセット情報7510を作成する。その場合、素材制作部7503は、ビデオ・エンコーダ7502によって生成された奥行き情報DPIを利用して、3Dグラフィックス映像の奥行きを3D映像の奥行きに合わせてもよい。その場合、3D映像の奥行きがフレームごとに激しく変化するときには、素材制作部7503は、奥行き情報DPIを利用して作成されたオフセット値の列を更にローパスフィルタで処理して、フレームごとの変化を低減させてもよい。こうして、作成されたオフセット情報7510はデータベース部7501に保存される。
シナリオ生成部7504は、オーサリング・スタッフからGUI経由で受け付けられた指示に従ってBD−ROMシナリオ・データ7517を作成し、データベース部7501に保存する。BD−ROMシナリオ・データ7517は、データベース部7501に保存された各エレメンタリ・ストリーム7512−7516の再生方法を規定する。BD−ROMシナリオ・データ7517は、図12に示されているファイル群のうち、インデックス・ファイル1211、ムービーオブジェクト・ファイル1212、及びプレイリスト・ファイル1221−1223を含む。シナリオ生成部7504は更に、パラメータ・ファイルPRFを作成して多重化処理部7506へ送出する。パラメータ・ファイルPRFは、データベース部7501に保存されたエレメンタリ・ストリーム7512−7515の中から、メインTSとサブTSとのそれぞれに多重化されるべきストリーム・データを規定する。シナリオ生成部7504はその他に、各ビデオ・ストリーム7512について、GOP単位又はPI単位で再生ステータスを設定してもよい。それらの再生ステータスに関する情報は、3Dプレイリスト・ファイルの中に格納された状態で、又は直接、データベース部7501に保存される。
BDプログラム制作部7505はオーサリング・スタッフに対して、BD−Jオブジェクト及びJavaアプリケーション・プログラムのプログラミング環境を提供する。BDプログラム制作部7505はGUIを通じてユーザからの要求を受け付け、その要求に従って各プログラムのソースコードを作成する。BDプログラム制作部7505は更に、BD−JオブジェクトからBD−Jオブジェクト・ファイル1251を作成し、Javaアプリケーション・プログラムをJARファイル1261に圧縮する。それらのプログラム・ファイル群BDPはフォーマット処理部7507へ送出される。
ここで、BD−Jオブジェクトが次のようにプログラミングされる場合を想定する:BD−Jオブジェクトは、図56に示されているプログラム実行部5634にGUI用のグラフィックス・データをシステム・ターゲット・デコーダ5623へ送出させる。BD−Jオブジェクトは更に、システム・ターゲット・デコーダ5623にそのグラフィックス・データをイメージ・プレーン・データとして処理させ、プレーン加算部5624にイメージ・プレーン・データを1プレーン+オフセット・モードで送出させる。その場合、BDプログラム制作部7505は、イメージ・プレーンに対するオフセット情報7510を作成してデータベース部7501に保存する。BDプログラム制作部7505はそのオフセット情報7510の作成に、ビデオ・エンコーダ7502によって生成された奥行き情報DPIを利用してもよい。
多重化処理部7506はパラメータ・ファイルPRFに従い、データベース部7501に保存されている各エレメンタリ・ストリーム7512−7515をMPEG2−TS形式のストリーム・ファイルに多重化する。具体的には、図14に示されているように、まず、各エレメンタリ・ストリーム7512−7515が一つのソースパケット列に変換され、次に、各列のソースパケットが一本の多重化ストリーム・データにまとめられる。こうして、メインTSとサブTSとが作成される。それらの多重化ストリーム・データMSDはフォーマット処理部7507へ送出される。
多重化処理部7506は更に、データベース部7501に保存されているオフセット情報7510に基づいてオフセット・メタデータを作成する。図21に示されているように、作成されたオフセット・メタデータ2110は、ディペンデントビュー・ビデオ・ストリームに含まれる各ビデオ・シーケンスの先頭のVAUに補足データ2101として格納される。また、多重化処理部7506は各グラフィックス・データを加工して、左右の各映像フレーム内でのグラフィックス部品の配置を調整してもよい。それにより、各グラフィックス・プレーンの表す3Dグラフィックス映像が、他のグラフィックス・プレーンの表す3Dグラフィックス映像と同じ視方向に重なって表示されることを、多重化処理部7506は防止できる。多重化処理部7506はその他に、各グラフィックス・プレーンに対するオフセット値を調整して、各3Dグラフィックス映像が異なる奥行きに表示されるようにできる。再生ステータスに関する情報がデータベース部7501に保存されている場合、多重化処理部7506はその情報を、図21に示されているオフセット・メタデータと同様に、ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとのそれぞれに含まれる各VAU内の補足データに格納してもよい。
多重化処理部7506はその上、2Dクリップ情報ファイルとディペンデントビュー・クリップ情報ファイルとを、以下の手順(I)−(IV)で作成する:(I)ファイル2DとファイルDEPとのそれぞれについて、図35に示されているエントリ・マップ3430を生成する。(II)各ファイルのエントリ・マップを利用して、図36の(a)、(b)に示されているエクステント起点3442、3620を作成する。そのとき、隣接するデータ・ブロック間でエクステントATC時間を揃える。更に、2Dエクステント、ベースビュー・エクステント、及びディペンデントビュー・エクステントの各サイズが条件1、2等を満たすようにエクステントの配置を設計する。(III)メインTSとサブTSとのそれぞれに多重化されるべきエレメンタリ・ストリームから、図34に示されているストリーム属性情報3420を抽出する。(IV)図34に示されているように、エントリ・マップ3430、3Dメタデータ3440、及びストリーム属性情報3420の組み合わせをクリップ情報3410に対応付ける。こうして、各クリップ情報ファイルCLIが作成され、フォーマット処理部7507へ送出される。
フォーマット処理部7507は、データベース部7501に保存されたBD−ROMシナリオ・データ7517、BDプログラム制作部7505によって制作されたBD−Jオブジェクト・ファイル等のプログラム・ファイル群BDP、及び、多重化処理部7506によって生成された多重化ストリーム・データMSDとクリップ情報ファイルCLIとから、図12に示されているディレクトリ構造のBD−ROMディスク・イメージ7520を作成する。そのディレクトリ構造ではファイルシステムとしてUDFが利用される。
フォーマット処理部7507は、ファイル2D、ファイルDEP、及びファイルSSの各ファイル・エントリを作成するとき、2Dクリップ情報ファイルとディペンデントビュー・クリップ情報ファイルとのそれぞれに含まれるエントリ・マップと3Dメタデータとを参照する。それにより、エントリ・ポイントとエクステント起点との各SPNがアロケーション記述子の作成に利用される。特に、図25に示されているようなデータ・ブロックのインターリーブ配置が表現されるように、各アロケーション記述子の表すべきLBNの値とエクステントのサイズとが決定される。その結果、各ベースビュー・データ・ブロックはファイルSSとファイル2Dとに共有され、各ディペンデントビュー・データ・ブロックはファイルSSとファイルDEPとに共有される。
<BD−ROMディスク・イメージの記録方法>
図77は、図75に示されている記録装置7500を利用してBD−ROMディスクへ映画コンテンツを記録する方法のフローチャートである。この方法は、例えば記録装置7500の電源投入によって開始される。
ステップS7701では、BD−ROMディスクへ記録されるべきエレメンタリ・ストリーム、プログラム、及びシナリオ・データが作成される。すなわち、ビデオ・エンコーダ7502はビデオ・ストリーム7512を作成する。素材制作部7503は、オーディオ・ストリーム7513、PGストリーム7514、及びIGストリーム7515を作成する。シナリオ生成部7504はBD−ROMシナリオ・データ7517を作成する。作成されたそれらのデータ7512−7517はデータベース部7501に保存される。一方、ビデオ・エンコーダ7502と素材制作部7503とはそれぞれ、オフセット情報7510を作成してデータベース部7501に保存する。シナリオ生成部7504はパラメータ・ファイルPRFを作成して多重化処理部7506へ送出する。BDプログラム制作部7505は、BD−Jオブジェクト・ファイルとJARファイルとを含むプログラム・ファイル群BDPを作成してフォーマット処理部7507へ送出し、オフセット情報7510を作成してデータベース部7501に保存する。その後、処理はステップS7702へ進む。
ステップS7702では、多重化処理部7506は、データベース部7501に保存されたオフセット情報7510に基づいてオフセット・メタデータを作成する。作成されたオフセット・メタデータは、ディペンデントビュー・ビデオ・ストリーム内に補足データ2101として格納される。その後、処理はステップS7703へ進む。
ステップS7703では、多重化処理部7506はパラメータ・ファイルPRFに従い、データベース部7501から各エレメンタリ・ストリーム7512−7515を読み出してMPEG2−TS形式のストリーム・ファイルに多重化する。その後、処理はステップS7704へ進む。
ステップS7704では、多重化処理部7506は2Dクリップ情報ファイルとディペンデントビュー・クリップ情報ファイルとを作成する。特に、エントリ・マップとエクステント起点との作成では、エクステント・ペア間でエクステントATC時間が揃えられる。更に、2Dエクステント、ベースビュー・エクステント、及びディペンデントビュー・エクステントのサイズが条件1、2等を満たすように設計される。その後、処理はステップS7705へ進む。
ステップS7705では、フォーマット処理部7507は、BD−ROMシナリオ・データ7517、プログラム・ファイル群BDP、多重化ストリーム・データMDS、及びクリップ情報ファイルCLIからBD−ROMディスク・イメージ7520を作成する。その後、処理はステップS7706へ進む。
ステップS7706では、BD−ROMディスク・イメージ7520がBD−ROMプレス用データに変換される。更に、このデータはBD−ROMディスクの原盤に記録される。その後、処理はステップS7707へ進む。
ステップS7707では、ステップS7706で得られた原盤をプレス工程に利用してBD−ROMディスク101の大量生産を行う。こうして、処理が終了する。
《補足》
<3D映像の再生方法の原理>
3D映像の再生方法は、ホログラフィ技術を用いる方法と、視差映像を用いる方法との二つに大別される。
ホログラフィ技術を用いる方法の特徴は、現実の立体的な物体から人間の視覚に与えられる光学的な情報とほぼ全く同じ情報を視聴者の視覚に与えることにより、その視聴者に映像中の物体を立体的に見せる点にある。しかし、この方法を動画表示に利用する技術は理論上確立されてはいる。しかし、その動画表示に必要とされる、膨大な演算をリアルタイムに処理可能なコンピュータ、及び、1mmあたり数千本という超高解像度の表示装置はいずれも、現在の技術ではまだ、実現が非常に難しい。従って、この方法を商業用として実用化する目途は、現時点ではほとんど立っていない。
「視差映像」とは、一つのシーンを見る視聴者の各目に映る2D映像の対、すなわち、レフトビューとライトビューとの対をいう。視差映像を用いる方法の特徴は、一つのシーンのレフトビューとライトビューとを視聴者の各目だけに見えるように再生することにより、その視聴者にそのシーンを立体的に見せる点にある。
図78の(a)−(c)は、視差映像を用いる方法による3D映像(立体視映像)の再生原理を説明するための模式図である。図78の(a)は、視聴者VWRが、顔の正面に置かれた立方体CBCを見ている光景の上面図である。図78の(b)、(c)はそれぞれ、そのときに視聴者VWRの左目LEY、右目REYに見える立方体CBCの外観を2D映像として示す模式図である。図78の(b)、(c)を比較すれば明らかなとおり、各目に見える立方体CBCの外観はわずかに異なる。この外観の差、すなわち両眼視差から、視聴者VWRは立方体CBCを立体的に認識できる。従って、視差映像を用いる方法では、まず、一つのシーン、例えば図78の(a)に示されている立方体CBCに対し、視点が異なる左右の2D映像、例えば図78の(b)に示されている立方体CBCのレフトビュー、及び図78の(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映像を再現する。
図79は、2D映像MVWとデプスマップDPHとの組み合わせからレフトビューLVWとライトビューRVWとを構成する例を示す模式図である。図79を参照するに、2D映像MVWでは、背景BGVの中に円板DSCが表示されている。デプスマップDPHはその2D映像MVW内の各部の奥行きを画素ごとに示す。そのデプスマップDPHによれば、2D映像MVWのうち、円板DSCの表示領域DA1の奥行きが画面よりも手前であり、かつ、背景BGVの表示領域DA2の奥行きが画面よりも奥である。再生装置内では視差映像生成部PDGがまず、デプスマップDPHの示す各部の奥行きから2D映像MVW内の各部の両眼視差を計算する。視差映像生成部PDGは次に、2D映像MVW内の各部の表示位置を、計算された両眼視差に応じて左右に移動させて、レフトビューLVWとライトビューRVWとを構成する。図79に示されている例では、視差映像生成部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が利用されるとき、図12に示されているボリューム領域1202Bは、一般に複数のディレクトリ、ファイルセット記述子、及び終端記述子のそれぞれが記録された領域を含む。「ディレクトリ」は、同じディレクトリを構成するデータ群である。「ファイルセット記述子」は、ルートディレクトリのファイル・エントリが記録されているセクタのLBNを示す。「終端記述子」はファイルセット記述子の記録領域の終端を示す。
各ディレクトリは共通のデータ構造を持つ。各ディレクトリは特に、ファイル・エントリ、ディレクトリ・ファイル、及び下位ファイル群を含む。
「ファイル・エントリ」は、記述子タグ、ICB(Information Control Block)タグ、及びアロケーション記述子を含む。「記述子タグ」は、その記述子タグを含むデータの種類がファイル・エントリであることを示す。例えば記述子タグの値が“261”であるとき、そのデータの種類はファイル・エントリである。「ICBタグ」はそのファイル・エントリ自身の属性情報を示す。「アロケーション記述子」は、同じディレクトリに属するディレクトリ・ファイルが記録されたセクタのLBNを示す。
「ディレクトリ・ファイル」は、下位ディレクトリのファイル識別記述子と下位ファイルのファイル識別記述子とを一般に複数ずつ含む。「下位ディレクトリのファイル識別記述子」は、そのディレクトリの直下に置かれた下位ディレクトリにアクセスするための情報である。このファイル識別記述子は、その下位ディレクトリの識別情報、ディレクトリ名の長さ、ファイル・エントリ・アドレス、及びディレクトリ名そのものを含む。特にファイル・エントリ・アドレスは、その下位ディレクトリのファイル・エントリが記録されたセクタのLBNを示す。「下位ファイルのファイル識別記述子」は、そのディレクトリの直下に置かれた下位ファイルにアクセスするための情報である。このファイル識別記述子は、その下位ファイルの識別情報、ファイル名の長さ、ファイル・エントリ・アドレス、及びファイル名そのものを含む。特にファイル・エントリ・アドレスは、その下位ファイルのファイル・エントリが記録されたセクタのLBNを示す。「下位ファイルのファイル・エントリ」は、後述のとおり、下位ファイルの本体を構成するデータのアドレス情報を含む。
ファイルセット記述子と下位ディレクトリ/ファイルのファイル識別記述子とを順番に辿ってゆけば、ボリューム領域1002Bに記録された任意のディレクトリ/ファイルのファイル・エントリにアクセスすることができる。具体的には、まず、ファイルセット記述子からルートディレクトリのファイル・エントリが特定され、そのファイル・エントリ内のアロケーション記述子からルートディレクトリのディレクトリ・ファイルが特定される。次に、そのディレクトリ・ファイルからルートディレクトリ直下のディレクトリのファイル識別記述子が検出され、その中のファイル・エントリ・アドレスからそのディレクトリのファイル・エントリが特定される。更に、そのファイル・エントリ内のアロケーション記述子からそのディレクトリのディレクトリ・ファイルが特定される。続いて、そのディレクトリ・ファイルのうち、下位ディレクトリ又は下位ファイルのファイル識別記述子内のファイル・エントリ・アドレスからその下位ディレクトリ又は下位ファイルのファイル・エントリが特定される。
「下位ファイル」はそれぞれエクステントとファイル・エントリとを含む。「エクステント」は一般に複数であり、それぞれ、ディスク上の論理アドレス、すなわちLBNが連続しているデータ列である。エクステントの全体が下位ファイルの本体を構成する。「ファイル・エントリ」は、記述子タグ、ICBタグ、及びアロケーション記述子を含む。「記述子タグ」は、その記述子タグを含むデータの種類がファイル・エントリであることを示す。「ICBタグ」はそのファイル・エントリ自身の属性情報を示す。「アロケーション記述子」は各エクステントに対して一つずつ設けられ、ボリューム領域1202B上での各エクステントの配置、具体的には各エクステントのサイズとその先端のLBNとを示す。従って、各アロケーション記述子を参照することにより、各エクステントにアクセスすることができる。その他に、各アロケーション記述子の上位2ビットは、そのアロケーション記述子の示すLBNのセクタにエクステントが実際に記録されているか否かを示す。すなわち、その上位2ビットが“0”であるとき、そのセクタにはエクステントが割り付け済みであり、かつ記録済みであることを示し、“1”であるとき、そのセクタにエクステントが割り付け済みではあるが未記録であることを示す。
UDFを利用した上記のファイルシステムと同様、ボリューム領域に対するファイルシステムでは一般に、ボリューム領域に記録された各ファイルが複数のエクステントに分割されているとき、上記のアロケーション記述子のように、各エクステントの配置を示す情報がボリューム領域に併せて記録される。その情報を参照することにより、各エクステントの配置、特にその論理アドレスを知ることができる。
<復号スイッチ情報>
図80の(a)は、復号スイッチ情報A050のデータ構造を示す模式図である。復号スイッチ情報A050は、図18に示されているベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとの各VAUでその補足データ1831D、1832Dに格納されている。但し、ディペンデントビュー・ビデオ・ストリームの各GOPの先頭に位置するVAU#1では、復号スイッチ情報A050は、オフセット・メタデータを含む補足データ1832Dとは別の補足データに格納される。補足データ1831D、1832Dは、特にMPEG−4 AVC、MVCではNALユニットの一種“SEI”に相当する。復号スイッチ情報A050は、再生装置102内のデコーダに、次に復号すべきVAUを容易に特定させるための情報である。ここで、そのデコーダは後述のように、ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとをVAU単位で交互に復号する。そのとき、そのデコーダは一般に、各VAUに付与されたDTSの示す時刻に合わせて、次に復号すべきVAUを特定する。しかし、デコーダの種類には、DTSを無視してVAUを順次、復号し続けるものも多い。そのようなデコーダにとって、各VAUがDTSに加えて復号スイッチ情報A050を含むことは好ましい。
図80の(a)を参照するに、復号スイッチ情報A050は、次アクセスユニット・タイプA051、次アクセスユニット・サイズA052、及び復号カウンタA053を含む。次アクセスユニット・タイプA051は、次に復号されるべきVAUがベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとのいずれに属するのかを示す。例えば、次アクセスユニット・タイプA051の値が“1”であるときは、次に復号されるべきVAUはベースビュー・ビデオ・ストリームに属し、“2”であるときはディペンデントビュー・ビデオ・ストリームに属する。次アクセスユニット・タイプA051の値が“0”であるときは、現在のVAUが復号対象のストリームの後端に位置し、次に復号されるべきVAUが存在しない。次アクセスユニット・サイズA052は、次に復号されるべきVAUのサイズを示す。再生装置102内のデコーダは、次アクセスユニット・サイズA052を参照することにより、VAUの構造自体を解析することなく、そのサイズを特定できる。従って、デコーダはバッファからVAUを容易に抽出できる。復号カウンタA053は、それの属するVAUが復号されるべき順番を示す。その順番は、ベースビュー・ビデオ・ストリーム内のIピクチャを含むVAUから数えられる。
図80の(b)は、ベースビュー・ビデオ・ストリームA001とディペンデントビュー・ビデオ・ストリームA002との各ピクチャに割り当てられた復号カウンタの一例A010、A020を示す模式図である。図80の(b)を参照するに、復号カウンタA010、A020は両ビデオ・ストリームA001、A002の間で交互にインクリメントされる。例えば、ベースビュー・ビデオ・ストリームA001内のIピクチャを含むVAUA011に対し、復号カウンタA010として“1”が割り当てられる。次に復号されるべきディペンデントビュー・ビデオ・ストリームA002内のPピクチャを含むVAUA021に対し、復号カウンタA020として“2”が割り当てられる。更にその次に復号されるべきベースビュー・ビデオ・ストリームA001内のPピクチャを含むVAUA012に対し、復号カウンタA010として“3”が割り当てられる。その割り当てにより、何らかの不具合が原因で再生装置102内のデコーダがいずれかのVAUを読み損なったときでも、それによって欠落したピクチャをデコーダは復号カウンタA010、A020から直ちに特定できる。従って、デコーダはエラー処理を適切に、かつ迅速に実行できる。
図80の(b)に示されている例では、ベースビュー・ビデオ・ストリームA001の3番目のVAUA013の読み込みにエラーが生じ、Brピクチャが欠落している。しかし、デコーダは、ディペンデントビュー・ビデオ・ストリームA002の2番目のVAUA022に含まれるPピクチャの復号処理で、そのVAUA022から復号カウンタA020を読み出して保持している。従って、デコーダは次に処理すべきVAUの復号カウンタA010を予測できる。具体的には、そのPピクチャを含むVAUA022内の復号カウンタA020は“4”であるので、次に読み込まれるべきVAUの復号カウンタA010は“5”であると予測される。しかし、実際には、次に読み込まれたVAUはベースビュー・ビデオ・ストリームA001の4番目のVAUA014であったので、その復号カウンタA010は“7”である。そのことから、デコーダは、VAUを一つ読み損ねたことを検出できる。従って、デコーダは次のエラー処理を実行できる:「ディペンデントビュー・ビデオ・ストリームA002の3番目のVAUA023から抽出されたBピクチャについては、参照すべきBrピクチャが欠落しているので復号処理をスキップする」。このように、デコーダは復号処理ごとに復号カウンタA010、A020をチェックする。それにより、デコーダはVAUの読み込みエラーを迅速に検出でき、かつ適切なエラー処理を迅速に実行できる。その結果、再生映像へのノイズの混入を防止することができる。
図80の(c)は、ベースビュー・ビデオ・ストリームA001とディペンデントビュー・ビデオ・ストリームA002との各ピクチャに割り当てられた復号カウンタの別例A030、A040を示す模式図である。図80の(c)を参照するに、復号カウンタA030、A040は各ビデオ・ストリームA001、A002で別々にインクリメントされる。従って、復号カウンタA030、A040は、同じ3D・VAUに属する一対のピクチャ間で等しい。その場合、デコーダはベースビュー・ビデオ・ストリームA001のVAUを一つ復号した時点では次のように予測できる:「その復号カウンタA030が、次に復号されるべきディペンデントビュー・ビデオ・ストリームA002のVAUの復号カウンタA040に等しい」。一方、デコーダはディペンデントビュー・ビデオ・ストリームA002のVAUを一つ復号した時点では次のように予測できる:「その復号カウンタA040に1を加えた値が、次に復号されるべきベースビュー・ビデオ・ストリームA001のVAUの復号カウンタA030に等しい」。従って、デコーダはいずれの時点でも復号カウンタA030、A040からVAUの読み込みエラーを迅速に検出でき、かつ適切なエラー処理を迅速に実行できる。その結果、再生映像へのノイズの混入を防止することができる。
図60に示されているシステム・ターゲット・デコーダ5623では、DEC6004が、復号スイッチ情報A050を利用して、各VAUからピクチャをそのDTSに関わらず、順次復号してもよい。その他に、バッファ・スイッチ6006が、そのVAU内の復号スイッチ情報A050をDEC6004に返信させてもよい。その場合、バッファ・スイッチ6006はその復号スイッチ情報A050を使って、次のVAUをEB16003とEB26010とのいずれから転送すべきか決定できる。
<放送、通信回路を経由したデータ配信>
本発明の実施形態1による記録媒体は、光ディスクの他、例えばSDメモリカードを含む可搬性半導体メモリ装置等、パッケージメディアとして利用可能なリムーバブルメディア全般を含む。また、実施形態1の説明では、予めデータが記録された光ディスク、すなわち、BD−ROM又はDVD−ROM等の既存の読み出し専用の光ディスクが例に挙げられている。しかし、本発明の実施形態はそれらに限定されない。例えば放送で、又はネットワーク経由で配信された3D映像のコンテンツを端末装置によって、BD−RE又はDVD−RAM等の既存の書き込み可能な光ディスクへ書き込むときに、実施形態1によるエクステントの配置が利用されてもよい。ここで、その端末装置は、再生装置に組み込まれていても、再生装置とは別の装置であってもよい。
<半導体メモリカードの再生>
本発明の実施形態1による記録媒体として、光ディスクに代えて半導体メモリカードを用いたときにおける、再生装置のデータ読み出し部について説明する。
再生装置のうち、光ディスクからデータを読み出す部分は、例えば光ディスクドライブによって構成される。それに対し、半導体メモリカードからデータを読み出す部分は、専用のインタフェース(I/F)で構成される。より詳細には、再生装置にカードスロットが設けられ、その内部に上記のI/Fが実装される。そのカードスロットに半導体メモリカードが挿入されるとき、そのI/Fを通してその半導体メモリカードが再生装置と電気的に接続される。更に、半導体メモリカードからデータがそのI/Fを通して再生装置に読み出される。
<BD−ROMディスク上のデータに対する著作権保護技術>
ここで、以降の補足事項の前提として、BD−ROMディスクに記録されているデータの著作権を保護するための仕組みについて説明する。
BD−ROMディスクに記録されたデータの一部が、例えば著作権の保護又はデータの秘匿性の向上の観点から暗号化されている場合がある。その暗号化データは例えば、ビデオ・ストリーム、オーディオ・ストリーム、又はその他のストリームを含む。その場合、暗号化データは以下のように解読される。
再生装置には予め、BD−ROMディスク上の暗号化データを解読するための「鍵」の生成に必要なデータの一部、すなわちデバイスキーが記憶されている。一方、BD−ROMディスクには、その「鍵」の生成に必要なデータの別の一部、すなわちMKB(メディアキーブロック)と、その「鍵」自体の暗号化データ、すなわち暗号化タイトルキーとが記録されている。デバイスキー、MKB、及び暗号化タイトルキーは互いに対応付けられ、更に、図12に示されているBD−ROMディスク101上のBCA1201に書き込まれた特定の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カード等の可搬性半導体メモリカードにも適用可能である。
<電子配信を利用した記録媒体へのデータ記録>
電子配信を利用して本発明の実施形態1による再生装置へ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の記録領域に記録されればよく、その配信データへのアクセスは半導体メモリカード内の制御回路によって制御されなくてもよい。
<リアルタイム・レコーディングへの適用>
本発明の実施形態2では、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ストリーム・ファイル、クリップ情報ファイル、及びプレイリスト・ファイルが生成されねばならない。
<データ構造の記述方法>
本発明の実施形態1によるデータ構造のうち、「所定型の情報が複数存在する」という繰り返し構造は、for文に制御変数の初期値と繰り返し条件とを記述することによって定義される。また、「所定の条件が成立するときに所定の情報が定義される」というデータ構造は、if文にその条件と、その条件の成立時に設定されるべき変数とを記述することによって定義される。このように、実施形態1によるデータ構造は高級プログラミング言語によって記述される。従って、そのデータ構造は、「構文解析」、「最適化」、「資源割付」、及び「コード生成」といったコンパイラによる翻訳過程を経て、コンピュータによって読み取り可能なコードに変換され、記録媒体に記録される。高級プログラミング言語での記述により、そのデータ構造は、オブジェクト指向言語におけるクラス構造体のメソッド以外の部分、具体的には、そのクラス構造体における配列型のメンバー変数として扱われ、プログラムの一部を成す。すなわち、そのデータ構造は、プログラムと実質的に同等である。従って、そのデータ構造はコンピュータ関連の発明として保護を受けるべきである。
<再生プログラムによるプレイリスト・ファイル、クリップ情報ファイルの管理>
プレイリスト・ファイルとAVストリーム・ファイルとが記録媒体に記録されるとき、その記録媒体には再生プログラムが実行形式のファイルとして記録される。再生プログラムはコンピュータに、プレイリスト・ファイルに従ってAVストリーム・ファイルを再生させる。再生プログラムは記録媒体からコンピュータ内のメモリ装置にロードされた後、そのコンピュータによって実行される。そのロード処理はコンパイル処理又はリンク処理を含む。それらの処理により、再生プログラムはメモリ装置内では複数のセクションに分割される。それらのセクションは、textセクション、dataセクション、bssセクション、及びstackセクションを含む。textセクションは、再生プログラムのコード列、変数の初期値、及び書き換え不可のデータを含む。dataセクションは、初期値を持つ変数、及び書き換え可能なデータを含む。dataセクションは特に、記録媒体上に記録された、随時アクセスされるファイルを含む。bssセクションは、初期値を持たない変数を含む。bssセクション内のデータは、textセクション内のコードの示す命令に応じて参照される。コンパイル処理又はリンク処理では、コンピュータ内のRAMにbssセクション用の領域が確保される。stackセクションは、必要に応じて一時的に確保されるメモリ領域である。再生プログラムによる各処理ではローカル変数が一時的に使用される。stackセクションはそれらのローカル変数を含む。プログラムの実行が開始されるとき、bssセクション内の変数はゼロで初期化され、stackセクションには必要なメモリ領域が確保される。
プレイリスト・ファイル及びクリップ情報ファイルは上述のとおり、記録媒体上では既に、コンピュータによって読み取り可能なコードに変換されている。従って、それらのファイルは再生プログラムの実行時、textセクション内の「書き換え不可のデータ」、又はdataセクション内の「随時アクセスされるファイル」として管理される。すなわち、プレイリスト・ファイル及びクリップ情報ファイルは、再生プログラムの実行時にその構成要素の中に組み込まれる。それ故、プレイリスト・ファイル及びクリップ情報ファイルは再生プログラムにおいて、単なるデータの提示を超えた役割を果たす。
本発明は立体視映像の表示技術に関し、上記のとおり、表示装置に表示対象のフレームを選択させる。このように、本発明は明らかに産業上利用可能である。
P3D 3D映像の再生期間
P2D 2D映像の再生期間
3D 「3D再生モード」を示す再生モードの値
2D 「2D再生モード」を示す再生モードの値
L レフトビュー・フレーム
R ライトビュー・フレーム
104 シャッター眼鏡
LSL シャッター眼鏡104が左のレンズを透明にする期間
LSR シャッター眼鏡104が右のレンズを透明にする期間
T1 第1時刻
T2 第2時刻