説明

再生装置、記録媒体、および情報処理方法

【課題】字幕の表示領域として十分な領域を確保することができるようにする。
【解決手段】本技術の再生装置においては、上側の帯状領域である第1の領域の少なくとも一部を下側の帯状領域である第2の領域に足し合わせて形成される第3の領域に表示される字幕のデータを符号化して得られる字幕ストリームと、フレームの上端を基準とした、左目用の画像と右目用の画像の有効画枠の上端の位置を求めることに用いられる第1のオフセット値と、有効画枠の下端の位置を求めることに用いられる第2のオフセット値と、移動後の有効画枠の上端の位置を求めることに用いられる第3のオフセット値とからなる有効画枠の配置位置を示す情報を含むプレイリストファイルと、が記録媒体から読み出され、処理される。本技術は、BDプレーヤに適用することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本技術は、再生装置、記録媒体、および情報処理方法に関し、特に、字幕の表示領域として十分な領域を確保することができるようにした再生装置、記録媒体、および情報処理方法に関する。
【背景技術】
【0002】
近年、液晶ディスプレイ(LCD:liquid crystal display)等のディスプレイの画素数やフレームレートの向上に伴い実現される画像表示方式として3次元(3D:3-dimensional)表示方式がある。3D表示方式によれば、視聴者は被写体を3次元的に認識することができる。
【0003】
将来的には、このような3次元的に認識可能なビデオデータを含む映画等の3Dコンテンツを記録したBD-ROM等のBlu-Ray(商標)Disc(BD)が流通するようになることも考えられる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009−147989号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
BD等に記録された3Dコンテンツを再生して3D画像を表示するとき、字幕をどこにどのように表示するかという問題がある。
【0006】
図1は、アスペクト比が16:9の表示装置に、垂直方向よりも水平方向が長く、16:9よりも大きなアスペクト比を有する、シネマスコープサイズ等の画像を表示したときの画面構成を示す図である。
【0007】
図1に示すように、映画等のコンテンツの画像はいわゆるレターボックス形式で表示され、画面の上側および下側に黒枠領域が形成される。2Dの字幕は、通常、点線で示すように、ビデオ表示領域の中央下側に形成された字幕領域に表示される。
【0008】
3Dコンテンツに含まれる画像が、垂直方向よりも水平方向が長く、16:9よりも大きなアスペクト比で符号化されているとき、BDプレーヤ等で再生した3Dコンテンツの画像は、16:9のアスペクト比を有するテレビジョン受像機の画面上には図1に示すように表示される。
【0009】
この場合において、例えば、通常の2Dコンテンツと同じように3Dコンテンツを表示したビデオ表示領域に2次元の字幕を表示したとき、字幕は3次元表示された被写体と重なってしまい、読みにくくなる可能性がある。また、字幕をも3次元表示したとき、視差により、画像を見ているうちに疲れてしまう可能性がある。
【0010】
さらに、黒枠領域に字幕を表示するとき、一度に字幕を複数行に示すと同時に、当該字幕の各文字を読解可能な大きさで表示しようとしたときには表示領域が不足してしまう可能性がある。
【0011】
本発明はこのような問題を考慮しており、字幕の表示領域として十分な領域を確保することが望ましい。
【課題を解決するための手段】
【0012】
本技術の再生装置は、フレーム毎に、水平方向全体に渡って帯状領域を上側と下側に付して左目用の画像と右目用の画像をH.264 AVC/MVCによって符号化して得られる基本ストリームおよび拡張ストリームと、上側の前記帯状領域である第1の領域の少なくとも一部を下側の前記帯状領域である第2の領域に足し合わせて形成される第3の領域に表示される字幕のデータを符号化して得られる字幕ストリームと、前記フレームの上端を基準とした、前記左目用の画像と前記右目用の画像の有効画枠の上端の位置を求めることに用いられる第1のオフセット値と、前記有効画枠の下端の位置を求めることに用いられる第2のオフセット値と、移動後の前記有効画枠の上端の位置を求めることに用いられる第3のオフセット値とからなる前記有効画枠の配置位置を示す情報を含むプレイリストファイルと、を記録媒体から読み出す読み出し部と、前記基本ストリームおよび前記拡張ストリームを復号する第1の復号部と、前記字幕ストリームを復号する第2の復号部と、前記第1のオフセット値を用いて前記有効画枠の上端の位置を求めるとともに、前記第2のオフセット値を用いて前記有効画枠の下端の位置を求め、前記基本ストリームおよび前記拡張ストリームを復号して得られた前記フレームから、前記左目用の画像と前記右目用の画像の前記有効画枠を切り出す切り出し部と、前記第3の領域が前記有効画枠の下に形成されるように、前記第3のオフセット値を用いて求められた位置に、前記左目用の画像と前記右目用の画像の前記有効画枠を配置する配置処理部と、前記フレーム内の領域のうち、前記配置処理部により配置された前記有効画枠外の領域に所定の色を設定する設定部と、前記第2の復号部により復号された前記字幕にオフセットを設定し、左目用の字幕と右目用の字幕を生成する生成部と、前記有効画枠外の領域に前記所定の色が設定された前記左目用の画像と、前記左目用の字幕を合成する第1の合成部と、前記有効画枠外の領域に前記所定の色が設定された前記右目用の画像と、前記右目用の字幕を合成する第2の合成部とを備える。
【0013】
前記生成部には、前記オフセットの値を、H.264 AVC/MVCのビデオストリームから取得させることができる。
【0014】
本技術の記録媒体は、フレーム毎に、水平方向全体に渡って帯状領域を上側と下側に付して左目用の画像と右目用の画像をH.264 AVC/MVCによって符号化して得られる基本ストリームおよび拡張ストリームと、上側の前記帯状領域である第1の領域の少なくとも一部を下側の前記帯状領域である第2の領域に足し合わせて形成される第3の領域に表示される字幕のデータを符号化して得られる字幕ストリームと、前記フレームの上端を基準とした、前記左目用の画像と前記右目用の画像の有効画枠の上端の位置を求めることに用いられる第1のオフセット値と、前記有効画枠の下端の位置を求めることに用いられる第2のオフセット値と、移動後の前記有効画枠の上端の位置を求めることに用いられる第3のオフセット値とからなる前記有効画枠の配置位置を示す情報を含むプレイリストファイルとを含む情報を記録した記録媒体である。
【0015】
本技術の情報処理方法は、フレーム毎に、水平方向全体に渡って帯状領域を上側と下側に付して左目用の画像と右目用の画像をH.264 AVC/MVCによって符号化し、上側の前記帯状領域である第1の領域の少なくとも一部を下側の前記帯状領域である第2の領域に足し合わせて形成される第3の領域に表示される字幕のデータを符号化し、前記フレームの上端を基準とした、前記左目用の画像と前記右目用の画像の有効画枠の上端の位置を求めることに用いられる第1のオフセット値と、前記有効画枠の下端の位置を求めることに用いられる第2のオフセット値と、移動後の前記有効画枠の上端の位置を求めることに用いられる第3のオフセット値とからなる前記有効画枠の配置位置を示す情報を含むプレイリストファイルを生成し、前記左目用の画像と前記右目用の画像を符号化して得られる基本ストリームおよび拡張ストリームと、前記字幕ストリームと、前記プレイリストファイルとを記録媒体に記録させるステップを含む。
【発明の効果】
【0016】
本技術によれば、字幕の表示領域として十分な領域を確保することができる。
【図面の簡単な説明】
【0017】
【図1】関連技術におけるフレーム構成の例を示すブロック図である。
【図2】本発明の一実施形態に係る再生装置を含む再生システムの構成例を示す図である。
【図3】MVCエンコーダの構成例を示すブロック図である。
【図4】画像が参照される例を示す図である。
【図5】TSの構成例を示す図である。
【図6】ビデオストリームをデコードして得られるフレームの構成を示す図である。
【図7A】領域の切り出しの例を示す図である。
【図7B】領域の切り出しの例を示す図である。
【図8A】aligned字幕方式で字幕を表示するときのフレーム構成を示す図である。
【図8B】aligned字幕方式で字幕を表示するときのフレーム構成を示す図である。
【図9】AVストリームの管理構造の例を示す図である。
【図10】Main PathとSub Pathの構造を示す図である。
【図11】光ディスクに記録されるファイルの管理構造の例を示す図である。
【図12】PlayListファイルのシンタクスを示す図である。
【図13】PlayList()のシンタクスを示す図である。
【図14】SubPath()のシンタクスを示す図である。
【図15】SubPlayItem(i)のシンタクスを示す図である。
【図16】PlayItem()のシンタクスを示す図である。
【図17】STN_table()のシンタクスを示す図である。
【図18】STN_table_SS()のシンタクスの例を示す図である。
【図19】active_video_window()のシンタクスの例を示す図である。
【図20】TopOffsetとBottomOffsetの例を示す図である。
【図21A】AlignOffsetの例を示す図である。
【図21B】AlignOffsetの例を示す図である。
【図22】再生装置の構成例を示すブロック図である。
【図23】デコード部の構成例を示す図である。
【図24】ビデオ後処理部の構成例を示すブロック図である。
【図25A】ビデオ後処理部による処理結果の例を示す図である。
【図25B】ビデオ後処理部による処理結果の例を示す図である。
【図25C】ビデオ後処理部による処理結果の例を示す図である。
【図25D】ビデオ後処理部による処理結果の例を示す図である。
【図26】PG後処理部の構成例を示すブロック図である。
【図27】再生装置の字幕表示方式設定処理について説明するフローチャートである。
【図28】画面表示の例を示す図である。
【図29】再生装置の再生処理について説明するフローチャートである。
【図30】図29のステップS17において行われるaligned字幕再生処理について説明するフローチャートである。
【図31】図30のステップS31において行われるビデオデータ生成処理について説明するフローチャートである。
【図32】図30のステップS32において行われる字幕データ生成処理について説明するフローチャートである。
【図33】フリップ機能により実現されるフレーム構成の変更例を示す図である。
【図34】フレーム構成の他の変更例を示す図である。
【図35】aligned字幕領域を選択するメニュー画面の例を示す図である。
【図36】fixed_subtitle_window_0およびfixed_subtitle_window_1について説明する図である。
【図37】STN_table_SS()のシンタクスの他の例を示す図である。
【図38】active_video_window()のシンタクスの他の例を示す図である。
【図39A】AlignOffsetの例を示す図である。
【図39B】AlignOffsetの例を示す図である。
【図40】情報処理装置の構成例を示すブロック図である。
【図41】情報処理装置の記録処理について説明するフローチャートである。
【図42】active_video_window()の記述位置の例を示す図である。
【図43】他の情報処理装置の構成例を示すブロック図である。
【図44】active_video_window()の他の記述位置の例を示す図である。
【図45】Access Unitの構成を示す図である。
【図46】コンピュータのハードウェアの構成例を示すブロック図である。
【発明を実施するための形態】
【0018】
[再生システムの構成例]
図2は、本発明の一実施形態に係る再生装置1を含む再生システムの構成例を示す図である。
【0019】
図2の再生システムは、再生装置1と表示装置3がHigh Definition Multimedia Interface(HDMI)ケーブル等で相互に接続されるように構成される。再生装置1は、BD規格の光ディスクである、BD-ROM等の光ディスク2を備える。
【0020】
光ディスク2には、視点の数が2つの3D画像を表示するために必要なストリームが記録されている。ストリーム等を光ディスク2に記録するための符号化方式として、例えば、H.264 Advanced Video Coding(AVC)/Multi-view Video coding(MVC)が採用される。
【0021】
再生装置1は、光ディスク2に記録されたストリームの3D再生のためのプレーヤである。再生装置1は、光ディスク2に記録されたストリームを再生し、再生により得られた3D画像をテレビジョン受像機等を含む表示装置3に表示する。音声についても同様に再生装置1により再生され、表示装置3に設けられたスピーカから出力される。
【0022】
[H.264 AVC/MVC Profile]
H.264 AVC/MVCでは、Base view videoストリームと呼ばれるビデオストリームと、Dependent view videoストリームと呼ばれるビデオストリームが定義されている。以下、適宜、H.264 AVC/MVCを単にMVCと呼ぶ。
【0023】
図3は、MVCエンコーダの構成例を示すブロック図である。
【0024】
図3に示すように、MVCエンコーダは、H.264/AVCエンコーダ11、H.264/AVCデコーダ12、およびDependent view videoエンコーダ13から構成される。同じ被写体に対して、L画像(左視点)用のカメラとR画像(右視点)用のカメラが撮像を行う。
【0025】
L画像用カメラにより撮影されたL画像のストリームはH.264/AVCエンコーダ11に入力される。また、R画像用カメラにより撮影されたR画像のストリームはDependent view videoエンコーダ13に入力される。
【0026】
H.264/AVCエンコーダ11は、L画像のストリームをH.264 AVC/High Profileビデオストリームとして符号化する。H.264/AVCエンコーダ11は、符号化により得られたAVCビデオストリームをBase view videoストリームとして出力する。H.264/AVCエンコーダ11から出力されたBase view videoストリームは、外部に出力される一方で、H.264/AVCデコーダ12にも供給される。
【0027】
H.264/AVCデコーダ12は、H.264/AVCエンコーダ11から供給されたAVCビデオストリームをデコードし、デコードにより得られたL画像のストリームをDependent view videoエンコーダ13に出力する。
【0028】
Dependent view videoエンコーダ13は、H.264/AVCデコーダ12から供給されたL画像のストリームと、外部から入力されたR画像のストリームに基づいて符号化を行う。Dependent view videoエンコーダ13は、符号化により得られたストリームをDependent view videoストリームとして出力する。
【0029】
他のストリームを参照画像とする予測符号化にはBase view videoが認められないが、図4に示すように、Base view videoを参照画像とする予測符号化にはDependent view videoが認められている。例えば、L画像をBase view videoとし、R画像をDependent view videoとして符号化を行ったとき、その結果得られるDependent view videoストリームのデータ量は、Base view videoストリームのデータ量よりも少なくなる。
【0030】
なお、H.264/AVCでの符号化であるため、時間方向におけるBase view videoの予測が行われる。また、Dependent view videoについて、各view間の予測とともに、時間方向の予測が実施される。Dependent view videoをデコードするとき、エンコード時の参照先である対応Base view videoのデコードを先に終える必要がある。
【0031】
H.264/AVCエンコーダ11から出力されたBase view videoストリームと、Dependent view videoエンコーダ13から出力されたDependent view videoストリームは、例えば、オーディオまたは字幕のデータとともにMPEG2 TSとして多重化される。多重化によって得られたTS(MPEG2 TS)は、MVCエンコーダの後部に設けられた記録部において光ディスク2に記録され、再生装置1に提供される。
【0032】
この例においては、L画像をBase view videoとして符号化し、R画像をDependent view videoとして符号化するが、反対に、R画像をBase view videoとして符号化し、L画像をDependent view videoとして符号化してもよい。以下、L画像をBase view videoとして符号化し、R画像をDependent view videoとして符号化する場合について説明する。
【0033】
図5は、光ディスク2に記録されたTSの構成例を示す図である。
【0034】
図5のTSでは、Base view video、Dependent view video、Primary audio、Presentation Graphics(PG)、およびInteractive Graphics(IG)のストリームが多重化されている。Base view videoとDependent view videoを異なるTSにおいて多重化することも可能であり得る。PGストリームは字幕のストリームであり、IGストリームはメニュー画面等のグラフィックスのストリームである。
【0035】
再生装置1による字幕の表示方式においては、ビデオ(Base view video、およびDependent view video)と重なることにより字幕を表示する方式と、字幕用に確保された領域にビデオと重ならない字幕を表示する方式とがある。左目用の字幕と右目用の字幕がPGストリームに含まれる字幕データに基づいて生成され、それぞれが、Base view videoおよびDependent view videoとともに表示されるように、ユーザは字幕だけでなくビデオも3次元的に見ることができる。
【0036】
ビデオと重なることにより字幕を表示する前者の方式だけでなく、字幕用に確保された領域に字幕を表示する方式においても字幕を3次元表示することが可能であるが、以下、前者の字幕表示方式を3D字幕方式と呼び、後者の字幕表示方式をaligned字幕方式と呼ぶ。aligned字幕方式においては、フレーム内の上側および下側から形成される2つの黒色領域の一方の領域の少なくとも一部が他方の領域に近づき、そこに、字幕が2次元または3次元表示される。
【0037】
光ディスク2には、適宜、3D字幕方式用のPGストリームと、aligned字幕方式用のPGストリームが記録される。
【0038】
[Aligned字幕方式について]
図6は、光ディスク2に記録されたビデオストリームをデコードして得られるフレームの構成を示す図である。
【0039】
図6に示すフレームのサイズは1920×1080画素である。ビデオの画枠は、垂直方向よりも水平方向が長く、16:9の比率よりも大きなアスペクト比を有し、フレームの上側および下側には、垂直方向に所定の幅を有する帯状の黒色領域が水平方向全体に渡って形成されている。
【0040】
上側の黒色領域における垂直方向の画素数はaであり、下側の黒色領域における垂直方向の画素数はbである。上側と下側の黒色領域の間に挟まれた垂直方向の画素数がcの領域がビデオの有効画枠であり、そこに、Base viewとDependent viewのビデオが表示される。
【0041】
光ディスク2に記録されているBase view videoおよびDependent view videoは、図6に示すように、上側と下側の黒色領域がフレーム毎に付加された形でエンコードされている。Base view videoおよびDependent view videoのストリームをデコードしたとき、図6の構成を有するフレームのデータが得られる。
【0042】
aligned字幕方式で字幕を表示するとき、再生装置1においては、Base view videoおよびDependent view videoのストリームをデコードして得られるフレームから、図7Aに示すようなビデオの有効画枠だけが切り取られる。切り取り範囲は、光ディスク2に記録された制御情報に含まれる情報によって指定される。
【0043】
また、ビデオの有効画枠を切り取ったときに残る上側と下側の黒色領域が1つになり、図7Bに示すように、垂直方向の画素数がa+bとなる領域が、aligned字幕方式における字幕の表示領域として確保される。
【0044】
以下、適宜、上側と下側の黒色領域の一方の領域の少なくとも一部を足して形成される字幕の表示領域をaligned字幕領域という。
【0045】
図8Aおよび図8Bは、aligned字幕方式で字幕を表示するときのフレームの構成例を示す図である。
【0046】
図8Aは、ビデオの有効画枠が上側に配置されるとともに、垂直方向の画素数がa+bのaligned字幕領域が下側に配置された例を示す図である。図8Bは、ビデオの有効画枠が下側に配置されるとともに、垂直方向の画素数がa+bのaligned字幕領域が上側に配置された例を示す図である。これらの例においては、上側と下側の黒色領域の一方の領域全体を他方の領域に足し合わせてaligned字幕領域が形成されている。
【0047】
図8Aおよび図8Bにおいて点線で示すように、aligned字幕領域内に字幕ウインドウが配置される。字幕ウインドウ#0は、例えば、人物の会話内容を示す字幕を表示する領域であり、字幕ウインドウ#1は、看板等がビデオの有効画枠に現れたときにその内容を示す、いわゆる強制字幕用の領域である。なお、強制字幕を表示する字幕ウインドウ#1は、ビデオの有効画枠内に位置させることができる。字幕ウインドウ#0についても、ビデオの有効画枠内に位置させることができる。
【0048】
このように、再生装置1においては、ビデオストリームをデコードしたときに得られるフレームに含まれる上側と下側の黒色領域の一方の領域の少なくとも一部を他方の領域に足し合わせて形成される領域に字幕が表示される。
【0049】
これにより、3D画像とともにビデオの有効画枠内に字幕を表示するとき、字幕が被写体の影(被写体よりも内側に深く)によって字幕が見づらくなることがあるが、そのようなことを防ぐことができる。
【0050】
また、3D画像とともに字幕をビデオの有効画枠内に表示するとき、コンテンツの制作者(オーサー)は、被写体の影を構成しないように字幕の表示領域を設定する必要があるが、そのような負担の増加を防ぐことができる。
【0051】
さらに、一方の側において足し合わせることなく、上側または下側の黒色領域に字幕を表示する場合と較べて、広い領域を字幕の表示領域として確保することができる。例えば、日本語の字幕を表示するとき、字幕の漢字にはかな文字を付けることになるために、垂直方向により広い領域が必要になるが、そのような要望に対応することができる。
【0052】
[AVストリームの管理構造]
図9は、再生装置1によるAVストリームの管理構造の一例を示す図である。
【0053】
AVストリームの管理は、図9に示すように、2つのレイヤのPlayListとClipを用いて行われる。Clipは、ビデオデータおよびオーディオデータを多重化して得られるTSであるAVストリームと、対応Clip Information(当該AVストリームに関する属性情報を含むClip Information)とから構成される。
【0054】
AVストリームは時間軸上に展開され、各アクセスポイントは、主に、タイムスタンプでPlayListにおいて指定される。Clip Informationは、AVストリームにおけるデコードが開始されるべきアドレスを見つけるために使用される。
【0055】
PlayListはAVストリームの再生区間の集まりである。AVストリーム中の1つの再生区間はPlayItemと呼ばれる。PlayItemは、時間軸上の再生区間のIN点とOUT点で表される。PlayListは1つまたは複数のPlayItemを含む。
【0056】
図9の左から1番目のPlayListは2つのPlayItemを含み、その2つのPlayItemにより、左側のClipに含まれるAVストリームの前半部分および後半部分のそれぞれが参照される。
【0057】
左から2番目のPlayListは1つのPlayItemを含み、そのPlayItemにより、右側のClipに含まれるAVストリーム全体が参照される。
【0058】
左から3番目のPlayListは2つのPlayItemを含み、その2つのPlayItemにより、左側のClipに含まれるAVストリームの一部分および右側のClipに含まれるAVストリームの一部分のそれぞれが参照される。
【0059】
例えば、左から1番目のPlayListに含まれる左側のPlayItemが再生対象としてディスクナビゲーションプログラムにより指定されたとき、左側のClipに含まれるとともにそのPlayItemにより参照されるAVストリームの前半部分が再生される。このように、PlayListは、AVストリームの再生を制御するための再生制御情報として用いられる。
【0060】
PlayListの中で、1つ以上のPlayItemの並びによって作られる再生パスをmain pathと呼ぶ。
【0061】
また、PlayListの中で、main pathに並行して1つ以上のSubPlayItemの並びによって構成される再生パスをsub pathと呼ぶ。
【0062】
図10は、main pathとsub pathとの構造を示す図である。
【0063】
PlayListは、1つのmain pathと1つ以上のsub pathを持つことができる。上述したL view videoのストリームは、main pathを構成するPlayItemにより参照される。また、R view videoのストリームは、sub pathを構成するSubPlayItemにより参照される。
【0064】
図10のPlayListは、3つのPlayItemの並びにより構成される1つのmain pathと、3つのsub pathを有している。main pathを構成するPlayItemには、先頭から規則的なIDが設定される。sub pathにもIDが設定される。
【0065】
図10の例においては、Subpath_id=0のsub pathには1つのSubPlayItemが含まれ、Subpath_id=1のsub pathには2つのSubPlayItemが含まれる。また、Subpath_id=2のsub pathには1つのSubPlayItemが含まれる。
【0066】
あるPlayItemが参照するAVストリームと、そのPlayItemとタイムゾーンが重複する再生区間を指定するSubPlayItemが参照するAVストリームは同期させられ、再生される。PlayList、PlayItem、およびSubPlayItemを用いたAVストリームの管理については、例えば、特開2008-252740号公報および特開2005-348314号公報に記載されている。
【0067】
[ディレクトリの構造]
図11は、光ディスク2に記録されるファイルの管理構造の例を示す図である。
【0068】
図11に示すように、ファイルはディレクトリ構造により階層的に管理される。光ディスク2上には1つのrootディレクトリが作成される。rootディレクトリの下部は、1つの記録再生システムで管理される範囲である。
【0069】
rootディレクトリの下にはBDMVディレクトリが設定される。BDMVディレクトリの直下に、「Index.bdmv」と名前が付けられたファイルであるIndexファイルと、「MovieObject.bdmv」と名前が付けられたファイルであるMovieObjectファイルが収容される。
【0070】
BDMVディレクトリの下には、PLAYLISTディレクトリ、CLIPINFディレクトリ、およびSTREAMディレクトリが設けられる。
【0071】
PLAYLISTディレクトリには、PlayListを記述したファイルであるPlayListファイルが収容される。各PlayListファイルには、5桁の数字と拡張子「.mpls」を組み合わせて作った名前が設定される。図11に示すPlayListファイルには、「00000.mpls」というファイル名が設定される。
【0072】
CLIPINFディレクトリにはClip Informationを記述したファイルであるClip Informationファイルが収容される。各Clip Informationファイルには、5桁の数字と拡張子「.clpi」を組み合わせて作った名前が設定される。
【0073】
図11の2つのClip Informationファイルには、「00001.clpi」および「00002.clpi」というファイル名が設定されている。以下、適宜、Clip Informationファイルをclpiファイルと呼ぶ。
【0074】
「00001.clpi」というクリップファイルは、対応するL view videoのストリームに関する情報を記述するファイルであり、「00002.clpi」というclpiファイルは、対応するR view videoのストリームに関する情報を記述するファイルである。
【0075】
STREAMディレクトリには、ストリームファイルが収容される。各ストリームファイルには、5桁の数字と「.m2ts」という拡張子を組み合わせて作った名前が設定される。以下、適宜、「.m2ts」という拡張子が設定されたファイルをm2tsファイルと呼ぶ。
【0076】
「00001.m2ts」というm2tsファイルは、L view videoストリームのファイルであり、「00002.m2ts」というm2tsファイルはR view videoのファイルである。
【0077】
図11に示すものの他に、BDMVディレクトリの下には、PGおよびIGのグラフィックスのストリームまたはオーディオストリームのファイルを収容するディレクトリが設定される。
【0078】
[各データのシンタクス]
図12は、PlayListファイルのシンタクスを示す図である。
【0079】
PlayListファイルは、図11のPLAYLISTディレクトリに収容される、「.mpls」という拡張子が設定されたファイルである。
【0080】
図12のtype_indicatorは、「xxxxx.mpls」という名前のファイルの種類を示す。
【0081】
version_numberは、「xxxx.mpls」のバージョンナンバーを示す。version_numberは4桁の数字を含む。例えば、ビデオを3次元表示する3D再生用のPlayListファイルには、「3D Spec version」を示す”0240”が設定される。
【0082】
PlayList_start_addressは、PlayListファイルの先頭バイトからの相対バイト数を単位として、PlayList()のベースアドレスを示す。
【0083】
PlayListMark_start_addressは、PlayListファイルの先頭バイトからの相対バイト数を単位として、PlayListMark()のベースアドレスを示す。
【0084】
ExtensionData_start_addressは、PlayListファイルの先頭バイトからの相対バイト数を単位として、ExtensionData()のベースアドレスを示す。
【0085】
AppInfoPlayList()には、再生制限等、PlayListの再生コントロールに関するパラメータが収容される。
【0086】
PlayList()には、main pathまたはsub path等に関するパラメータが収容される。
【0087】
PlayListMark()には、PlayListのマーク情報、すなわち、チャプタジャンプ等を指示するユーザオペレーションまたはコマンドにおけるジャンプポイントであるマークに関する情報である情報が収容される。
【0088】
ExtensionData()には、プライベートデータが挿入できるように構成される。
【0089】
図13は、図12のPlayList()のシンタクスを示す図である。
【0090】
lengthは、このlengthフィールドの直後からPlayList()の最後までのバイト数を示す32ビットの符号なし整数である。すなわち、lengthは、reserved_for_future_useからPlayListの最後までのバイト数を示す。
【0091】
number_of_PlayItemsは、PlayList中のPlayItemの数を示す16ビットのフィールドである。図10の例の場合、PlayItemの数は3である。PlayItem_idの値は、PlayList中にPlayItem()が現れる順に0から割り当てられる。例えば、割り当てられる値は、図10では、PlayItem_id=0、1、および2である。
【0092】
number_of_SubPathsは、PlayList中のsub pathの数を示す16ビットのフィールドである。図10の例の場合、sub pathの数は3である。SubPath_idの値は、PlayList中にSubPath()が現れる順に0から割り当てられる。例えば、割り当てられる値は、図10では、Subpath_id=0、1、および2である。その後のfor文では、PlayItemの数と同じだけPlayItem()が参照され、sub pathの数と同じだけSubPath()が参照される。
【0093】
図14は、図13のSubPath()のシンタクスを示す図である。
【0094】
lengthは、このlengthフィールドの直後からSub Path()の最後までのバイト数を示す32ビットの符号なし整数である。すなわち、lengthは、reserved_for_future_useからPlayListの最後までのバイト数を示す。
【0095】
SubPath_typeは、sub pathのアプリケーションの種類を示す8ビットのフィールドである。SubPath_typeは、例えば、sub pathの種類、sub pathがオーディオ、ビットマップ字幕、またはテキスト字幕であるかどうかを示すために用いられる。
【0096】
is_repeat_SubPathは、sub Pathの再生方法を指定する1ビットのフィールドであり、sub Pathの再生をmain Pathの再生間に繰り返すべきであるか、またはsub Pathの再生を1回行うかを示す。
【0097】
number_of_SubPlayItemsは、1つのsub Path中のSubPlayItemの数(エントリー数)を示す8ビットのフィールドである。例えば、図10のSubPath_id=0というSubPlayItemのnumber_of_SubPlayItemsは1であり、SubPath_id=1というSubPlayItemのnumber_of_SubPlayItemsは2である。その後のfor文では、SubPlayItemの数と同じだけSubPlayItem()が参照される。
【0098】
図15は、図14のSubPlayItem(i)のシンタクスを示す図である。
【0099】
lengthは、このlengthフィールドの直後からSub playItem()の最後までのバイト数を示す16ビットの符号なし整数である。
【0100】
Clip_Information_file_name[0]は、SubPlayItemが参照されるClipのClip Informationファイルの名前を示す。
【0101】
Clip_codec_identifier[0]は、Clipのコーデック方式を示す。
【0102】
is_multi_Clip_entriesは、マルチClipの登録の存在を示すフラグである。is_multi_Clip_entriesというフラグが立っているとき、SubPlayItemが複数のClipを参照する場合のシンタクスが参照される。
【0103】
ref_to_STC_id[0]は、STC不連続点(システムタイムベースの不連続点)に関する情報である。
【0104】
SubPlayItem_IN_timeはsub Pathの再生区間の開始位置を示し、SubPlayItem_OUT_timeは終了位置を示す。
【0105】
sync_PlayItem_idとsync_start_PTS_of_PlayItemは、main Pathの時間軸上でsub Pathの再生が開始される時を示す。
【0106】
SubPlayItem_IN_time、SubPlayItem_OUT_time、sync_PlayItem_id、およびsync_start_PTS_of_PlayItemは、SubPlayItemが参照するClipにおいて共に用いられる。
【0107】
「if(is_multi_Clip_entries==1b」であるとともに、SubPlayItemが複数のClipを参照する場合について説明する。
【0108】
num_of_Clip_entriesは参照するClipの数を示す。Clip_Information_file_name[SubClip_entry_id]の数は、Clip_Information_file_name[0]を除くClipの数を指定する。
【0109】
Clip_codec_identifier[SubClip_entry_id]は、Clipのコーデック方式を示す。
【0110】
ref_to_STC_id[SubClip_entry_id]は、STC不連続点(システムタイムベースの不連続点)に関する情報である。
【0111】
図16は、図13のPlayItem()のシンタクスを示す図である。
【0112】
lengthは、このlengthフィールドの直後からPlayItem()の最後までのバイト数を示す16ビットの符号なし整数である。
【0113】
Clip_Information_file_name[0]は、PlayItemが参照するClipのClip Informationファイルの名前を示す。なお、Clipを含むm2tsファイルのファイル名と、それに対応するClip Informationファイルのファイル名は同じ5桁の数字を含む。
【0114】
Clip_codec_identifier[0]はClipのコーデック方式を示す。Clip_codec_identifier[0]の後にはreserved_for_future_useが含まれる。reserved_for_future_useの後にはis_multi_angleおよびconnection_conditionが含まれる。
【0115】
ref_to_STC_id[0]は、STC不連続点(システムタイムベースの不連続点)に関する情報である。
【0116】
IN_timeは、PlayItemの再生区間の開始位置を示し、OUT_timeは終了位置を示す。
【0117】
OUT_timeの後には、U0_mask_table()、PlayItem_random_access_mode、およびstill_modeが含まれる。
【0118】
STN_table()には、PlayItemが参照するストリームが含まれる。また、PlayItemと関連付けて再生されるsub Pathがあるとき、そのsub Pathを構成するSubPlayItemが参照するストリームの情報も含まれる。
【0119】
図17は、図16のSTN_table()のシンタクスを示す図である。
【0120】
lengthは、このlengthフィールドの直後からSTN_table()の最後までのバイト数を示す16ビットの符号なし整数である。
【0121】
number_of_video_stream_entriesは、video_stream_idとともに与えられ、STN_table()にエントリー(登録)するストリームの数を示す。
【0122】
video_stream_idは、ビデオストリームを識別するための情報である。例えば、Base view videoのストリームがこのvideo_stream_idにより特定される。Dependent view videoのストリームのIDについては、STN_table()内、および後述するPlayListのExtensionData()(図12)に含まれるSTN_table_SS()内で定義されるようにしてもよい。
【0123】
number_of_audio_stream_entriesは、STN_table()にエントリーし、audio_stream_idに与えられる1番目のオーディオストリームのストリーム数を示す。audio_stream_idは、オーディオストリームを識別するための情報である。
【0124】
number_of_audio_stream2_entriesは、STN_table()にエントリーし、audio_stream_id2に与えられる2番目のオーディオストリームのストリーム数を示す。audio_stream_id2は、オーディオストリームを識別するための情報である。この例においては、再生する音声を切り替えることができる。
【0125】
number_of_PG_txtST_stream_entriesは、STN_table()にエントリーし、PG_txtST_stream_idに与えられるストリーム数を示す。この中では、ビットマップ字幕をランレングス符号化して得られるPGストリームと、テキスト字幕ファイル(txtST)がエントリーする。PG_txtST_stream_idは、字幕ストリームを識別するための情報である。
【0126】
number_of_IG_stream_entriesは、STN_table()にエントリーするとともに、IG_stream_idに与えられるストリーム数を示す。この中ではIGストリームがエントリーする。IG_stream_idは、IGのストリームを識別するための情報である。
【0127】
各ストリームについて用意されるstream_entry()には、各ストリームのデータを収容するパケットのPID情報。また、stream_attribute()には、各ストリームの属性情報が含まれる。
【0128】
図18は、STN_table_SS()のシンタクスの例を示す図である。
【0129】
STN_table_SS()は、例えば、PlayListファイルのExtensionData()(図12)に記述される。STN_table_SS()には、3D字幕方式またはaligned字幕方式で字幕を表示するとき、その表示に用いるストリームに関する情報が含まれる。
【0130】
図18に示すように、PG_textST_stream_idで識別されるPGストリーム毎に各情報が設定される。例えば、英語、日本語、またはフランス語等の各言語のPGストリームが光ディスク2に記録されているとき、各言語のPGストリームに対して以下の情報が設定される。
【0131】
is_SS_PGは、3D字幕方式用のPGストリームが記録されているか否かを示す。例えば、is_SS_PGの値が1であることは、3D字幕方式用のPGストリームが記録されていることを示し、is_SS_PGの値が0であることは、3D字幕方式用のPGストリームが記録されていないことを示す。
【0132】
is_AS_PGは、aligned字幕方式用のPGストリームが記録されているか否かを示す。例えば、is_AS_PGの値が1であることは、aligned字幕方式用のPGストリームが記録されていることを示し、is_AS_PGの値が0であることは、aligned字幕方式用のPGストリームが記録されていないことを示す。
【0133】
PG_textST_offset_id_refは、3D字幕方式で字幕を表示するときに用いるオフセット値の参照先を示す。
【0134】
3D字幕方式およびaligned字幕方式のいずれの表示方式において、字幕を3Dで表示することは、PGストリームに含まれる字幕データに所定のオフセットを設定して生成されたBase viewとDependent viewの字幕を表示して行われる。オフセットの値は、視差に相当するずれを示す。例えば、同じ文字または記号を含む字幕が配置されたBase viewのフレーム、およびDependent viewのフレームが相互に重なるとき、字幕の位置にはずれが存在する。
【0135】
字幕の位置にずれがあるとき、Base viewの字幕がBase viewのビデオとともに表示され、Dependent viewの字幕がDependent viewのビデオとともに表示され、そして、それによって、ユーザはビデオだけでなく字幕も3次元視することができる。なお、字幕データに適用されるオフセットの値が0であるとき、視差は生じることがなく、それによって、字幕は2次元表示される。
【0136】
PG_textST_offset_id_refが参照させるオフセットの値は、例えば、PlayListファイルのExtensionData()内に記述されたoffset_metadata()に含まれる。offset_metadata()の詳細については、例えば、本出願人による特願2009-168806号公報に開示されている。
【0137】
is_AS_PGの値が1であるときに記述されるstream_entry()には、aligned字幕方式用のPGストリームのデータを収容するパケットのPID情報が含まれる。また、stream_attribute()には、aligned字幕方式用のPGストリームの属性情報が含まれる。
【0138】
AS_PG_textST_offset_id_refは、aligned字幕方式で3D字幕を表示するときに用いるオフセットの値の参照先を示す。例えば、aligned字幕方式で字幕を表示するときに用いるオフセットの値も、PlayListファイルのExtensionData()内に記述されたoffset_metadata()に含まれる。オフセットの値が、MVCによって符号化されたビデオストリームの中に含まれるようにすることも可能である。この場合、AS_PG_textST_offset_id_refは、ビデオストリームに含まれるオフセットの値が参照されることを示す。
【0139】
なお、is_SS_PGの値が1であるとき、3D字幕方式用のPGストリームのデータを収容するパケットのPID情報を含むstream_entry()と、属性情報に含まれるstream_attribute()がSTN_table_SS()に記述されるようにしてもよい。
【0140】
図19は、active_video_window()のシンタクスの例を示す図である。
【0141】
active_video_window()は、例えば、PlayListファイルのExtensionData()(図12)に記述される。active_video_window()は、図18のSTN_table_SS()に含まれるis_AS_PGの値が1であり、aligned字幕方式用のPGストリームが記録されているときに記述され。
【0142】
active_video_window()には、ビデオの有効画枠に関する情報が含まれる。aligned字幕方式で字幕を表示するときに行われるビデオの有効画枠を切り出して移動する処理が、active_video_window()の記述に基づいて実施される。
【0143】
ここでは、active_video_window()に含まれる情報中、top_offset、bottom_offset、top_align_flag、およびalign_offsetについて説明する。
【0144】
fixed_subtitle_window_0、fixed_subtitle_window_1、およびflipped_AS_PG_textST_offset_id_refは、後述するフリップ機能に用いられる。フリップ機能は、top_offset等の値に基づいて形成されたaligned字幕領域を、ユーザによる選択に応じて、フレームの上側から下側または下側から上側に移動する。
【0145】
top_offsetは、ビデオの有効画枠の垂直方向における画素の最上部の位置を求めるために用いられる値を示す。
【0146】
以下、フレーム内の位置については、フレームの左上端における1画素の位置を(x,y)=(0,0)、すなわち、フレームの上から1行目の垂直方向における画素の位置を0、フレームの左から1列目の水平方向における画素の位置を0として、画素数を用いて示す。
【0147】
ビデオの有効画枠の垂直方向における最上部の画素の位置であるTopOffsetは、top_offsetの値を用いて下式(1)により求められる。
TopOffset = 2 * top_offset ・・・ (1)
【0148】
top_offsetは、下式(2)で示される範囲の値をとる。

・・・ (2)
【0149】
式(2)のFrameHeightはフレーム全体の垂直方向における画素数を示し、MVCで符号化されたビデオストリームに含まれるパラメータであるpic_height_in_map_units_minus1を用いて下式(3)により求められる。
FrameHeight = (16 * (pic_height_in_map_units_minus1 + 1)) - 8 ・・・ (3)
【0150】
bottom_offsetは、有効画枠の最下下部の垂直方向における画素の位置を求めるために用いられる値を示す。有効画枠の最下下部の垂直方向における画素の位置であるBottomOffsetは、bottom_offsetの値を用いて下式(4)により求められる。
BottomOffset = FrameHeight - (2 * bottom_offset) - 1 ・・・ (4)
【0151】
図20は、TopOffsetとBottomOffsetの例を示す図である。
【0152】
top_offset=69、かつbottom_offset=69であるとき、1920×1080画素のフレームにおいては、TopOffsetは138として求められ、BottomOffsetは941として求められる。ビデオの有効画枠の左上端における1画素の位置は(x,y)=(0,138)で表され、左下端における1画素の位置は(x,y)=(0,941)で表される。
【0153】
有効画枠の垂直方向における画素数は804である。1080はFrameHeightの値であり、式(3)により求められる。
【0154】
図19の説明に戻り、top_align_flagは、デコード直後のフレームにおける位置に基づいて、ビデオの有効画枠を上方向に移動するのか、下方向に移動するのかを示す。top_align_flagの値が1であるとき、有効画枠を上方に移動することが示され、top_align_flagの値が0であるとき、有効画枠を下方に移動することが示される。align_offsetを用いた移動量の計算方法は、top_align_flagの値により異なる。
【0155】
top_align_flagの値が1であり、ビデオの有効画枠を上方向に移動する場合、aligned字幕領域はフレームの下側に形成される。また、top_align_flagの値が0であり、ビデオの有効画枠を下方向に移動する場合、aligned字幕領域はフレームの上側に形成される。
【0156】
align_offsetは、ビデオの有効画枠の移動量を求めるために用いられる値を示す。
【0157】
top_align_flagの値が1であるとき、ビデオの有効画枠の移動量であるAlignOffsetは下式(5)により求められる。
AlignOffset = 2 * align_offset ・・・ (5)
【0158】
top_align_flagの値が0であるとき、ビデオの有効画枠の移動量であるAlignOffsetは下式(6)により求められる。
AlignOffset = 2 * (top_offset + bottom_offset - align_offset) ・・・ (6)
【0159】
式(5)および式(6)により求められるAlignOffsetは、フレームの上から、1行目の画素の位置を0に設定し、下方向への移動量を画素数で示す。
【0160】
align_offsetは、下式(7)で示される範囲の値をとる。

・・・ (7)
【0161】
top_align_flagとalign_offsetにより、フレームにおけるビデオの有効画枠の移動先としての配置位置が決定される。決定された位置に配置された有効画枠外の全ての画素では、(Y,Cb,Cr)=(16,128,128)等の画素の所定値が設定され、これにより、フレームにおける有効画枠外の画素が同じ色の画素になる。
【0162】
図21Aおよび図21Bは、AlignOffsetの例を示す図である。
【0163】
top_align_flagの値が1であり、かつalign_offset=34であるとき、図21Aに示すように、1920×1080画素のフレームにおいては、AlignOffsetは68として求められる。ビデオの有効画枠の左上端における1画素の位置は(x,y)=(0,68)で表される。
【0164】
AlignOffsetが68、ビデオの有効画枠の垂直方向における画素数が804、フレーム全体の垂直方向における画素数が1080であるから、aligned字幕領域の垂直方向における画素数は208になる。ビデオの有効画枠の左下端における1画素の位置は(x,y)=(0,871)で表される。
【0165】
top_align_flagの値が0であり、かつalign_offset=34であるとき、図21Bに示すように、1920×1080画素のフレームにおいては、AlignOffsetは208として得られる。有効画枠の左下端における1画素の位置は(x,y)=(0,208)で表される。
【0166】
AlignOffsetが208、ビデオの有効画枠の垂直方向における画素数が804、フレーム全体の垂直方向における画素数が1080であるから、フレームの下側に形成された黒色領域の垂直方向における画素数は68になる。ビデオの有効画枠の左下端における1画素の位置は(x,y)=(0,1011)で表される。
【0167】
[再生装置1の構成例]
図22は、再生装置1の構成例を示すブロック図である。
【0168】
コントローラ31は、制御プログラム(図9のディスクナビゲーションプログラム)を実行し、再生装置1全体の動作を制御する。コントローラ31は、ユーザの操作に応じて再生装置1のステータスを切り替え、現在のステータスを示す情報をレジスタ31Aに記憶させる。
【0169】
ディスクドライブ32は、コントローラ31による制御に従って光ディスク2からデータを読み出し、読み出したデータを、コントローラ31、メモリ33、またはデコード部34に出力する。
【0170】
メモリ33は、コントローラ31による各種処理の実行に加えて、必要なデータ等を適宜記憶する。
【0171】
デコード部34は、ディスクドライブ32から供給されたストリームをデコードし、得られたビデオ信号を表示装置3に出力する。オーディオ信号も所定の経路を介して表示装置3に出力される。
【0172】
操作入力部35は、ボタン、キー、タッチパネル、またはマウス等の入力デバイス、および所定のリモートコマンダから送信される赤外線等の信号を受信する受信部により構成される。操作入力部35はユーザによる操作を検出し、検出した操作の内容を示す信号をコントローラ31に供給する。
【0173】
図23は、デコード部34の構成例を示す図である。
【0174】
分離部51は、ディスクドライブ32から供給されたTSとして多重化されているデータを、コントローラ31による制御に従って分離する。分離部51は、ビデオストリームをビデオデコーダ52に出力し、PGストリームをPGデコーダ55に出力する。なお、図23にはビデオのデータを処理する構成と字幕データを処理する構成のみを示しているが、ビデオのデータを処理する構成等もデコード部34に適宜設けられる。
【0175】
ビデオストリームのデータを収容するパケットは、例えば、STN_table()のstream_entry()に含まれるPIDに基づいて特定される。また、3D字幕方式用のPGストリームのデータを収容するパケットとaligned字幕方式用のPGストリームのデータを収容するパケットは、例えば、STN_table_SS()のstream_entry()に含まれるPIDに基づいて特定される。
【0176】
ビデオデコーダ52は、MVC方式で符号化されているビデオストリームをデコードし、デコードして得られた画像データ(Base view videoのデータとDependent view videoのデータ)をビデオ後処理部53に出力する。
【0177】
ビデオ後処理部53は、aligned字幕方式で字幕を表示するとき、コントローラ31から供給されたactive_video_window()の記述に基づいて後処理を行う。ビデオ後処理部53は、後処理を行って得られたBase view videoのプレーン(フレームと同じサイズの画像データ)とDependent view videoのプレーンを選択部54に出力する。
【0178】
選択部54は、ビデオ後処理部53から供給された画像データ中、Base view videoのプレーンを合成部58に出力し、Dependent view videoのプレーンを合成部59に出力する。
【0179】
PGデコーダ55は、PGストリームをデコードし、デコードによって得られた字幕データと、字幕ウインドウの位置を示す情報をPG後処理部56に出力する。
【0180】
PGストリームに含まれる字幕データがビットマップデータであるとき、PGストリームは、字幕ウインドウの位置を示す情報であるwindow_vertical_positionとwindow_horizontal_positionを含む。この2つの情報により、フレームにおいて、例えば、字幕ウインドウの左上端における画素の位置が指定される。また、PGストリームに含まれる字幕データがテキストデータであるとき、PGストリームは、字幕ウインドウの位置を示す情報であるregion_vertical_positionとregion_heightを含む。
【0181】
PG後処理部56は、コントローラ31から供給されたactive_video_window()またはSTN_table_SS()の記述に基づいて後処理を行う。PG後処理部56は、後処理を行って得られたBase viewの字幕のプレーンとDependent viewの字幕のプレーンを選択部57に出力する。
【0182】
選択部57は、PG後処理部56から供給されたBase viewの字幕のプレーンとDependent viewの字幕のプレーンを、それぞれ、合成部58と合成部59に出力する。
【0183】
合成部58は、選択部54から供給されたBase view videoのプレーンと、選択部57から供給されたBase viewの字幕のプレーンとを合成してBase viewのフレームを生成するとともに、出力。ビデオのプレーンと字幕のプレーンを合成して、ビデオが有効画枠内に配置されるとともに、1フレームのデータが生成され、字幕がaligned字幕領域等の所定の位置に配置される。
【0184】
合成部59は、選択部54から供給されたDependent view videoのプレーンと、選択部57から供給されたDependent viewの字幕のプレーンとを合成してDependent viewのフレームを生成するとともに、出力。合成部58から出力されたBase viewのフレームおよび合成部59から出力されたDependent viewのフレームのビデオ信号が表示装置3に出力される。
【0185】
図24は、ビデオ後処理部53の構成例を示すブロック図である。
【0186】
図24に示すように、ビデオ後処理部53は、切り出し部71、配置処理部72、および色設定部73を含む。切り出し部71に対しては、ビデオデコーダ52から出力された、ビデオの有効画枠の上側と下側に黒色領域が付加された構成を有する図25Aに示すようなフレームのデータが入力される。
【0187】
図25Aに示すフレームは1920×1080画素のサイズのフレームと仮定する。ビデオの有効画枠の垂直方向における画素数は804であり、垂直方向における画素数が138の黒色領域が上側と下側に設定されている。
【0188】
切り出し部71は、active_video_window()に含まれるtop_offsetとbottom_offsetに基づいて、TopOffsetとBottomOffsetを求め、ビデオの有効画枠を切り出す。例えば、図25Bに示すようなビデオの有効画枠が図25Aのフレーム全体から切り出される。
【0189】
配置処理部72は、active_video_window()に含まれるtop_align_flagとalign_offsetに基づいて、ビデオの有効画枠の配置位置(デコード後のフレームにおける位置に基づく移動先の位置)を求め、求めた位置に有効画枠を配置する。
【0190】
例えば、図25Cに示すように、ビデオの有効画枠の左上端における画素の位置と、フレームの左上端における画素の位置が相互に一致するように有効画枠が配置される。ビデオの有効画枠の位置が移動すると、デコード後のフレームにおいてビデオの有効画枠の上側と下側のそれぞれに設定される黒色領域を足し合わせて得られる、垂直方向における画素数が276のaligned字幕領域用のスペースが確保される。
【0191】
色設定部73は、ビデオの有効画枠外の画素の画素値として、黒色等の所定の色を示す値を設定する。これにより、図25Dに示すように、ビデオの有効画枠の下側にaligned字幕領域が形成される。図25Dに示すようなフレームの構成を有するBase view videoとDependent view videoのプレーンが選択部54に出力される。
【0192】
図26は、PG後処理部56の構成例を示すブロック図である。
【0193】
図26に示すように、PG後処理部56は、配置位置決定部81とオフセット適用部82を含む。PGデコーダ55から出力された字幕データはオフセット適用部82に入力され、字幕ウインドウの位置を示すwindow_vertical_positionとwindow_horizontal_position等の情報は配置位置決定部81に入力される。
【0194】
配置位置決定部81は、入力された情報に基づいて、フレームにおける字幕ウインドウの位置を決定し、字幕ウインドウの位置を示す情報をオフセット適用部82に出力する。
【0195】
オフセット適用部82は、3D字幕方式で字幕を表示するとき、入力された字幕データに対して、STN_table_SS()のPG_textST_offset_id_refで参照させるオフセット値に応じて視差を設定し、Base viewとDependent viewの字幕データを生成する。
【0196】
また、オフセット適用部82は、aligned字幕方式で3D字幕を表示するとき、入力された字幕データに対して、STN_table_SS()のAS_PG_textST_offset_id_refで参照させるオフセット値に応じて視差を設定し、Base viewとDependent viewの字幕のデータを生成する。
【0197】
オフセット適用部82は、配置位置決定部81により決定された位置に字幕ウインドウを設定し、Base viewのプレーンの字幕ウインドウ内にBase viewの字幕を配置してBase viewの字幕のプレーンを生成する。
【0198】
また、オフセット適用部82は、Dependent viewのプレーンの字幕ウインドウ内にDependent viewの字幕を配置してDependent viewの字幕のプレーンを生成する。オフセット適用部82は、生成したプレーンを選択部57に出力する。
【0199】
[再生装置の動作]
図27のフローチャートを参照して、再生装置1の字幕表示方式設定処理について説明する。
【0200】
図27の処理は、例えば、ユーザがリモートコントローラを操作して字幕表示方式に関するメニュー画面の表示に指示したときに開始される。
【0201】
ステップS1において、コントローラ31は、表示装置3に、字幕表示方式に関するメニュー画面を表示する。メニュー画面の表示は、例えば、光ディスク2に記録されているIGストリームのデータに基づいて行われる。
【0202】
図28は、画面表示の例を示す図である。
【0203】
図28の左上に示す画面は、字幕表示方式に関するメニュー画面である。図28の例においては、フレームの上側と下側に黒色領域が付加されたビデオと重ねられることによりメニュー画面が表示される。
【0204】
ユーザは、リモートコントローラ等を操作して、字幕のオン/オフ、表示する字幕の言語、字幕を表示するときの3D字幕のオン/オフを選択することができる。例えば、図28におけるメニュー画面の左下の「off」(字幕off)が選択されたとき、矢印Aの先で示すように、字幕の表示なしの状態で、ビデオが3次元表示される。
【0205】
図27のステップS2において、コントローラ31は、操作入力部35から供給される信号に基づいて、表示する字幕の種類(言語)を選択する。
【0206】
ステップS3において、コントローラ31は、再生対象として選択した字幕番号を示す情報をレジスタ31Aに収容する。例えば、図28のメニュー画面において「日本語」が選択されたとき、「日本語」字幕の番号を示す情報がレジスタ31Aに収容される。レジスタ31Aに収容された情報により、再生対象の言語のPGストリームが特定される。
【0207】
ステップS4において、コントローラ31は、操作入力部35から供給される信号に基づいて、3D字幕のオン/オフを選択する。3D字幕のオン状態は、字幕の表示方式が3D字幕方式であることを示し、オフは、aligned字幕方式を示す。
【0208】
ステップS5において、コントローラ31は、ステップS4での選択に応じて、字幕表示方式を示す情報をレジスタ31Aに収容する。字幕表示方式を示す情報がレジスタ31Aに収容された後、処理は終了する。
【0209】
例えば、図28のメニュー画面において3D字幕のオン状態が選択されたとき、字幕表示方式が3D字幕方式であることを示す情報がレジスタ31Aに収容され、その後、矢印Aの先で示すように、3D字幕方式で字幕が表示される。矢印Aの先で示す画面においては、ビデオとともに、ビデオの有効画枠内に、「Subtitle」という文字の字幕が3次元表示されている。
【0210】
一方、図28のメニュー画面において3D字幕のオフ状態が選択されたとき、字幕表示方式がaligned字幕方式であることを示す情報がレジスタ31Aに収容され、その後、矢印Aの先で示すように、aligned字幕方式で字幕が表示される。矢印Aの先で示す画面においては、ビデオの有効画枠の上側に形成されたaligned字幕領域に「Subtitle」という文字の字幕が3次元表示されている。
【0211】
次に、図29のフローチャートを参照して、再生装置1の再生処理について説明する。
【0212】
図29の処理は、例えば、図28に示すようにメニュー画面から字幕表示方式の設定が行われた後に開始される。
【0213】
ステップS11において、コントローラ31は、コンテンツの再生に用いるPlayListファイルを選択する。
【0214】
ステップS12において、コントローラ31は、レジスタ31Aに収容しておいた再生対象として字幕番号を示す情報を読み出す。
【0215】
ステップS13において、コントローラ31は、レジスタ31Aに収容しておいた字幕表示方式を示す情報を読み出す。
【0216】
ステップS14において、コントローラ31は、ステップS13の処理で読み出した情報に基づいて、字幕表示方式としてaligned字幕方式が設定されているか否かを判定する。
【0217】
aligned字幕方式が設定されているとステップS14において判定したとき、ステップS15において、コントローラ31は、PlayListファイルから、字幕に関する情報を読み出す。字幕に関する情報として、例えば、STN_table_SS()に記述されている、現在選択されている言語の字幕に関するis_AS_PGの値が読み出される。
【0218】
ステップS16において、コントローラ31は、再生対象として現在選択されている字幕に、aligned字幕方式用のPGストリームが登録されているかどうかを判定した。上述したように、STN_table_SS()においてはPGストリーム毎にis_AS_PG等の情報が設定される。選択されている言語に関して、aligned字幕方式用のPGストリームが記録され、記録されない場合がある。
【0219】
次いで、is_AS_PGの値が1であり、aligned字幕方式用のPGストリームが登録されているとステップS16において判定し、ステップS17において、コントローラ31はaligned字幕の再生処理を行う。aligned字幕の再生処理においては、ビデオが3次元表示される時に、字幕がaligned字幕方式で表示される。
【0220】
一方、is_AS_PGの値が0であり、aligned字幕方式用のPGストリームが登録されていないとステップS16において判定したとき、ステップS18において、コントローラ31は字幕表示方式として通常方式を設定する。図28の例においては、aligned字幕方式と3D字幕方式から選択することができるため、ここでは、字幕表示方式として3D字幕方式が設定される。
【0221】
ステップS18において3D字幕方式が設定されたとき、または、ステップS14においてaligned字幕方式が設定されていない、すなわち、3D字幕方式が設定されているとき、ステップS19において通常字幕の再生処理が行われる。通常字幕の再生処理においては、3D字幕方式用のPGストリームが光ディスク2から読み出され、PGデコーダ55によりデコードが行われる。また、PG後処理部56により、Base viewの字幕データとDependent viewの字幕が生成され、ビデオとともに、ビデオの有効画枠内に字幕が3次元表示される。
【0222】
なお、ビデオの有効画枠内の下部に設定された領域(図1において点線で現す領域)に字幕を2次元表示する方式が用意されているとき、通常字幕の再生処理として、その方式で字幕の再生処理が行われるようにしてもよい。
【0223】
次に、図30のフローチャートを参照して、図29のステップS17において行われるaligned字幕の再生処理について説明する。
【0224】
ステップS31において、ビデオデータ生成処理が行われる。ビデオデータ生成処理により、所定の位置にaligned字幕領域が形成された構成を有するBase view videoのプレーンとDependent view videoのプレーン。
【0225】
ステップS32において、字幕データ生成処理が行われる。字幕データ生成処理により、ビデオデータ生成処理により生成されたaligned字幕領域に対応する位置に字幕が配置されたBase viewの字幕のプレーンとDependent viewの字幕のプレーンが生成される。
【0226】
ステップS33において、合成部58は、Base view videoのプレーンとBase viewの字幕のプレーンを合成してBase viewのフレームを生成する。また、合成部59は、Dependent view videoのプレーンとDependent viewの字幕のプレーンを合成してDependent viewのフレームを生成する。
【0227】
ステップS34において、コントローラ31は、Base viewのフレームとDependent viewのフレームを表示装置3に出力し、aligned字幕領域に字幕が表示される画面を表示する。
【0228】
次に、図31のフローチャートを参照して、図30のステップS31において行われるビデオデータ生成処理について説明する。
【0229】
この処理は、図29のステップS11において選択されたPlayListファイルの記述に基づいてデコード対象のビデオストリームとaligned字幕方式用のPGストリームが光ディスク2から読み出され、それらのストリームが分離部51により分離された後に開始される。分離部51により分離されたビデオストリームはビデオデコーダ52に供給され、aligned字幕方式用のPGストリームはPGデコーダ55に供給される。
【0230】
ステップS41において、ビデオデコーダ52は、ビデオストリームをデコードし、デコードによって得られた画像データをビデオ後処理部53に出力する。
【0231】
ステップS42において、コントローラ31は、ビデオの有効画枠の情報として、active_video_window()に記述されている情報をPlayListファイルから読み出す。コントローラ31により読み出されたactive_video_window()に記述されている情報はビデオ後処理部53に供給される。
【0232】
ステップS43において、ビデオ後処理部53の切り出し部71(図24)は、active_video_window()に含まれるtop_offsetとbottom_offsetに基づいてTopOffsetとBottomOffsetを求め、ビデオの有効画枠を切り出す。
【0233】
ステップS44において、配置処理部72は、active_video_window()に含まれるtop_align_flagとalign_offsetに基づいてビデオの有効画枠の配置位置を求め、求めた位置に有効画枠を配置する。
【0234】
ステップS45において、色設定部73は、配置した有効画枠外の画素の画素値として黒色等の所定の色を示す値を設定し、aligned字幕領域を生成する。
【0235】
aligned字幕領域が形成されたBase view videoとDependent view videoのプレーンは選択部54に出力される。選択部54においては、Base view videoのプレーンが合成部58に出力され、Dependent view videoのプレーンが合成部59に出力される。その後、上記処理は図30のステップS31に戻り、それ以降の処理が行われる。
【0236】
次に、図32のフローチャートを参照して、図30のステップS32において行われる字幕データ生成処理について説明する。
【0237】
ステップS51において、PGデコーダ55は、aligned字幕方式用のPGストリームをデコードし、字幕データをPG後処理部56のオフセット適用部82に出力するとともに、字幕ウインドウの位置を示す情報を配置位置決定部81に出力する。
【0238】
ステップS52において、配置位置決定部81は、PGデコーダ55から供給された情報に基づいて、フレームにおける字幕ウインドウの位置を決定した。
【0239】
ステップS53において、オフセット適用部82は、字幕データに対して、STN_table_SS()のAS_PG_textST_offset_id_refで参照させるオフセット値に応じて視差を設定し、Base viewとDependent viewの字幕データを生成する。オフセット適用部82は、配置位置決定部81により決定された位置に字幕ウインドウを配置し、字幕ウインドウ内に字幕を配置して、Base viewとDependent viewの字幕のプレーンを生成する。
【0240】
オフセット適用部82により生成されたBase viewとDependent viewの字幕のプレーンは選択部57に出力される。選択部57においては、Base viewの字幕のプレーンが合成部58に出力され、Dependent viewの字幕のプレーンが合成部59に出力される。その後、上記処理は図30のステップS32に戻り、それ以降の処理が行われる。
【0241】
以上の処理により、字幕の表示領域として十分な領域を確保することができ、ユーザにとって見やすい字幕表示を実現することができる。
【0242】
[フリップ機能について]
図33は、フリップ機能によって実現されるフレーム構成の変更例を示す図である。
【0243】
上述したように、フリップ機能は、active_video_window()に含まれる情報に基づいて形成されたaligned字幕領域の位置を、ユーザの選択に応じて移動する。
【0244】
図33の左側は、top_align_flagの値が1であり、かつalign_offset=34であるときのフレームを示す。図33の左側に示すフレームの構成は、図21Aを参照して説明した構成と同じ構成であり、フレームの下側にaligned字幕領域が形成されている。
【0245】
図21Aを参照して説明したように、図33の左側に示す1920×1080画素を有するフレームのAlignOffsetは68であり、ビデオの有効画枠の垂直方向における画素数は804であり、aligned字幕領域の垂直方向における画素数は208である。また、ビデオの有効画枠の左下端における1画素の位置は(x,y)=(0,871)で表される。
【0246】
図33の左側に示すフレームにおいては、字幕ウインドウの左上端における1画素の位置は(x,y)=(640,891)で表され、字幕ウインドウの垂直方向における画素数は168である。ビデオの有効画枠の下端と字幕ウインドウの上端の垂直方向における差は20画素(891-871画素)になる。なお、字幕ウインドウの位置は、PGストリームに含まれるwindow_vertical_positionとwindow_horizontal_position等の情報により決定される。PGストリームには、字幕ウインドウの垂直方向における画素数を示す情報も含まれている。
【0247】
この場合において、aligned字幕領域をフレームの上側で移動することが指示された場合、白反転矢印の先で示すように、aligned字幕領域がフレームの上側に形成されるようにフレーム構成が変更される。すなわち、各領域の大きさを維持しながら、ビデオの有効画枠の上側にaligned字幕領域が配置され、有効画枠の下側に黒色領域が配置される。
【0248】
図33の右側に示すように、aligned字幕領域の移動後のフレームにおいては、字幕ウインドウの左上端における1画素の位置は(x,y)=(640,20)で表される。
【0249】
図34は、フレーム構成の他の変更例を示す図である。
【0250】
図34の左側は、top_align_flagの値が0であり、かつalign_offset=34であるときのフレームを示す。図34の左側に示すフレームの構成は、図21Bを参照して説明した構成と同じ構成であり、フレームの上側にaligned字幕領域が形成されている。
【0251】
図21Bを参照して説明したように、図34の左側に示すフレームのAlignOffsetは208、ビデオの有効画枠の垂直方向における画素数は804、aligned字幕領域の垂直方向における画素数は68である。
【0252】
図34の左側に示すフレームにおいては、字幕ウインドウの左上端における1画素の位置は(x,y)=(640,20)で表され、字幕ウインドウの垂直方向における画素数は168である。
【0253】
この場合において、aligned字幕領域をフレームの下側で移動することが指示された場合、白反転矢印の先で示すように、aligned字幕領域がフレームの下側に形成されるようにフレーム構成が変更される。すなわち、各領域の大きさを維持しながら、ビデオの有効画枠の下側にaligned字幕領域が配置され、有効画枠の上側に黒色領域が配置される。
【0254】
図34の右側に示すように、aligned字幕領域の移動後のフレームにおいては、字幕ウインドウの左上端における1画素の位置は(x,y)=(640,891)で表される。
【0255】
ビデオの有効画枠の位置がビデオ後処理部53の配置処理部72により再配置され、色設定部73が再配置された有効画枠外の画素における所定の画素値を設定し、それによって、このような各領域の位置変更が行われる。
【0256】
フリップ機能を利用して、ユーザはaligned字幕領域の位置を好みに応じて変更することができる。再生装置1は、aligned字幕領域の位置を変更させたときでも、aligned字幕領域内における字幕ウインドウと有効画枠の間の距離を維持し、字幕が有効画枠から離れない場合がある。
【0257】
図35は、aligned字幕領域の位置の選択に用いられるメニュー画面の例を示す図である。
【0258】
図35の左側に示すメニュー画面においては、aligned字幕領域の位置をフレームの上側(top)にするか、フレームの下側(bottom)にするかを選択することができる。例えば、active_video_window()に含まれる情報に基づいて配置されるaligned字幕領域の位置およびその反対の位置が選択されたとき、フリップ機能によってaligned字幕領域が移動される。
【0259】
図36は、図18のactive_video_window()に含まれるfixed_subtitle_window_0およびfixed_subtitle_window_1について説明する図である。
【0260】
上述したように、人物の会話内容の字幕を表示する字幕ウインドウと、強制字幕を表示する字幕ウインドウを設定することが可能である。また、強制字幕を表示する字幕ウインドウについては、ビデオの有効画枠内に配置することが可能である。各字幕ウインドウの配置位置が、PGストリームに含まれる情報により指定される。
【0261】
フリップ機能によってフレーム構成が変更したときでも、強制字幕を表示する字幕ウインドウをオーサーが意図する位置に配置するために、fixed_subtitle_window_0およびfixed_subtitle_window_1が用いられる。
【0262】
fixed_subtitle_window_0は、フリップ機能によってビデオの有効画枠の位置が移動したときでも、ビデオの有効画枠の位置とID=0で識別される字幕ウインドウ#0の位置の関係を維持すべきかどうかを示す。例えば、fixed_subtitle_window_0の値が1であることは、ビデオの有効画枠の位置と字幕ウインドウ#0の位置の関係を維持すべきであることを示し、fixed_subtitle_window_0の値が0であることは、ビデオの有効画枠の位置と字幕ウインドウ#0の位置の関係を維持すべきでないことを示す。
【0263】
同様に、fixed_subtitle_window_1は、フリップ機能によってビデオの有効画枠の位置が移動したときでも、有効画枠の位置とID=1で識別される字幕ウインドウ#1の位置の関係を維持させるべきかどうかを示す。例えば、fixed_subtitle_window_1の値が1であることは、ビデオの有効画枠の位置と字幕ウインドウ#1の位置の関係を維持すべきであることを示し、fixed_subtitle_window_1の値が0であることは、ビデオの有効画枠の位置と字幕ウインドウ#1の位置の関係を維持すべきでないことを示す。
【0264】
図36の左側に示すフレームにおいては、フレームの上側にaligned字幕領域が配置されている。また、ID=0で識別される字幕ウインドウ#0がaligned字幕領域に配置され、字幕ウインドウ#0に「ABCD」というアルファベットを含む字幕が表示されている。字幕ウインドウ#0のfixed_subtitle_window_0の値は0である。
【0265】
また、図36の左側に示すフレームにおいては、ID=1で識別される字幕ウインドウ#1がビデオの有効画枠内に配置され、字幕ウインドウ#1に「****」という字幕が表示されている。字幕ウインドウ#1のfixed_subtitle_window_1の値は1である。字幕ウインドウ#1の左上端の画素は、ビデオの有効画枠の左上端における画素を基準として水平方向にx画素、垂直方向にy画素だけ離れた位置にある。
【0266】
この場合において、aligned字幕領域をフレームの下側で移動することが指示されたとき、図36の右側に示すようにフレーム構成が変更される。フレーム構成の変更に従って、字幕ウインドウ#0は移動後のaligned字幕領域に配置される。
【0267】
字幕ウインドウ#0のfixed_subtitle_window_0の値は0であるから、フリップ機能によってaligned字幕領域の位置が移動する前後で、ビデオの有効画枠の位置と字幕ウインドウ#0の位置の関係は維持されない。
【0268】
一方、fixed_subtitle_window_1の値は1であるから、字幕ウインドウ#1は、ビデオの有効画枠の位置との位置関係を維持するようにして配置される。
【0269】
図36の右側に示すフレームにおいて、字幕ウインドウ#1の左上端の画素は、ビデオの有効画枠の左上端における画素を基準として水平方向にx画素、垂直方向にy画素だけ離れた位置にある。aligned字幕領域の位置が移動する前後で、ビデオの有効画枠の位置と字幕ウインドウ#1の位置の関係は変化しない。
【0270】
従って、フリップ機能によってビデオの有効画枠の位置が移動したときでも、強制字幕を表示する字幕ウインドウは、オーサーが意図する位置に配置され得る。
【0271】
なお、図19のflipped_AS_PG_textST_offset_id_refは、フリップ機能によってaligned字幕領域の位置を移動した場合において、移動後のaligned字幕領域に3D字幕を表示するときに用いるオフセット値の参照先を示す。図19の例においては、active_video_window()について、1つのflipped_AS_PG_textST_offset_id_refを参照することが可能であるが、PGストリーム毎に、異なるflipped_AS_PG_textST_offset_id_refを参照するシンタクスが採用可能であり得る。
【0272】
移動前のaligned字幕領域に3D字幕を表示するときに用いるオフセット値はSTN_table_SS()のAS_PG_textST_offset_id_ref(図18)によって参照されるが、移動後のaligned字幕領域に3D字幕を表示するときに用いるオフセット値は、異なるflipped_AS_PG_textST_offset_id_refによって参照される。
【0273】
従って、移動前のaligned字幕領域の字幕と、フリップ機能による移動後のaligned字幕領域の字幕を、異なるオフセット値を用いることにより3次元表示することができる。オフセット値を変えることができるため、オーサーは、移動前のaligned字幕領域の字幕と移動後のaligned字幕領域の字幕とで視聴者が感じる空間効果に変化をつけることができる。
【0274】
[シンタクスの変更例]
aligned字幕方式用のPGストリームとして、フレームの上側に配置したaligned字幕領域に表示する字幕のPGストリームと、下側に配置したaligned字幕領域に表示する字幕のPGストリームを、それぞれ光ディスク2に記録することができる。
【0275】
図37は、STN_table_SS()のシンタクスの他の例を示す図である。
【0276】
図37のSTN_table_SS()には、フレームの上側に配置したaligned字幕領域に表示する字幕のPGストリームと、下側に配置したaligned字幕領域に表示する字幕のPGストリームに関する記述が含まれる。
【0277】
is_top_AS_PG_TextSTは、フレームの上側に配置したaligned字幕領域に表示する字幕のPGストリームが記録されているかどうかを示す。例えば、is_top_AS_PG_TextSTの値が1であることは、フレームの上側に配置したaligned字幕領域に表示する字幕のPGストリームが記録されていることを示し、is_top_AS_PG_TextSTの値が0であることは、フレームの上側に配置したaligned字幕領域に表示する字幕のPGストリームが記録されていないことを示す。
【0278】
is_bottom_AS_PG_TextSTは、フレームの下側に配置したaligned字幕領域に表示する字幕のPGストリームが記録されているかどうかを示す。例えば、is_bottom_AS_PG_TextSTの値が1であることは、フレームの下側に配置したaligned字幕領域に表示する字幕のPGストリームが記録されていることを示し、is_bottom_AS_PG_TextSTの値が0であることは、フレームの下側に配置したaligned字幕領域に表示する字幕のPGストリームが記録されていないことを示す。
【0279】
is_top_AS_PG_TextSTの値が1であるときに記述されるstream_entry()には、フレームの上側に配置したaligned字幕領域に表示する字幕のPGストリームのデータを収容するパケットのPIDが含まれる。また、stream_attribute()には、フレームの下側に配置したaligned字幕領域に表示する字幕のPGストリームの属性情報が含まれる。top_AS_PG_textST_offset_sequence_id_refは、フレームの上側に配置したaligned字幕領域に字幕を3次元表示するときに用いるオフセット値の参照先を示す。
【0280】
is_bottom_AS_PG_TextSTの値が1であるときに記述されるstream_entry()には、フレームの下側に配置したaligned字幕領域に表示する字幕のPGストリームのデータを収容するパケットのPIDが含まれる。また、stream_attribute()には、フレームの下側に配置したaligned字幕領域に表示する字幕のPGストリームの属性情報が含まれる。bottom_AS_PG_textST_offset_sequence_id_refは、フレームの下側に配置したaligned字幕領域に字幕を3次元表示するときに用いるオフセット値の参照先を示す。
【0281】
図37のSTN_table_SS()を用いた処理を説明する。上記と重複する説明は適宜省略する。
【0282】
以下、フレームの上側に配置されたaligned字幕領域に表示される字幕のPGストリームを、適宜、上側aligned字幕用PGストリームと呼び、フレームの下側に配置されたaligned字幕領域に表示される字幕のPGストリームを、適宜、下側aligned字幕用PGストリームと呼ぶ。
【0283】
図37のSTN_table_SS()を用いて図29の再生処理を行うとき、STN_table_SS()に記述された、現在選択されている言語の字幕のis_top_AS_PG_TextSTおよびis_bottom_AS_PG_TextSTの値がステップS15で読み出される。
【0284】
さらに、ステップS16において、aligned字幕方式用のPGストリームが再生対象として現在選択されている字幕に登録されているか否かを判定する。
【0285】
次いで、is_top_AS_PG_TextSTまたはis_bottom_AS_PG_TextStの値が1であり、aligned字幕方式用のPGストリームが登録されているとステップS16において判定し、ステップS17において、aligned字幕の再生処理が行われる。aligned字幕の再生処理では、ビデオが3次元表示される時に、字幕がaligned字幕方式で表示される。
【0286】
例えば、上側aligned字幕用PGストリームおよび下側aligned字幕用PGストリームの両方が光ディスク2に記録されているとき(is_top_AS_PG_TextSTおよびis_bottom_AS_PG_TextSTの値が1であるとき)、ユーザが選択したPGストリームが再生される。
【0287】
上側aligned字幕用PGストリームを対象とする図32の字幕データ生成処理のステップS53では、PGストリームをデコードして得られる字幕データについてtop_AS_PG_textST_offset_sequence_id_refで参照されるオフセット値に応じて視差が設定される。
【0288】
また、下側aligned字幕用PGストリームを対象とする図32の字幕データ生成処理のステップS53では、PGストリームをデコードして得られる字幕データについてbottom_AS_PG_textST_offset_sequence_id_refで参照されるオフセット値に応じて視差が設定される。
【0289】
従って、コンテンツのオーサーは、ビデオコンテンツに応じて、上側aligned字幕用PGストリームおよび下側aligned字幕用PGストリームを用意することができる。また、異なる値をオフセット値として設定できるため、コンテンツのオーサーは、フレームの上側に配置されたaligned字幕領域に表示する字幕と、フレームの下側に配置されたaligned字幕領域に表示する字幕の3次元効果を変更することができる。
【0290】
図38は、active_video_window()の他のシンタックスの例を示す図である。
【0291】
図38のactive_video_window()は、図37のSTN_table_SS()に含まれるis_top_AS_PG_TestSTまたはis_bottom_AS_PG_TestSTのいずれかの値が1のときに記述され、aligned字幕方式用PGストリームが記録される。
【0292】
図38の例には、図19を参照して説明したtop_align_flagは含まれていない。また、align_offsetの代わりに、top_align_offsetおよびbottom_align_offsetが含まれる。
【0293】
top_offsetは、フレームの上側に形成された黒枠領域の幅(垂直方向における画素数)を2画素単位で表すことにより得られる値である。top_offsetの値が、例えば、69であることは、フレームの上側に形成された黒枠領域の幅が138画素であることを示す。top_offsetは、ビデオの有効画枠の垂直方向において最上部の画素の位置を求めるために用いられる。
【0294】
以下、フレーム内の位置については、フレームの左上端における1画素の位置を(x,y)=(0,0)、すなわち、フレームの上から1行目の垂直方向における画素の位置を0、フレームの左から1列目の水平方向における画素の位置を0として、画素数を用いて示す。
【0295】
ビデオの有効画枠の垂直方向における最上部の画素の位置であるTopOffsetは、top_offsetの値を用いて、下式(8)により求められる。
TopOffset = 2 * top_offset ... (8)
【0296】
top_offsetは、下式(9)により示される範囲の値をとる。

... (9)
【0297】
式(9)のFrameHeightは、フレーム全体の垂直方向における画素数を示し、下式(10)により得られる。式(10)のPic_height_in_map_units_minus1、frame_mbs_only_flag、frame_crop_top_offset、およびframe_crop_bottom_offsetは全て、MVCで符号化したビデオストリームに含まれるパラメータである。
FrameHeight = 16 * (pic_height_in_map_units_minus1 + 1) * (2 - frame_mbs_only_flag) - 2 * (2 - frame_mbs_only_flag) * (frame_crop_top_offset+frame_crop_bottom_offset) ... (10)
【0298】
bottom_offsetは、フレームの下側に形成された黒枠領域の幅(垂直方向における画素数)を2画素単位で表すことにより得られる値である。bottom_offsetの値が、例えば、69であることは、フレームの下側に形成された黒枠領域の幅が138画素であることを示す。bottom_offsetは、ビデオの有効画枠の垂直方向における最下部の画素の位置を求めるために用いられる。
【0299】
ビデオの有効画枠の垂直方向において最下部の画素の位置であるBottomOffsetは、bottom_offsetの値を用いて、下式(11)により求められる。
BottomOffset = FrameHeight − ... (11)
【0300】
top_align_offsetは、フレームの上側左端を原点(0,0)として、再配置されるビデオの有効画枠の垂直方向における上側左端の画素の位置を2画素単位で表すことにより得られる値である。top_align_offsetは、is_top_AS_PG_TextSTの値が1であり、かつ上側aligned字幕用PGストリームを再生して字幕を表示するときのビデオの有効画枠の再配置位置を得るために用いられる。
【0301】
top_align_offsetは、下式(12)により示される範囲の値をとる。

... (12)
【0302】
再配置されたビデオの達成画枠の垂直方向における最上部の画素の位置であるAlignOffsetは、top_align_offsetの値を用いて、下式(13)により得られる。
AlignOffset = 2* top_align_offset ... (13)
【0303】
図39Aは、top_align_offsetの値を用いて得られるAlignOffsetの例を示す図である。
【0304】
図39Aに示すようにtop_align_offset=104のとき、1920×1080画素のフレームについては、AlginOffsetは208となる。ビデオの有効画枠の上側左端における1画素の位置は、(x,y)=(0,208)で表される。
【0305】
図39Aおよび図39Bの例では、デコーディング直後のフレームの上側と下側の黒枠領域の幅は、図20を参照して説明したように、138である。top_offsetおよびbottom_offsetの値は69である。
【0306】
図38の説明に戻って、bottom_align_offsetは、フレームの上側左端を原点(0,0)として、再配置されるビデオの有効画枠の垂直方向における上側左端の画素の位置を2画素単位で表すことにより得られる値である。bottom_align_offsetは、is_bottom_AS_PG_TextSTの値が1であり、かつ下側aligned字幕用PGストリームを再生して字幕を表示するときに、ビデオの有効画枠の再配置の位置を得るために用いられる。
【0307】
bottom_align_offsetは、下式(14)により示される範囲の値をとる。

... (14)
【0308】
再配置されたビデオの達成画枠の垂直方向における最下部の画素の位置であるAlignOffsetは、bottom_align_offsetの値を用いて、下式(15)により得られる。
AlignOffset = 2 * bottom_align_offset ... (15)
【0309】
図39Bは、bottom_align_offsetを用いて得られるAlignOffsetの例を示す図である。
【0310】
図39Bに示すようにbottom_align_offset=34のとき、1920×1080画素のフレームについては、AlginOffsetは68となる。ビデオの有効画枠の上側左端における1画素の位置は、(x,y)=(0,68)で表される。
【0311】
図38のactive_video_window()を用いた処理を説明する。上記と重複する説明は適宜省略する。
【0312】
図31のビデオデータ生成処理が図38のactive_video_window()を用いて行われるとき、ステップS42において、active_video_window()に記述された情報がPlayListファイルから読み出される。
【0313】
ステップS43において、top_offsetおよびbottom_offsetに基づいて、TopOffsetおよびBottomOffsetを得るとともに、ビデオの有効画枠を切り取る。
【0314】
ステップS44において、ビデオの有効画枠の配置位置を得るとともに、得られた位置に有効画枠を配置する。
【0315】
例えば、is_top_AS_PG_TextSTの値が1であり、かつ上側aligned字幕用PGストリームを再生して字幕を表示するとき、上記配置位置は、図39Aを参照して説明したように、top_align_offsetを用いて得られる。
【0316】
一方、is_bottom_AS_PG_TextSTの値が1であり、かつ下上側aligned字幕用PGストリームを再生して字幕を表示するとき、上記配置位置は、図39Bを参照して説明したように、bottom_align_offsetを用いて得られる。
【0317】
その後、上側aligned字幕用PGストリームおよび下側aligned字幕用PGストリームをデコードし、aligned字幕領域に字幕を表示する。
【0318】
[情報処理装置の構成と動作]
図40は、情報処理装置101の構成例を示すブロック図である。
【0319】
情報処理装置101において、再生装置1により再生されるコンテンツが生成され、BD等の記録媒体に記録される。情報処理装置101によりコンテンツが記録される記録媒体は、光ディスク2として再生装置1に提供される。
【0320】
図40に示すように、情報処理装置101は、ビデオエンコーダ111、PGエンコーダ112、PlayList生成部113、多重化部114、および記録部115から構成される。
【0321】
ビデオエンコーダ111は、図3のMVCエンコーダと同様の構成を有する。ビデオエンコーダ111は、入力されたビデオデータをMVC方式で符号化し、Base view videoのストリームとDependent view videoのストリームを多重化部114に出力する。
【0322】
PGエンコーダ112は、入力された字幕のデータを符号化し、3D字幕方式用のPGストリームとaligned字幕方式用のPGストリームを多重化部114に出力する。
【0323】
PlayList生成部113は、上述した情報を含むPlayListファイルを生成し、多重化部114に出力する。
【0324】
多重化部114は、ビデオエンコーダ111から供給されたBase view videoのストリーム、Dependent view videoのストリーム、およびPGエンコーダ112から供給されたPGストリームを多重化し、TSを記録部115に出力する。
【0325】
記録部115は、多重化部114から供給されたTSとPlayList生成部113により生成されたPlayListファイルを含むコンテンツを生成し、コンテンツのデータをBD等の記録媒体に記録する。
【0326】
図41のフローチャートを参照して、情報処理装置101の記録処理について説明する。
【0327】
ステップS101において、ビデオエンコーダ111は、入力されたビデオデータをMVC方式で符号化し、Base view videoのストリームとDependent view videoのストリームを生成する。
【0328】
ステップS102において、PGエンコーダ112は、入力された字幕のデータを符号化し、3D字幕方式用のPGストリームとaligned字幕方式用のPGストリームを生成する。
【0329】
ステップS103において、PlayList生成部113はPlayListファイルを生成する。
【0330】
ステップS104において、多重化部114は、ビデオエンコーダ111により生成されたBase view videoのストリーム、Dependent view videoのストリーム、およびPGエンコーダ112により生成されたPGストリームを多重化し、TSを生成する。
【0331】
ステップS105において、記録部115は、多重化部114により生成されたTSおよびPlayList生成部113により生成されたPlayListファイルをBD等の記録媒体に記録し、処理を終了する。
【0332】
[変形例]
以上においては、有効画枠内に表示されるビデオがBase viewとDependent viewのビデオである場合について説明したが、表示順で配置された2つのフレームの画像間に視差が生じない2D画像を表示することが可能であってもよい。BD等の記録媒体に記録されるコンテンツが、2D画像データを含む2Dコンテンツであるときでも、上述した3Dコンテンツの場合と同様に、再生装置において、PlayListの記述に基づいて有効画枠を切り出し、位置をずらして形成したaligned字幕領域に字幕を表示することが可能であってもよい。
【0333】
[active_video_window()の位置]
上記では、図19および図37を参照して説明したactive_video_window()はPlayListに記述されるが、他の位置に記述してもよい。
【0334】
例えば、Base view videoストリームおよびDependent view videoストリームを同じTSとして、またはそれぞれ異なるTSとして多重化した後、放送波および放送網を介して送信することが考えられる。
【0335】
この場合、active_video_window()は、例えば、送信制御情報であるProgram Specific Information(PSI)、Base view videoストリーム、またはDependent view videoストリーム(エレメンタリーストリーム)に記述される。
【0336】
図42は、active_video_window()がPSIに含まれるProgram Map Table(PMT)に記述される例を示す図である。
【0337】
図42に示すように、active_video_window()を記述する記述子を新たに定義し、定義した記述子にactive_video_window()を記述してもよい。図42の例では、図37のactive_video_window()が記述される。また、例えば、65がdescriptor_tagの値として与えられる。
【0338】
この場合、図43の情報処理装置101の情報生成部121は、active_video_window()が記述されたPMTを生成し、出力する。図43に示す構成では、図40と同じ構成は、同じ参照番号とともに与えられる。図43の例では、図40のPlayList生成部113の代わりに、情報生成部121が設けられる。
【0339】
情報生成部121から出力されたPMTは、多重化部114によりBase view videoストリームおよびDependent view videoストリームと多重化される。多重化により得られたTSは、放送波および放送網を介して送信される。
【0340】
TSを受信した再生装置では、PMTに記述されたactive_video_window()に基づいて、上記のように字幕を表示する。
【0341】
active_video_window()は、Selection Information Table(SIT)等、PMT以外の他の箇所に記述してもよい。
【0342】
図44は、active_video_window()がエレメンタリーストリームに記述された例を示す図である。
【0343】
図44に示すように、active_video_window()は、SEIに記述することができる。SEIは、Base view videoストリームおよびDependent view videoストリームを構成する各ピクチャのデータに付加される付加情報である。active_video_window()を含むSEIは、Base view videoストリームおよびDependent view videoストリームの少なくともいずれか一方のストリームの各ピクチャに付加される。
【0344】
図45は、Access Unitの構成を示す図である。
【0345】
図45に示すように、Base view videoストリームの1つのピクチャのデータを含むBase view videoのAccess Unitは、Dependent view videoストリームの1つのピクチャのデータを含むDependent view videoのAccess Unitと同じ構成を有する。1つのAccess Unitは、Access Unitの先頭を示すAUデリミタ、SPS、PPS、SEI、およびピクチャデータで構成される。
【0346】
この場合、図43の情報処理装置101の情報生成部121は、active_video_window()が記述されたSEIを生成し、バス(図示せず)を介してSEIをビデオエンコーダ111に出力する。ビデオエンコーダ111では、H.264 AVC/MVCの規格に従ってL画像データおよびR画像データを符号化して得られるBase view videoおよびDependent view videoの各ピクチャのデータにSEIが付加される。
【0347】
active_video_window()が記述されたSEIとともに付加したピクチャのデータを含む、Base view videoストリームおよびDependent view videoストリームは、多重化された後、放送波または放送網を介して送信されるか、または記録媒体に記録される。
【0348】
SEIが読み出される再生装置では、SEIに記述されたactive_video_window()の値に基づいて、上記のように字幕が表示される。
【0349】
[コンピュータの構成例]
上述した一連の処理は、ハードウェアおよびソフトウェアにより実行することができる。一連の処理をソフトウェアにより実行するとき、そのソフトウェアを構成するプログラムが、専用のハードウェアを組み込んだコンピュータおよび汎用のパーソナルコンピュータに、プログラム記録媒体からインストールされる。
【0350】
図46は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【0351】
中央処理装置(CPU)151、読取り専用記憶装置(ROM)152、ランダムアクセス記憶装置(RAM)153は、バス154により相互に接続される。
【0352】
バス154には、さらに、入出力インタフェース155が接続されている。入出力インタフェース155は、キーボードまたはマウス等を含む入力部156、ならびにディスプレイまたはスピーカ等を含む出力部157に接続される。また、入出力インタフェース155は、ハードディスクまたは不揮発性メモリ等を含む記憶部158、ネットワークインタフェース等を含む通信部159、ならびにリムーバブルメディア161を駆動するドライブ160に接続される。
【0353】
以上のように構成されるコンピュータでは、CPU151が、例えば、記憶部158に記憶されているプログラムを、入出力インタフェース155およびバス154を介してRAM153にロードして実行するように、上述した一連の処理が行われる。
【0354】
CPU151が実行するプログラムは、例えば、リムーバブルメディア161に記録されるか、またはローカルエリアネットワーク、インターネット、もしくはデジタル放送等の有線もしくは無線の伝送媒体を介して提供され、記憶部158にインストールされる。
【0355】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理を行うプログラムおよび/または呼び出しが行われた必要なタイミングで処理が行われるプログラムであってもよい。
【0356】
本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【0357】
設計要件および他の要因に応じて、各種変更、組み合わせ、副次的組み合わせ、および改変が添付の請求項またはその等価物の範囲内で行われ得ることを当業者は理解する。
【符号の説明】
【0358】
1 再生装置, 2 記録媒体, 3 表示装置, 31 コントローラ, 32 ディスクドライブ, 33 メモリ, 34 デコード部, 35 操作入力部, 51 分離部, 52 ビデオデコーダ, 53 ビデオ後処理部, 54 選択部, 55 PGデコーダ, 56 PG後処理部, 57 選択部, 58,59 合成部, 71 切り出し部, 72 配置処理部, 73 色設定部, 81 配置位置決定部, 82 オフセット適用部

【特許請求の範囲】
【請求項1】
フレーム毎に、水平方向全体に渡って帯状領域を上側と下側に付して左目用の画像と右目用の画像をH.264 AVC/MVCによって符号化して得られる基本ストリームおよび拡張ストリームと、上側の前記帯状領域である第1の領域の少なくとも一部を下側の前記帯状領域である第2の領域に足し合わせて形成される第3の領域に表示される字幕のデータを符号化して得られる字幕ストリームと、前記フレームの上端を基準とした、前記左目用の画像と前記右目用の画像の有効画枠の上端の位置を求めることに用いられる第1のオフセット値と、前記有効画枠の下端の位置を求めることに用いられる第2のオフセット値と、移動後の前記有効画枠の上端の位置を求めることに用いられる第3のオフセット値とからなる前記有効画枠の配置位置を示す情報を含むプレイリストファイルと、を記録媒体から読み出す読み出し部と、
前記基本ストリームおよび前記拡張ストリームを復号する第1の復号部と、
前記字幕ストリームを復号する第2の復号部と、
前記第1のオフセット値を用いて前記有効画枠の上端の位置を求めるとともに、前記第2のオフセット値を用いて前記有効画枠の下端の位置を求め、前記基本ストリームおよび前記拡張ストリームを復号して得られた前記フレームから、前記左目用の画像と前記右目用の画像の前記有効画枠を切り出す切り出し部と、
前記第3の領域が前記有効画枠の下に形成されるように、前記第3のオフセット値を用いて求められた位置に、前記左目用の画像と前記右目用の画像の前記有効画枠を配置する配置処理部と、
前記フレーム内の領域のうち、前記配置処理部により配置された前記有効画枠外の領域に所定の色を設定する設定部と、
前記第2の復号部により復号された前記字幕にオフセットを設定し、左目用の字幕と右目用の字幕を生成する生成部と、
前記有効画枠外の領域に前記所定の色が設定された前記左目用の画像と、前記左目用の字幕を合成する第1の合成部と、
前記有効画枠外の領域に前記所定の色が設定された前記右目用の画像と、前記右目用の字幕を合成する第2の合成部と
を備える再生装置。
【請求項2】
前記生成部は、前記オフセットの値を、H.264 AVC/MVCのビデオストリームから取得する
請求項1に記載の再生装置
【請求項3】
フレーム毎に、水平方向全体に渡って帯状領域を上側と下側に付して左目用の画像と右目用の画像をH.264 AVC/MVCによって符号化して得られる基本ストリームおよび拡張ストリームと、
上側の前記帯状領域である第1の領域の少なくとも一部を下側の前記帯状領域である第2の領域に足し合わせて形成される第3の領域に表示される字幕のデータを符号化して得られる字幕ストリームと、
前記フレームの上端を基準とした、前記左目用の画像と前記右目用の画像の有効画枠の上端の位置を求めることに用いられる第1のオフセット値と、前記有効画枠の下端の位置を求めることに用いられる第2のオフセット値と、移動後の前記有効画枠の上端の位置を求めることに用いられる第3のオフセット値とからなる前記有効画枠の配置位置を示す情報を含むプレイリストファイルと
を含む情報を記録した記録媒体。
【請求項4】
フレーム毎に、水平方向全体に渡って帯状領域を上側と下側に付して左目用の画像と右目用の画像をH.264 AVC/MVCによって符号化し、
上側の前記帯状領域である第1の領域の少なくとも一部を下側の前記帯状領域である第2の領域に足し合わせて形成される第3の領域に表示される字幕のデータを符号化し、
前記フレームの上端を基準とした、前記左目用の画像と前記右目用の画像の有効画枠の上端の位置を求めることに用いられる第1のオフセット値と、前記有効画枠の下端の位置を求めることに用いられる第2のオフセット値と、移動後の前記有効画枠の上端の位置を求めることに用いられる第3のオフセット値とからなる前記有効画枠の配置位置を示す情報を含むプレイリストファイルを生成し、
前記左目用の画像と前記右目用の画像を符号化して得られる基本ストリームおよび拡張ストリームと、前記字幕ストリームと、前記プレイリストファイルとを記録媒体に記録させる
ステップを含む情報処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7A】
image rotate

【図7B】
image rotate

【図8A】
image rotate

【図8B】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21A】
image rotate

【図21B】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25A】
image rotate

【図25B】
image rotate

【図25C】
image rotate

【図25D】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39A】
image rotate

【図39B】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate

【図43】
image rotate

【図44】
image rotate

【図45】
image rotate

【図46】
image rotate


【公開番号】特開2013−70385(P2013−70385A)
【公開日】平成25年4月18日(2013.4.18)
【国際特許分類】
【出願番号】特願2012−238436(P2012−238436)
【出願日】平成24年10月29日(2012.10.29)
【分割の表示】特願2012−534450(P2012−534450)の分割
【原出願日】平成23年2月11日(2011.2.11)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.HDMI
【出願人】(000002185)ソニー株式会社 (34,172)
【出願人】(596102126)ソニー ピクチャーズ エンターテインメント インコーポレイテッド (46)
【Fターム(参考)】