説明

情報処理装置、情報処理方法、及び、プログラム

【課題】BD-Jアプリケーションから、PG、及び、TextSTの画像の再生を制御する。
【解決手段】PG/TextSTの画像のPG/TextSTストリームとして、2D画像であるモノ画像のPG/TextSTの画像のモノPG/TextSTストリームと、3D画像であるステレオ画像のPG/TextSTの画像のステレオPG/TextSTストリームと、モノ画像に視差を与えるオフセット値とともに、ステレオ画像を生成するのに用いられる、モノ画像のPG/TextSTの画像のオフセット用PG/TextSTストリームとが定義されている。ストリーム選択APIは、モノPG/TextSTストリーム、ステレオPG/TextSTストリーム、又は、オフセット用PG/TextSTストリームを選択する。本発明は、BDを再生するBDプレーヤ等に適用できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、及び、プログラムに関し、特に、例えば、記録媒体から、3D(Dimension)画像のコンテンツを適切に再生することができるようにする情報処理装置、情報処理方法、及び、プログラムに関する。
【背景技術】
【0002】
例えば、映画等のコンテンツとしては、2次元(2D)画像のコンテンツが主流であるが、最近では、立体視が可能な3次元(3D)画像(グラフィック)のコンテンツが注目を集めている。
【0003】
3D画像(以下、ステレオ画像ともいう)の表示の方式としては、種々の方式があるが、いずれの方式を採用する場合であっても、3D画像のデータ量は、2D画像のデータ量よりも大になる。
【0004】
また、映画等の、高解像度の画像のコンテンツは、大容量であることもあり、そのような大容量の画像のコンテンツを、データ量の多い3D画像として記録するには、大容量の記録媒体が必要である。
【0005】
そのような大容量の記録媒体としては、例えば、BD(Blu-Ray(R))-ROM(Read Only Memory)等のBlu-Ray(R) Disc(以下、BDともいう)がある。
【0006】
BDでは、BD-J(BD Java(登録商標))を扱うことが可能であり、BD-Jによって、高度なインタラクティブ機能を提供することができる(特許文献1)。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】国際公開第2005/052940号
【発明の概要】
【発明が解決しようとする課題】
【0008】
ところで、現行のBDの規格では、3D画像のコンテンツを、BDに、どのように記録し、また、再生するかは、規定されていない。
【0009】
しかしながら、3D画像のコンテンツの記録や再生の仕方を、3D画像のコンテンツのオーサリングを行うオーサ(author)に委ねてしまうと、3D画像のコンテンツを適切に再生することができなくなるおそれがある。
【0010】
本発明は、このような状況に鑑みてなされたものであり、BD等の記録媒体から、3D画像のコンテンツを適切に再生することができるようにするものである。
【課題を解決するための手段】
【0011】
本発明の一側面の情報処理装置、又は、プログラムは、ビデオの画像を記憶するビデオプレーンは、左眼用画像を記憶する1面分の画像の記憶領域であるL領域と、右眼用画像を記憶する1面分の画像の記憶領域であるR領域との、2面分の画像の記憶領域が並んで配置された記憶領域であり、前記ビデオプレーンのコンフィグレーションは、前記2面分の画像の記憶領域である前記ビデオプレーン全体に対して定義され、前記ビデオの画像を再生するモードであるビデオモードとして、前記ビデオの画像が、2D(Dimension)画像であるモノ画像である場合に、前記モノ画像を、前記ビデオプレーンの前記L領域、及び、前記R領域のうちの、一方の記憶領域に記憶するモノビデオモードと、前記ビデオの画像が、前記モノ画像である場合に、前記モノ画像を、前記ビデオプレーンの前記L領域、及び、前記R領域の両方に記憶するデュアルモノビデオモードと、前記ビデオの画像が、3D画像であるステレオ画像である場合に、前記ステレオ画像を構成する前記左眼用画像、及び、前記右眼用画像を、前記ビデオプレーンの前記L領域、及び、前記R領域に、それぞれ記憶するステレオビデオモードと、前記ビデオの画像が、前記ステレオ画像である場合に、前記ステレオ画像を構成する前記左眼用画像、及び、前記右眼用画像のうちの一方を、前記ビデオプレーンの前記L領域、及び、前記R領域の両方に記憶するフラットステレオビデオモードと、前記ビデオの画像が、前記ステレオ画像である場合に、前記ステレオ画像を構成する前記左眼用画像、及び、前記右眼用画像のうちの一方を、前記ビデオプレーンの前記L領域、及び、前記R領域のうちの、一方の記憶領域に記憶する強制モノビデオモードとの5つのモードが定義され、PG(Presentation Graphics)の画像のPGストリームとして、2D画像であるモノ画像の前記PGの画像のPGストリームであるモノPGストリームと、3D画像であるステレオ画像の前記PGの画像のPGストリームであるステレオPGストリームと、前記モノ画像に視差を与えるデータであるオフセット値とともに、ステレオ画像を生成するのに用いられる、前記モノ画像の前記PGの画像のPGストリームであるオフセット用PGストリームとが定義され、字幕画像のText subtitleストリームとして、2D画像であるモノ画像の前記Text subtitleの画像のText subtitle ストリームであるモノText subtitleストリームと、3D画像であるステレオ画像の前記Text subtitleの画像のText subtitleストリームであるステレオText subtitleストリームと、前記モノ画像に視差を与えるデータであるオフセット値とともに、ステレオ画像を生成するのに用いられる、前記モノ画像の前記Text subtitleの画像のText subtitleストリームであるオフセット用Text subtitleストリームとが定義され、前記モノPGストリーム、前記ステレオPGストリーム、又は、前記オフセット用PGストリームの選択と、前記モノText subtitleストリーム、前記ステレオText subtitleストリーム、又は、前記オフセット用Text subtitleストリームの選択とを行うストリーム選択API(Application Programming Interface)を備え、前記オフセット用PGストリームは、前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、前記デュアルモノビデオモード、及び、前記ステレオビデオモードのいずれの場合であっても選択することが可能であり、前記ステレオPGストリームは、前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、前記デュアルモノビデオモード、及び、前記ステレオビデオモードのいずれの場合であっても選択することが可能であり、前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、又は、前記デュアルモノビデオモードの場合に、前記オフセット用PGストリームが選択されたとき、前記オフセット値が0にセットされ、前記オフセット用PGストリームに対応する前記モノ画像が再生され、前記ビデオモードが、前記モノビデオモード、又は、前記強制モノビデオモードの場合に、前記ステレオPGストリームが選択されたとき、前記ステレオPGストリームに対応する前記ステレオ画像を構成する前記左眼用画像、及び、前記右眼用画像のうちの一方が再生され、前記ビデオモードが、前記フラットステレオビデオモード、又は、前記デュアルモノビデオモードの場合に、前記ステレオPGストリームが選択されたとき、ストリームに割り当てられる番号であるストリーム番号が、選択された前記ステレオPGストリームと同一の前記オフセット用PGストリームが存在すれば、そのオフセット用PGストリームに対応する前記モノ画像が、前記オフセット値を0にセットして再生され、前記オフセット用Text subtitleストリームは、前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、前記デュアルモノビデオモード、及び、前記ステレオビデオモードのいずれの場合であっても選択することが可能であり、前記ステレオPGストリームは、前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、前記デュアルモノビデオモード、及び、前記ステレオビデオモードのいずれの場合であっても選択することが可能であり、前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、又は、前記デュアルモノビデオモードの場合に、前記オフセット用Text subtitleストリームが選択されたとき、前記オフセット値が0にセットされ、前記オフセット用PGストリームに対応する前記モノ画像が再生され、前記ビデオモードが、前記モノビデオモード、又は、前記強制モノビデオモードの場合に、前記ステレオText subtitleストリームが選択されたとき、前記ステレオText subtitleストリームに対応する前記ステレオ画像を構成する前記左眼用画像、及び、前記右眼用画像のうちの一方が再生され、前記ビデオモードが、前記フラットステレオビデオモード、又は、前記デュアルモノビデオモードの場合に、前記ステレオText subtitleストリームが選択されたとき、前記ストリーム番号が、選択された前記ステレオText subtitleストリームと同一の前記オフセット用Text subtitleストリームが存在すれば、そのオフセット用Text subtitleストリームに対応する前記モノ画像が、前記オフセット値を0にセットして再生される情報処理装置、又は、情報処理装置として、コンピュータを機能させるためのプログラムである。
【0012】
本発明の一側面の情報処理方法は、ビデオの画像を記憶するビデオプレーンは、左眼用画像を記憶する1面分の画像の記憶領域であるL領域と、右眼用画像を記憶する1面分の画像の記憶領域であるR領域との、2面分の画像の記憶領域が並んで配置された記憶領域であり、前記ビデオプレーンのコンフィグレーションは、前記2面分の画像の記憶領域である前記ビデオプレーン全体に対して定義され、前記ビデオの画像を再生するモードであるビデオモードとして、前記ビデオの画像が、2D(Dimension)画像であるモノ画像である場合に、前記モノ画像を、前記ビデオプレーンの前記L領域、及び、前記R領域のうちの、一方の記憶領域に記憶するモノビデオモードと、前記ビデオの画像が、前記モノ画像である場合に、前記モノ画像を、前記ビデオプレーンの前記L領域、及び、前記R領域の両方に記憶するデュアルモノビデオモードと、前記ビデオの画像が、3D画像であるステレオ画像である場合に、前記ステレオ画像を構成する前記左眼用画像、及び、前記右眼用画像を、前記ビデオプレーンの前記L領域、及び、前記R領域に、それぞれ記憶するステレオビデオモードと、前記ビデオの画像が、前記ステレオ画像である場合に、前記ステレオ画像を構成する前記左眼用画像、及び、前記右眼用画像のうちの一方を、前記ビデオプレーンの前記L領域、及び、前記R領域の両方に記憶するフラットステレオビデオモードと、前記ビデオの画像が、前記ステレオ画像である場合に、前記ステレオ画像を構成する前記左眼用画像、及び、前記右眼用画像のうちの一方を、前記ビデオプレーンの前記L領域、及び、前記R領域のうちの、一方の記憶領域に記憶する強制モノビデオモードとの5つのモードが定義され、PG(Presentation Graphics)の画像のPGストリームとして、2D画像であるモノ画像の前記PGの画像のPGストリームであるモノPGストリームと、3D画像であるステレオ画像の前記PGの画像のPGストリームであるステレオPGストリームと、前記モノ画像に視差を与えるデータであるオフセット値とともに、ステレオ画像を生成するのに用いられる、前記モノ画像の前記PGの画像のPGストリームであるオフセット用PGストリームとが定義され、字幕画像のText subtitleストリームとして、2D画像であるモノ画像の前記Text subtitleの画像のText subtitle ストリームであるモノText subtitleストリームと、3D画像であるステレオ画像の前記Text subtitleの画像のText subtitleストリームであるステレオText subtitleストリームと、前記モノ画像に視差を与えるデータであるオフセット値とともに、ステレオ画像を生成するのに用いられる、前記モノ画像の前記Text subtitleの画像のText subtitleストリームであるオフセット用Text subtitleストリームとが定義され、前記モノPGストリーム、前記ステレオPGストリーム、又は、前記オフセット用PGストリームの選択と、前記モノText subtitleストリーム、前記ステレオText subtitleストリーム、又は、前記オフセット用Text subtitleストリームの選択とを行うストリーム選択API(Application Programming Interface)が、前記ステレオPGストリーム、又は、前記オフセット用PGストリームの選択と、前記モノText subtitleストリーム、前記ステレオText subtitleストリーム、又は、前記オフセット用Text subtitleストリームの選択とを行うステップを含み、前記オフセット用PGストリームは、前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、前記デュアルモノビデオモード、及び、前記ステレオビデオモードのいずれの場合であっても選択することが可能であり、前記ステレオPGストリームは、前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、前記デュアルモノビデオモード、及び、前記ステレオビデオモードのいずれの場合であっても選択することが可能であり、前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、又は、前記デュアルモノビデオモードの場合に、前記オフセット用PGストリームが選択されたとき、前記オフセット値が0にセットされ、前記オフセット用PGストリームに対応する前記モノ画像が再生され、前記ビデオモードが、前記モノビデオモード、又は、前記強制モノビデオモードの場合に、前記ステレオPGストリームが選択されたとき、前記ステレオPGストリームに対応する前記ステレオ画像を構成する前記左眼用画像、及び、前記右眼用画像のうちの一方が再生され、前記ビデオモードが、前記フラットステレオビデオモード、又は、前記デュアルモノビデオモードの場合に、前記ステレオPGストリームが選択されたとき、ストリームに割り当てられる番号であるストリーム番号が、選択された前記ステレオPGストリームと同一の前記オフセット用PGストリームが存在すれば、そのオフセット用PGストリームに対応する前記モノ画像が、前記オフセット値を0にセットして再生され、前記オフセット用Text subtitleストリームは、前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、前記デュアルモノビデオモード、及び、前記ステレオビデオモードのいずれの場合であっても選択することが可能であり、前記ステレオPGストリームは、前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、前記デュアルモノビデオモード、及び、前記ステレオビデオモードのいずれの場合であっても選択することが可能であり、前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、又は、前記デュアルモノビデオモードの場合に、前記オフセット用Text subtitleストリームが選択されたとき、前記オフセット値が0にセットされ、前記オフセット用PGストリームに対応する前記モノ画像が再生され、前記ビデオモードが、前記モノビデオモード、又は、前記強制モノビデオモードの場合に、前記ステレオText subtitleストリームが選択されたとき、前記ステレオText subtitleストリームに対応する前記ステレオ画像を構成する前記左眼用画像、及び、前記右眼用画像のうちの一方が再生され、前記ビデオモードが、前記フラットステレオビデオモード、又は、前記デュアルモノビデオモードの場合に、前記ステレオText subtitleストリームが選択されたとき、前記ストリーム番号が、選択された前記ステレオText subtitleストリームと同一の前記オフセット用Text subtitleストリームが存在すれば、そのオフセット用Text subtitleストリームに対応する前記モノ画像が、前記オフセット値を0にセットして再生される情報処理方法である。
【0013】
本発明の一側面においては、ビデオの画像を記憶するビデオプレーンは、左眼用画像を記憶する1面分の画像の記憶領域であるL領域と、右眼用画像を記憶する1面分の画像の記憶領域であるR領域との、2面分の画像の記憶領域が並んで配置された記憶領域であり、前記ビデオプレーンのコンフィグレーションは、前記2面分の画像の記憶領域である前記ビデオプレーン全体に対して定義されている。
【0014】
また、前記ビデオの画像を再生するモードであるビデオモードとして、前記ビデオの画像が、2D(Dimension)画像であるモノ画像である場合に、前記モノ画像を、前記ビデオプレーンの前記L領域、及び、前記R領域のうちの、一方の記憶領域に記憶するモノビデオモードと、前記ビデオの画像が、前記モノ画像である場合に、前記モノ画像を、前記ビデオプレーンの前記L領域、及び、前記R領域の両方に記憶するデュアルモノビデオモードと、前記ビデオの画像が、3D画像であるステレオ画像である場合に、前記ステレオ画像を構成する前記左眼用画像、及び、前記右眼用画像を、前記ビデオプレーンの前記L領域、及び、前記R領域に、それぞれ記憶するステレオビデオモードと、前記ビデオの画像が、前記ステレオ画像である場合に、前記ステレオ画像を構成する前記左眼用画像、及び、前記右眼用画像のうちの一方を、前記ビデオプレーンの前記L領域、及び、前記R領域の両方に記憶するフラットステレオビデオモードと、前記ビデオの画像が、前記ステレオ画像である場合に、前記ステレオ画像を構成する前記左眼用画像、及び、前記右眼用画像のうちの一方を、前記ビデオプレーンの前記L領域、及び、前記R領域のうちの、一方の記憶領域に記憶する強制モノビデオモードとの5つのモードが定義されている。
【0015】
さらに、PG(Presentation Graphics)の画像のPGストリームとして、2D画像であるモノ画像の前記PGの画像のPGストリームであるモノPGストリームと、3D画像であるステレオ画像の前記PGの画像のPGストリームであるステレオPGストリームと、前記モノ画像に視差を与えるデータであるオフセット値とともに、ステレオ画像を生成するのに用いられる、前記モノ画像の前記PGの画像のPGストリームであるオフセット用PGストリームとが定義されている。
【0016】
また、字幕画像のText subtitleストリームとして、2D画像であるモノ画像の前記Text subtitleの画像のText subtitle ストリームであるモノText subtitleストリームと、3D画像であるステレオ画像の前記Text subtitleの画像のText subtitleストリームであるステレオText subtitleストリームと、前記モノ画像に視差を与えるデータであるオフセット値とともに、ステレオ画像を生成するのに用いられる、前記モノ画像の前記Text subtitleの画像のText subtitleストリームであるオフセット用Text subtitleストリームとが定義されている。
【0017】
そして、ストリーム選択APIは、前記モノPGストリーム、前記ステレオPGストリーム、又は、前記オフセット用PGストリームの選択と、前記モノText subtitleストリーム、前記ステレオText subtitleストリーム、又は、前記オフセット用Text subtitleストリームの選択とを行う。
【0018】
ここで、前記オフセット用PGストリームは、前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、前記デュアルモノビデオモード、及び、前記ステレオビデオモードのいずれの場合であっても選択することが可能であり、前記ステレオPGストリームは、前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、前記デュアルモノビデオモード、及び、前記ステレオビデオモードのいずれの場合であっても選択することが可能である。
【0019】
但し、前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、又は、前記デュアルモノビデオモードの場合に、前記オフセット用PGストリームが選択されたとき、前記オフセット値が0にセットされ、前記オフセット用PGストリームに対応する前記モノ画像が再生される。
【0020】
また、前記ビデオモードが、前記モノビデオモード、又は、前記強制モノビデオモードの場合に、前記ステレオPGストリームが選択されたとき、前記ステレオPGストリームに対応する前記ステレオ画像を構成する前記左眼用画像、及び、前記右眼用画像のうちの一方が再生される。
【0021】
さらに、前記ビデオモードが、前記フラットステレオビデオモード、又は、前記デュアルモノビデオモードの場合に、前記ステレオPGストリームが選択されたとき、ストリームに割り当てられる番号であるストリーム番号が、選択された前記ステレオPGストリームと同一の前記オフセット用PGストリームが存在すれば、そのオフセット用PGストリームに対応する前記モノ画像が、前記オフセット値を0にセットして再生される。
【0022】
また、前記オフセット用Text subtitleストリームは、前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、前記デュアルモノビデオモード、及び、前記ステレオビデオモードのいずれの場合であっても選択することが可能であり、前記ステレオPGストリームは、前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、前記デュアルモノビデオモード、及び、前記ステレオビデオモードのいずれの場合であっても選択することが可能である。
【0023】
但し、前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、又は、前記デュアルモノビデオモードの場合に、前記オフセット用Text subtitleストリームが選択されたとき、前記オフセット値が0にセットされ、前記オフセット用PGストリームに対応する前記モノ画像が再生される。
【0024】
また、前記ビデオモードが、前記モノビデオモード、又は、前記強制モノビデオモードの場合に、前記ステレオText subtitleストリームが選択されたとき、前記ステレオText subtitleストリームに対応する前記ステレオ画像を構成する前記左眼用画像、及び、前記右眼用画像のうちの一方が再生される。
【0025】
さらに、前記ビデオモードが、前記フラットステレオビデオモード、又は、前記デュアルモノビデオモードの場合に、前記ステレオText subtitleストリームが選択されたとき、前記ストリーム番号が、選択された前記ステレオText subtitleストリームと同一の前記オフセット用Text subtitleストリームが存在すれば、そのオフセット用Text subtitleストリームに対応する前記モノ画像が、前記オフセット値を0にセットして再生される。
【0026】
情報処理装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
【0027】
また、プログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
【発明の効果】
【0028】
本発明によれば、3D画像のコンテンツを適切に再生することができる。
【図面の簡単な説明】
【0029】
【図1】BDMVフォーマットの概要を説明する図である。
【図2】BDのファイルの管理構造を説明する図である。
【図3】BDプレーヤのハードウェアの構成例を示すブロック図である。
【図4】3D対応プレーヤによる3D画像の処理の概要を説明する図である。
【図5】BD-Jアプリケーションによる、グラフィックスプレーン11への、グラフィクスの3D画像の描画を説明する図である。
【図6】BD-Jアプリケーションが、グラフィックスプレーン11に、グラフィクスの3D画像を描画することにより、グラフィクスの画像を再生するグラフィクスモードを示す図である。
【図7】3D対応プレーヤの機能的構成例を示すブロック図である。
【図8】コンフィグレーションの1つである、ビデオの画像を再生するビデオモードを示す図である。
【図9】コンフィグレーションの1つである、バックグラウンドの画像を再生するバックグラウンドモードを示す図である。
【図10】デバイスプレーンであるグラフィクスプレーン11、PGプレーン12、ビデオプレーン13、及び、バックグラウンドプレーン14の関係を示す図である。
【図11】コンフィグレーションの1つである、画枠(Resolution)、及び、色深度(color-depth)を示す図である。
【図12】3D画像の不一致ケースにおいて、第2の描画方式で、3D画像を描画する方法を説明する図である。
【図13】デバイスプレーンを説明する図である。
【図14】BD-Jオブジェクトのファイル中に、コンフィグレーションを指定するために設けるビットフィールドを示す図である。
【図15】initial_video_mode,initial_graphics_mode、及び、initial_background_modeのデフォルトの規定値を示す図である。
【図16】KEEP_RESOLUTION再生以外の再生の、Video+PG,BD-J graphics、及び、backgroundの解像度(画枠)の組み合わせを示す図である。
【図17】KEEP_RESOLUTION再生以外の再生の、Video+PG,BD-J graphics、及び、backgroundの解像度(画枠)の組み合わせを示す図である。
【図18】コンフィグレーションの変更の処理の例を示す図である。
【図19】グラフィクスモード、及び、バックグラウンドモードの所定の初期値を示す図である。
【図20】1920×2160画素の3D画像(ステレオ画像)を再生する場合に再生されるグラフィクス、及び、バックグラウンドモードを示す図である。
【図21】BD-JアプリケーションによるAPIの呼び出しによる、コンフィグレーションとしての解像度(画枠)の変更を説明する図である。
【図22】グラフィクスモードの変更を説明する図である。
【図23】ステレオグラフィクスモードから、オフセットグラフィクスモードへのグラフィクスモードの変更を示す図である。
【図24】バックグラウンドモードの変更を説明する図である。
【図25】ビデオモードの変更を説明する図である。
【図26】3D対応プレーヤの機能的構成例を示すブロック図である。
【図27】各ビデオモードで選択することができるPG再生モード、及び、TextST再生モードを示す図である。
【図28】3D対応プレーヤの機能的構成例を示すブロック図である。
【図29】PGについての、3D対応プレーヤの処理を説明する図である。
【図30】3D対応プレーヤにおける、3D画像の再生と、2D画像の再生との切り替えを説明する図である。
【図31】オーサによるビデオの位置とサイズの設定と、3D対応プレーヤによるビデオの位置とサイズの補正とを説明する図である。
【図32】3D対応プレーヤの機能的構成例を示すブロック図である。
【図33】1920×2160画素のグラフィクスプレーン11を示す図である。
【図34】3D対応プレーヤの機能的構成例を示すブロック図である。
【図35】3D対応プレーヤによるグラフィクスの処理を説明するフローチャートである。
【図36】3D対応プレーヤによるグラフィクスの処理を説明するフローチャートである。
【図37】3D対応プレーヤによるグラフィクスの処理を説明するフローチャートである。
【図38】グラフィクスプレーン11に描画されたGUIの例を示す図である。
【図39】第1のフォーカス方式と、第2のフォーカス方式とを示す図である。
【図40】3D対応プレーヤのフォーカスの管理を説明するフローチャートである。
【図41】カーソルの3D画像が見える表示画面上の位置と、グラフィクスプレーン11上のカーソルの位置とを示す図である。
【図42】グラフィクスの左眼用画像と右眼用画像との整合性を説明する図である。
【図43】3D対応プレーヤの機能的構成例を示すブロック図である。
【図44】Lグラフィクスプレーン11Lと、Rグラフィクスプレーン11Rとをまたぐ画像を示す図である。
【図45】アニメーションのための左眼用画像の描画と、アニメーションのための右眼用画像の描画とを示す図である。
【図46】3D対応プレーヤの機能的構成例を示すブロック図である。
【図47】Image Frame Accurate Animation の拡張APIの定義を示す図である。
【図48】Sync Frame Accurate Animation の拡張APIの定義を示す図である。
【図49】Image Frame Accurate Animation のサンプルコードを示す図である。
【図50】Image Frame Accurate Animation のサンプルコードを示す図である。
【図51】Sync Frame Accurate Animation のサンプルコードを示す図である。
【図52】Sync Frame Accurate Animation のサンプルコードを示す図である。
【発明を実施するための形態】
【0030】
以下、本発明の実施の形態を、BDに適用した場合を例に説明する。
【0031】
[BDの管理構造]
【0032】
まず、現行のBDに関し、"Blu-ray Disc Read-Only Format Ver1.0 part3 Audio Visual Specifications"で規定されている、読み出し専用タイプのBDであるBD-ROMに記録されたコンテンツ、すなわち、AV(Audio/Video)データ等の管理構造(以下、BDMVフォーマットともいう)について説明する。
【0033】
例えば、MPEG(Moving Picture Experts Group)ビデオや、MPEGオーディオ等の符号化方式で符号化され、MPEG2システムに従って多重化されたビットストリームは、クリップAVストリーム(またはAVストリーム)と呼ばれる。クリップAVストリームは、BDに関する規格の一つである"Blu-ray Disc Read-Only Format part2"で定義されたファイルシステムにより、ファイルとしてBDに記録される。クリップAVストリームのファイルは、クリップAVストリームファイル(またはAVストリームファイル)と呼ばれる。
【0034】
クリップAVストリームファイルは、ファイルシステム上での管理単位であり、クリップAVストリームファイル(のクリップAVストリーム)を再生に必要な情報等は、データベースとしてBDに記録される。このデータベースについては、BD規格の一つである"Blu-ray Disc Read-Only Format part3"で規定されている。
【0035】
図1は、BDMVフォーマットの概要を説明する図である。
【0036】
BDMVフォーマットは、4層のレイヤから構成される。
【0037】
最下位のレイヤは、クリップAVストリームが属するレイヤであり、以下、適宜、クリップレイヤともいう。
【0038】
クリップレイヤの1つ上のレイヤは、クリップAVストリームに対する再生箇所を指定するための、プレイリスト(Movie PlayList)が属するレイヤで、以下、プレイリストレイヤともいう。
【0039】
プレイリストレイヤの1つ上のレイヤは、プレイリストに対して再生順等を指定するコマンドからなるムービーオブジェクト(Movie Object)等が属するレイヤで、以下、オブジェクトレイヤともいう。
【0040】
オブジェクトレイヤの1つ上のレイヤ(最上位のレイヤ)は、BDに格納されるタイトル等を管理するインデックステーブルが属するレイヤで、以下、インデクスレイヤともいう。
【0041】
クリップレイヤ、プレイリストレイヤ、オブジェクトレイヤ、及び、インデクスレイヤについて、さらに説明する。
【0042】
クリップレイヤには、クリップAVストリームや、クリップ情報(Clip Information)等が属する。
【0043】
クリップAVストリームは、コンテンツのデータとしてのビデオデータやオーディオデータ等をTS(MPEG2 TS(Transport Stream))の形にしたストリームである。
【0044】
クリップ情報(Clip Information)は、クリップAVストリームに関する情報であり、ファイルとして、BDに記録される。
【0045】
なお、クリップAVストリームには、字幕やメニュー等のグラフィクスのストリームも、必要に応じて含まれる。
【0046】
字幕(のグラフィクス)のストリームは、プレゼンテーショングラフィクス(PG(Presentation Graphics))ストリームと呼ばれ、メニュー(のグラフィクス)のストリームは、インタラクティブグラフィクス(IG(Interactive Graphics))ストリームと呼ばれる。
【0047】
また、クリップAVストリームファイルと、対応するクリップ情報(そのクリップAVストリームファイルのクリップAVストリームに関するクリップ情報)のファイル(クリップ情報ファイル)とのセットは、クリップ(Clip)と呼ばれる。
【0048】
クリップは、クリップAVストリームとクリップ情報とから構成される、1つのオブジェクトである。
【0049】
クリップを構成するクリップAVストリームに対応するコンテンツを時間軸上に展開したときの最初と最後の位置(時刻)を含む複数の位置は、アクセスポイントに設定される。アクセスポイントは、主に、タイムスタンプで、上位のレイヤのプレイリスト(PlayList)により指定される。
【0050】
クリップを構成するクリップ情報は、プレイリストがタイムスタンプで指定したアクセスポイントが表す、クリップAVストリームの位置のアドレス(論理アドレス)を含む。
【0051】
プレイリストレイヤには、プレイリスト(Movie PlayList)が属する。
【0052】
プレイリストは、再生を行うAVストリームファイルと、そのAVストリームファイルの再生箇所を指定する再生開始点(IN点)、及び、再生終了点(OUT点)とを含むプレイアイテム(PlayItem)から構成される。
【0053】
したがって、プレイリストは、プレイアイテムの集合で構成される。
【0054】
ここで、プレイアイテムの再生とは、そのプレイアイテムに含まれるIN点とOUT点とによって特定される、クリップAVストリームの区間の再生を意味する。
【0055】
オブジェクトレイヤには、ムービーオブジェクト(Movie Object)や、BD-Jオブジェクト(Blu-ray Disc Java(登録商標) Object)が属する。
【0056】
ムービーオブジェクトは、HDMV(High Definition Movie)ナビゲーションコマンドプログラム(ナビコマンド)と、ムービーオブジェクトとを連携するターミナルインフォメーションを含む。
【0057】
ナビコマンドは、プレイリストの再生を制御するためのコマンドである。ターミナルインフォメーションは、BDを再生するBDプレーヤに対するユーザのインタラクティブな操作を許可するための情報を含む。BDプレーヤでは、ターミナルインフォメーションに基づき、メニューの呼び出しや、タイトルサーチといったユーザオペレーションが制御される。
【0058】
BD-Jオブジェクトは、Java(登録商標)プログラムであり、ナビコマンドよりも、より高度な(洗練された)インタラクティブ機能を、ユーザに提供することができる。
【0059】
インデクスレイヤには、インデクステーブル(Index table)が属する。
【0060】
インデクステーブルは、BD-ROMディスクのタイトルを定義する、トップレベルのテーブルである。
【0061】
インデクステーブルのエントリ(欄)は、タイトルに対応し、各エントリからは、そのエントリに対応するタイトル(HDMVタイトル、BD-Jタイトル)のオブジェクト(ムービーオブジェクト、BD-Jオブジェクト)にリンクがはられる。
【0062】
図2は、"Blu-ray Disc Read-Only Format part3"で規定された、BDのファイルの管理構造を説明する図である。
【0063】
BDでは、ファイルは、ディレクトリ構造により階層的に管理される。
【0064】
ここで、図2では、ディレクトリの下のファイル(ディレクトリを含む)とは、そのディレクトリの直下にあるファイルを意味し、ディレクトリに含まれるファイルとは、そのディレクトリの直下にあるファイルや、そのディレクトリの、いわゆるサブディレクトリの下にあるファイルを意味する。
【0065】
BDの最上位階層のディレクトリは、ルート(root)ディレクトリになっている。
【0066】
ルートディレクトリの直下には、ディレクトリ"BDMV"と、ディレクトリ"CERTIFICATE"とが存在する。
【0067】
ディレクトリ"CERTIFICATE"には、著作権に関する情報(ファイル)が格納される。
【0068】
ディレクトリ"BDMV"には、図1で説明したBDMVフォーマットのファイルが格納される。
【0069】
ディレクトリ"BDMV"の直下には、ファイル"index.bdmv"、及び"MovieObject.bdmv"の2つのファイルが格納される。なお、ディレクトリ"BDMV"の直下には、ファイル"index.bdmv"、及び"MovieObject.bdmv"以外のファイル(ディレクトリを除く)は、格納することができない。
【0070】
ファイル"index.bdmv"は、BDを再生するメニューに関する情報としての、図1で説明したインデクステーブルを含む。
【0071】
BDプレーヤは、例えば、BDのコンテンツを全て再生する、特定のチャプタのみを再生する、繰り返し再生をする、所定のメニューを表示する等の内容の項目を含む初期メニュー(の画面)を、ファイル"index.bdmv"に基づいて再生する。
【0072】
また、ファイル"index.bdmv"には、各項目が選択されたときに実行するムービーオブジェクト(Movie Object)を設定することができ、ユーザにより初期メニュー画面から1つの項目が選択された場合、BDプレーヤは、ファイル"index.bdmv"に設定されているMovie Objectのコマンドを実行する。
【0073】
ファイル"MovieObject.bdmv"は、Movie Objectの情報を含むファイルである。Movie Objectは、BDに記録されているPlayListの再生を制御するコマンドを含み、例えば、BDプレーヤは、BDに記録されているMovieObjectの中から1つを選択して実行することにより、BDに記録されているコンテンツ(タイトル)を再生する。
【0074】
ディレクトリ"BDMV"の直下には、ディレクトリ"PLAYLIST","CLIPINF","STREAM","AUXDATA","META","BDJO","JAR"、及び"BACKUP"が設けられる。
【0075】
ディレクトリ"PLAYLIST"には、プレイリストのデータベースが格納される。すなわち、ディレクトリ"PLAYLIST"には、プレイリストのファイル"xxxxx.mpls"が格納される。ファイル"xxxxx.mpls"のファイル名には、5桁の数字"xxxxx"と、拡張子"mpls"とからなるファイル名が用いられる。
【0076】
ディレクトリ"CLIPINF"は、クリップのデータベースが格納される。すなわち、ディレクトリCLIPINF"には、クリップAVストリームファイルのそれぞれに対するクリップインフォメーションファイル"xxxxx.clpi"が格納される。クリップインフォメーションファイル"xxxxx.clpi"のファイル名には、5桁の数字"xxxxx"と、拡張子"clpi"とからなるファイル名が用いられる。
【0077】
ディレクトリ"STREAM"には、クリップAVストリームファイル"xxxxx.m2ts"が格納される。クリップAVストリームファイル"xxxxx.m2ts"には、TSが格納される。クリップAVストリームファイル"xxxxx.m2ts"のファイル名には、5桁の数字"xxxxx"と、拡張子"m2ts"とからなるファイル名が用いられる。
【0078】
なお、あるクリップを構成するクリップインフォメーションファイル"xxxxx.clpi"と、クリップAVストリームファイル"xxxxx.m2ts"のファイル名としては、拡張子を除き、一致するファイル名が用いられる。これにより、あるクリップを構成するクリップインフォメーションファイル"xxxxx.clpi"と、クリップAVストリームファイル"xxxxx.m2ts"とを、容易に特定することができる。
【0079】
ディレクトリ"AUXDATA"には、メニューの表示等に用いられる、サウンドファイル、フォントファイル、フォントインデクスファイル及びビットマップファイル等が格納される。
【0080】
図2では、ディレクトリ"AUXDATA"に、ファイル"sound.bdmv"や、拡張子が"otf"のファイルが格納されている。
【0081】
ファイル"sound.bdmv"には、所定のサウンドデータ(オーディオデータ)が格納される。ファイル"sound.bdmv"のファイル名は、"sound.bdmv"が固定的に用いられる。
【0082】
拡張子が"otf"のファイルには、字幕の表示や、BD-Jオブジェクト(アプリケーション)等で用いられるフォントのデータが格納される。拡張子が"otf"のファイルのファイル名のうちの拡張子以外の部分には、5桁の数字が用いられる。
【0083】
ディレクトリ"META"には、メタデータのファイルが格納される。ディレクトリ"BDJO"及びディレクトリ"JAR"は、BD-Jオブジェクトのファイルが格納される。ディレクトリ"BACKUP"は、BDに記録されたファイルのバックアップが格納される。
【0084】
[BDプレーヤのハードウェアの構成例]
【0085】
図3は、BDを再生するBDプレーヤのハードウェアの構成例を示すブロック図である。
【0086】
図3のBDプレーヤは、3D画像のコンテンツが記録されたBDの再生を行うことができるようになっている。
【0087】
BDプレーヤは、CPU(Central Processing Unit)102等の、プロセッサ(コンピュータ)を内蔵している。CPU102には、バス101を介して、入出力インタフェース110が接続されている。
【0088】
CPU102は、入出力インタフェース110を介して、ユーザによって、入力部107が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)103に格納されているプログラムを実行する。あるいは、CPU102は、ハードディスク105や、ドライブ109に装着されたディスク100に記録されたプログラムを、RAM(Random Access Memory)104にロードして実行する。
【0089】
これにより、CPU102は、後述する各種の処理を行う。そして、CPU102は、その処理結果を、必要に応じて、例えば、入出力インタフェース110を介して、出力部106から出力、あるいは、通信部108から送信、さらには、ハードディスク105に記録等させる。
【0090】
なお、入力部107は、キーボードや、マウス、マイク等で構成される。また、出力部106は、LCD(Liquid Crystal Display)やスピーカ等で構成される。通信部108は、ネットワークカード等で構成される。
【0091】
ここで、CPU102が実行するプログラムは、BDプレーヤに内蔵されている記録媒体としてのハードディスク105やROM103に予め記録しておくことができる。
【0092】
あるいはまた、プログラムは、ディスク100等のリムーバブル記録媒体に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブル記録媒体としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
【0093】
なお、プログラムは、上述したようなリムーバブル記録媒体からBDプレーヤにインストールする他、通信網や放送網を介して、BDプレーヤにダウンロードし、内蔵するハードディスク105にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、BDプレーヤに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、BDプレーヤに有線で転送することができる。
【0094】
図3において、ディスク100は、例えば、BDであり、そこには、3D画像のコンテンツが、レガシープレーヤで再生されるBDとの互換性を維持する形で記録されている。
【0095】
したがって、ディスク100は、レガシープレーヤでも再生することができるし、3D画像のコンテンツの再生を行うことができるBDプレーヤ(以下、3D対応プレーヤともいう)である図3のBDプレーヤでも再生することができる。
【0096】
ここで、レガシープレーヤとは、現行の、2D画像のコンテンツが記録されたBDの再生をすることはできるが、3D画像のコンテンツを再生することができないBDプレーヤである。
【0097】
レガシープレーヤでは、ディスク100から、2D画像のコンテンツを再生することはできるが、3D画像のコンテンツを再生することはできない。
【0098】
一方、3D対応プレーヤである図3のBDプレーヤでは、ディスク100から、2D画像のコンテンツを再生することもできるし、3D画像のコンテンツを再生することもできる。
【0099】
図3のBDプレーヤでは、BDであるディスク100がドライブ109に装着されると、CPU102が、ドライブ109を制御することにより、ディスク100の再生を行う。
【0100】
[BD-Jアプリケーションの説明]
【0101】
ディスク100(図3)には、3D画像のコンテンツの1つとして、BD-Jアプリケーション(BD-Jタイトル)(BD-Jオブジェクト)が記録されている。
【0102】
3D対応プレーヤである図3のBDプレーヤでは、CPU102が、Java(登録商標)仮想マシンを実行し、そのJava(登録商標)仮想マシン上で、BD-Jアプリケーションが実行される。
【0103】
図4は、3D対応プレーヤによる3D画像の処理の概要(BD-J stereoscopic graphicsの概要)を説明する図である。
【0104】
3D対応プレーヤは、3D画像を、論理プレーン10、PGプレーン12、又は、ビデオプレーン13に描画する。なお、論理プレーン10、PGプレーン12、及び、ビデオプレーン13の実体は、例えば、図3のRAM104の一部の記憶領域である。
【0105】
3D対応プレーヤが描画する3D画像には、BD規格に規定されたBD-Jのグラフィクス、PG(Presentation Graphics)、TextST(Text subtitle)、ビデオ、及び、バックグラウンドがある。
【0106】
ここで、図4では、グラフィクスの3D画像(stereo graphics source)は、左眼で観察される画像である左眼用画像(L(Left)-view)と、右眼で観察される画像である右眼用画像(R(Right)-view)とから構成される。
【0107】
PGの3D画像(stereo PG source)、ビデオの3D画像(stereo video source)、及び、バックグラウンドの3D画像(stereo background source)も、同様に、左眼用画像と右眼用画像とから構成される。
【0108】
なお、ビデオの3D画像等を構成する左眼用画像、及び、右眼用画像は、例えば、H.264 AVC(Advanced Video Coding)/MVC(Multi-view Video coding)等で符号化することができる。
【0109】
ここで、H.264 AVC/MVCでは、ベースビュー(Base View)と呼ばれる画像ストリームと、ディペンデントビュー(Dependent View)と呼ばれる画像ストリームとが定義されている。
【0110】
ベースビューには、他のストリームを参照画像とする予測符号化が許されていないが、ディペンデントビューには、ベースビューを参照画像とする予測符号化が許されている。左眼用画像、及び右眼用画像のうちの、例えば、左眼用画像は、ベースビューとし、右眼用画像は、ディペンデントビューとすることができる。
【0111】
3D対応プレーヤは、論理プレーン10に描画された3D画像を、グラフィクスプレーン11や、バックグラウンドプレーン14に描画する。
【0112】
グラフィクスプレーン11は、左眼用画像を記憶するLグラフィクスプレーン(L(Left) graphics plane)11Lと、右眼用画像を記憶するRグラフィクスプレーン(R(Right) graphics plane)11Rとから構成される。
【0113】
論理プレーン10に描画されたグラフィクスの3D画像を構成する左眼用画像は、Lグラフィクスプレーン11Lに描画され、右眼用画像は、Rグラフィクスプレーン11Rに描画される。
【0114】
ここで、Lグラフィクスプレーン11Lは、左眼で観察されるL(Left)用の画像(左眼用画像)を記憶する1面分の画像の記憶領域(L領域)である。また、Rグラフィクスプレーン11Rは、右眼で観察されるR(Right)用の画像(右眼用画像)を記憶する1面分の画像の記憶領域(R領域)である。
【0115】
Lグラフィクスプレーン11L、及び、Rグラフィクスプレーン11R、すなわち、グラフィクスプレーン11の実体は、論理プレーン10とは別の、図3のRAM104の一部の記憶領域である。
【0116】
PGプレーン12、ビデオプレーン13、及び、バックグラウンドプレーン14も同様である。
【0117】
PGプレーン12は、左眼用画像を記憶するL-PGプレーン(L(Left) PG plane)12Lと、右眼用画像を記憶するR-PGプレーン(R(Right) PG plane)12Rとから構成される。
【0118】
3D対応プレーヤは、PGの3D画像を構成する左眼用画像を、L-PGプレーン12Lに描画し、右眼用画像を、R-PGプレーン12Rに描画する。
【0119】
ビデオプレーン13は、左眼用画像を記憶するLビデオプレーン(L(Left) video plane)13Lと、右眼用画像を記憶するRビデオプレーン(R(Right) video plane)13Rとから構成される。
【0120】
3D対応プレーヤは、ビデオの3D画像を構成する左眼用画像を、Lビデオプレーン13Lに描画し、右眼用画像を、Rビデオプレーン13Rに描画する。
【0121】
バックグラウンドプレーン14は、左眼用画像を記憶するLバックグラウンドプレーン(L(Left) background plane)14Lと、右眼用画像を記憶するRバックグラウンドプレーン(R(Right) background plane)14Rとから構成される。
【0122】
論理プレーン10に描画されたバックグラウンドの3D画像を構成する左眼用画像は、Lバックグラウンドプレーン14Lに描画され、右眼用画像は、Rバックグラウンドプレーン14Rに描画される。
【0123】
グラフィクスプレーン11、PGプレーン12、ビデオプレーン13、及び、バックグラウンドプレーン14に描画(記憶)された左眼用画像、及び、右眼用画像は、ミキサ15に供給される。
【0124】
ミキサ15は、グラフィクスプレーン11からのグラフィクスの左眼用画像、PGプレーン12からのPGの左眼用画像、ビデオプレーン13からのビデオの左眼用画像、及び、バックグラウンドプレーン14からのバックグラウンドの左眼用画像をブレンディング(ミキシング)(合成)し、その合成結果である左眼用画像を出力する。
【0125】
また、ミキサ15は、グラフィクスプレーン11からのグラフィクスの右眼用画像、PGプレーン12からのPGの右眼用画像、ビデオプレーン13からのビデオの右眼用画像、及び、バックグラウンドプレーン14からのバックグラウンドの右眼用画像をブレンディング合成し、その合成結果である右眼用画像を出力する。
【0126】
ミキサ15が出力する左眼用画像は、左用のディスプレイ出力(L(Left) display output)として、図示せぬディスプレイに供給される。また、ミキサ15が出力する右眼用画像は、右用のディスプレイ出力(R(Right) display output)として、図示せぬディスプレイに供給される。
【0127】
図示せぬディスプレイでは、ミキサ15からの左眼用画像と右眼用画像とが、交互、又は、同時に表示されることで、3D画像が表示される。
【0128】
BD-Jアプリケーションは、グラフィクスプレーン11、PGプレーン12、ビデオプレーン13、及び、バックグラウンドプレーン14のうちの、グラフィクスプレーン11、及び、バックグラウンドプレーン14に、画像の描画を行うことができる。
【0129】
なお、本実施の形態では、BD-Jアプリケーションは、論理プレーン10にしかアクセスすることはできず、グラフィクスプレーン11、及び、バックグラウンドプレーン14には、直接アクセスすることはできないこととする。
【0130】
したがって、BD-Jアプリケーションは、画像の描画を、論理プレーン10に対して行うことができるだけで、グラフィクスプレーン11、及び、バックグラウンドプレーン14に対して直接的に行うことはできない。このため、BD-Jアプリケーションは、論理プレーン10に、画像を描画することで、間接的に、グラフィクスプレーン11や、バックグラウンドプレーン14に、画像を描画する。
【0131】
但し、以下では、説明の便宜上、BD-Jアプリケーションによる、論理プレーン10を介しての、グラフィクスプレーン11や、バックグラウンドプレーン14への画像の描画を、単に、グラフィクスプレーン11や、バックグラウンドプレーン14への画像の描画とも記載する。
【0132】
なお、3D対応プレーヤは、論理プレーン10なしで構成することができる。この場合、BD-Jアプリケーションは、画像を、グラフィクスプレーン11や、バックグラウンドプレーン14に、直接描画する。
【0133】
BD-Jアプリケーションは、グラフィクスプレーン11、及び、バックグラウンドプレーン14への画像の描画の他、ビデオとPGのスケーリングや位置(表示位置)の制御等の、ビデオとPGの再生制御を行うことができる。
【0134】
なお、BD-Jアプリケーションは、ビデオとPGとは、1組で(まとめて)扱われる。すなわち、BD-Jアプリケーションは、ビデオとPGとを区別しない(区別することができない)。
【0135】
[BD-Jアプリケーションによるグラフィクスの画像の描画]
【0136】
図5は、BD-Jアプリケーションによる、グラフィックスプレーン11(Stereoscopic grapics planes)への、グラフィクスの3D画像の描画を説明する図である。
【0137】
3D画像の描画方式としては、第1の描画方式と、第2の描画方式とを採用することができる。
【0138】
図5Aは、第1の描画方式を説明する図である。
【0139】
第1の描画方式では、BD-Jアプリケーションのオーサ(author)は、ステレオプレーンに描画を行う。
【0140】
すなわち、第1の描画方式では、グラフィクスの3D画像のデータが、左眼用画像のデータと、右眼用画像のデータとで構成され、BD-Jアプリケーションは、その左眼用画像と右眼用画像とを、論理プレーン10に描画する。
【0141】
そして、論理プレーン10に描画された左眼用画像と右眼用画像とが、そのまま、グラフィックスプレーン11に描画される。すなわち、論理プレーン10に描画された左眼用画像が、そのまま、Lグラフィックスプレーン11Lに描画され、論理プレーン10に描画された右眼用画像が、そのまま、Rグラフィックスプレーン11Rに描画される。
【0142】
図5Bは、第2の描画方式を説明する図である。
【0143】
第2の描画方式では、BD-Jアプリケーションのオーサは、モノプレーンに描画する。また、オーサは、同時に、オフセット値(graphics plane offset値)を供給する。3D対応プレーヤは、オフセット値に基づき、モノプレーンからステレオプレーンを生成する。
【0144】
すなわち、第2の描画方式では、3D画像のデータが、3D画像を生成する、いわば元となる元画像のデータと、元画像に視差を与えて、元画像から、左眼用画像と右眼用画像とを生成するための視差のデータとで構成される。
【0145】
BD-Jアプリケーションは、元画像を、論理プレーン10に描画する。3D対応プレーヤは、論理プレーン10に描画された元画像に、視差を与えることで生成される左眼用画像と右眼用画像を、それぞれ、Lグラフィックスプレーン11LとRグラフィックスプレーン11Rに描画する。
【0146】
ここで、視差のデータを、オフセット値(offset)ということとすると、オフセット値としては、元画像の位置を、水平方向(x方向)にずらす画素数(ピクセル数)を採用することができる。
【0147】
Lグラフィックスプレーン11Lにおいては、左から右方向を正の方向として、論理プレーン10に描画された元画像が、水平方向の位置を、オフセット値だけずらした位置に描画される。すなわち、論理プレーン10に描画された元画像の水平方向の位置を、オフセット値だけずらした結果得られる画像が、左眼用画像として、Lグラフィクスプレーン11Lに描画される。
【0148】
Rグラフィックスプレーン11Rにおいては、右から左方向を正の方向として、論理プレーン10に描画された元画像が、水平方向の位置を、オフセット値だけずらした位置に描画される。すなわち、論理プレーン10に描画された元画像の水平方向の位置を、オフセット値だけずらした結果得られる画像が、右眼用画像として、Rグラフィクスプレーン11Rに描画される。
【0149】
なお、Lグラフィックスプレーン11Lには、論理プレーン10に描画された元画像が、水平方向の位置をずらして描画されるため、描画を行うべき領域(水平方向の位置をずらさない場合に描画がされる領域)の中に、描画が行われない領域(画素)が生じる。Lグラフィックスプレーン11Lの、元の画像の描画が行われない領域は、透明色が描画される。Rグラフィクスプレーン11Rについても、同様である。
【0150】
ここで、オフセット値が、正である場合には、左眼用画像と右眼用画像とで表示される3D画像は、図示せぬディスプレイの表示画面に垂直な奥行き方向の手前側に、浮き上がって見える。一方、オフセット値が、負である場合には、左眼用画像と右眼用画像とで表示される3D画像は、奥行き方向の奥側に、へこんで見える。
【0151】
図6は、BD-Jアプリケーションが、グラフィックスプレーン11に、グラフィクスの3D画像を描画することにより、グラフィクスの画像を再生するグラフィクスモードを示す図である。
【0152】
Reference Decoder Model上では、3D対応プレーヤは、常に2-plane(Lグラフィクスプレーン11L、及び、Rグラフィクスプレーン11R)を有し、BD-Jアプリケーションは、論理プレーン10に対して描画する仕様とする。
【0153】
そして、最終的には、Lグラフィクスプレーン11Lに描画されたグラフィクスの左眼用画像(L graphics plane)は、Lビデオプレーン13Lに描画されたビデオ(及びPG)の左眼用画像(L video plane)とブレンディングされる。また、Rグラフィクスプレーン11Rに描画されたグラフィクスの右眼用画像(R graphics plane)は、Rビデオプレーン13Rに描画されたビデオの右眼用画像(R video plane)とブレンディングされる。
【0154】
図6Aは、グラフィクスモードの1つのモードMode#1であるmono-logical-plane + offset valueモード(以下、オフセットグラフィクスモードともいう)を示している。
【0155】
オフセットグラフィクスモードでは、BD-Jアプリケーションは、グラフィクスの2D画像であるモノ画像を、論理プレーン10に描画する。また、BD-Jアプリケーションは、オフセット値を、3D対応プレーヤに与える。
【0156】
3D対応プレーヤは、論理プレーン10描画されたモノ画像と、BD-Jアプリケーションから与えられたオフセット値とから、グラフィクスの3D画像であるステレオ画像を生成する。さらに、BDプレーヤは、ステレオ画像を構成する左眼用画像を、Lグラフィクスプレーン11L(L領域)に描画する(記憶させる)とともに、そのステレオ画像を構成する右眼用画像を、Rグラフィクスプレーン11R(R領域)に描画する(記憶させる)。
【0157】
そして、ミキサ15は、Lグラフィクスプレーン11Lに描画(記憶)されたグラフィクスの左眼用画像を、Lビデオプレーン13Lに描画されたビデオ(及びPG)の左眼用画像とブレンディングして出力する。さらに、ミキサ15は、Rグラフィクスプレーン11Rに描画されたグラフィクスの右眼用画像を、Rビデオプレーン13Rに描画されたビデオの右眼用画像とブレンディングして出力する。
【0158】
図6Bは、グラフィクスモードの1つのモードMode#2であるstereo-logical-planeモード(以下、ステレオグラフィクスモードともいう)を示している。
【0159】
ステレオグラフィクスモードでは、BD-Jアプリケーションは、グラフィクスの3D画像であるステレオ画像を構成する左眼用画像と右眼用画像を、論理プレーン10に描画する。
【0160】
3D対応プレーヤは、論理プレーン10に描画された左眼用画像を、Lグラフィクスプレーン11Lに描画するとともに、論理プレーン10に描画された右眼用画像を、Rグラフィクスプレーン11Rに描画する。
【0161】
そして、ミキサ15は、Lグラフィクスプレーン11Lに描画されたグラフィクスの左眼用画像を、Lビデオプレーン13Lに描画されたビデオの左眼用画像とブレンディングして出力する。さらに、ミキサ15は、Rグラフィクスプレーン11Rに描画されたグラフィクスの右眼用画像を、Rビデオプレーン13Rに描画されたビデオの右眼用画像とブレンディングして出力する。
【0162】
図6Cは、グラフィクスモードの1つのモードMode#3であるforced-mono-logical-planeモード(以下、強制モノグラフィクスモードともいう)を示している。
【0163】
強制モノグラフィクスモードでは、BD-Jアプリケーションは、グラフィクスの3D画像であるステレオ画像を、論理プレーン10に描画する。
【0164】
3D対応プレーヤは、論理プレーン10に描画されたステレオ画像のうちLグラフィクス画像、及び、Rグラフィクス画像のうちの一方である、例えば、Lグラフィクス画像だけを、Lグラフィクスプレーン11L、及び、Rグラフィクスプレーン11Rのうちの一方である、例えば、Lグラフィクスプレーン11Lだけに描画する。
【0165】
そして、ミキサ15は、Lグラフィクスプレーン11Lに描画されたグラフィクスのモノ画像を、Lビデオプレーン13Lに描画されたビデオの画像とブレンディングして出力する。
【0166】
図6Dは、グラフィクスモードの1つのモードMode#4であるflattened-stereo-logical-planeモード(以下、フラットステレオグラフィクスモードともいう)を示している。
フラットステレオグラフィクスモードでは、BD-Jアプリケーションは、グラフィクスの3D画像であるステレオ画像を構成する左眼用画像、及び、右眼用画像を、論理プレーン10に描画する。
【0167】
3D対応プレーヤは、論理プレーン10に描画された左眼用画像、及び、右眼用画像のうちの一方である、例えば、左眼用画像だけを、Lグラフィクスプレーン14L、及び、Rグラフィクスプレーン14Rの両方に描画し、他方の右眼用画像を捨てる。
【0168】
そして、Lグラフィクスプレーン14Lに描画されたグラフィクスの左眼用画像が、ミキサ15に供給されるとともに、グラフィクスプレーン14Rに描画されたグラフィクスの左眼用画像が、(右眼用画像として、)いずれも、ミキサ15に供給される。
【0169】
図6Eは、グラフィクスモードの1つのモードMode#5であるmono-logical-planeモード(以下、モノグラフィクスモードともいう)を示している。
【0170】
モノグラフィクスモードでは、BD-Jアプリケーションは、グラフィクスの2D画像であるモノ画像を、論理プレーン10に描画する。
【0171】
3D対応プレーヤは、論理プレーン10に描画されたモノ画像を、Lグラフィクスプレーン11L、及び、Rグラフィクスプレーン11Rのうちの一方である、例えば、Lグラフィクスプレーン11Lだけに描画する。
【0172】
そして、ミキサ15は、Lグラフィクスプレーン11Lに描画されたグラフィクスのモノ画像を、Lビデオプレーン13Lに描画されたビデオの画像とブレンディングして出力する。
【0173】
[オフセット値の設定と取得]
【0174】
3D対応プレーヤにおいて、オフセット値は、グラフィックプレーン11と、PGプレーン12に適用することができる。
【0175】
ここで、グラフィックプレーン11に適用されるオフセット値(グラフィクスの画像に、視差を与えるデータ)を、グラフィクスプレーンオフセット(Graphics plane offset)値ともいう。また、PGプレーン12に適用されるオフセット値(PGの画像に、視差を与えるデータ)を、PGプレーンオフセット(PG plane offset)値ともいう。
【0176】
グラフィクスプレーンオフセット値の設定、取得には、以下のようなオフセット値の読み書き専用のAPIを定義し、その専用のAPIによって、グラフィクスプレーンオフセット値の設定、取得を行うことができる。
【0177】
org.bluray.ui.3D
public void setOffset(int offset)
デフォルト値は、0
public int getOffset()
デフォルト値は、0
【0178】
なお、setOffset()メソッドが、グラフィクスプレーンオフセット値を、BDプレーヤの内部に設けられた記憶領域である内部記憶領域に記憶させる(設定する)メソッドであり、getOffset()が、BDプレーヤの内部記憶領域に記憶されているグラフィクスプレーンオフセット値を取得するメソッドである。
【0179】
また、BDプレーヤは、BDの再生に関する情報を記憶するPSR(Player Setting Register)を有し、グラフィクスプレーンオフセット値、及び、PGプレーンオフセット値は、PSRのうちの、レガシープレーヤで予約(reserved)になっている、例えば、PSR#21に保存することができる。
【0180】
ここで、内部記憶領域、及び、PSRの実体は、図3のRAM104やハードディスク105の一部の記憶領域である。
【0181】
ところで、現行のBD規格(BD-ROM規格)では、BD-Jアプリケーションからの、BDプレーヤのPSRへの書き込みが禁止されている。
【0182】
3D対応プレーヤである図3のBDプレーヤに、BD-JアプリケーションからのPSRへの書き込みを許してしまうと、現行のBD規格の大規模な改定が必要となる。
【0183】
そこで、3D対応プレーヤでは、General Preferenceとして、オフセット値を定義することで、間接的に、PSRへの書き込みが可能なようになっている。
【0184】
すなわち、3D対応プレーヤは、BD規格のグラフィクスや、PGの画像に視差を与えるデータであるオフセット値を、BD規格のジェネラルプリファレンス(General Preference)の1つとして、BDの再生に関する情報を記憶するPSR#21に対するオフセット値の読み書きを行うジェネラルプリファレンスAPI(Application Programming Interface)を備える。
【0185】
ここで、PSR#21は、BD規格part3-2 Annex Lの General Preferenceにマッピングされ、org.dvb.user. GeneralPreference APIで、値の設定、取得を行うことができる。
【0186】
ジェネラルプリファレンスAPIで、PSRにアクセスするためのジェネラレルプリファレンスネーム(General Preference name)は、以下のように定義することができる。
【0187】
すなわち、グラフィクスプレーンオフセット値のジェネラレルプリファレンスネームは、例えば、"graphics offset"と定義することができる。また、PGプレーンオフセット値のジェネラレルプリファレンスネームは、例えば、"subtitle offset"と定義することができる。
【0188】
なお、"graphics offset" General Preference、及び、"subtitle offset" General Preferenceのデフォルト値は、例えば、いずれも0とする。
【0189】
また、グラフィクスプレーンオフセット値の設定、取得には、以下のような専用のAPIを定義し、その専用のAPIによって、グラフィクスプレーンオフセット値の設定、取得を行うこともできる。
【0190】
org.bluray.ui.3D
public void setOffset(int offset)
デフォルト値は、0
public int getOffset()
デフォルト値は、0
【0191】
なお、setOffset()メソッドが、グラフィクスプレーンオフセット値を、BDプレーヤの内部記憶領域(ここでは、例えば、PSR)に記憶させるメソッドであり、getOffset()が、BDプレーヤの内部記憶領域に記憶されているグラフィクスプレーンオフセット値を取得するメソッドである。
【0192】
図7は、以上のように、BD規格のグラフィクス、及び、PG(以下、特に断らない限り、TextSTを含む)のオフセット値の読み書きを行う3D対応プレーヤとしての図3のBDプレーヤの機能的構成例を示すブロック図である。
【0193】
すなわち、図7Aは、BD規格のグラフィクス、及び、PGのオフセット値の読み書きを、3D対応プレーヤの内部記憶領域に対して行う、オフセット値の読み書き専用のAPIを備える3D対応プレーヤとしての図3のBDプレーヤの機能的構成例を示すブロック図である。
【0194】
図7Aの3D対応プレーヤにおいて、BD-Jアプリケーションは、オフセット値の読み書き専用のAPI(General Preference API)に対して、オフセット値の読み書き(設定、又は取得)を要求する。
【0195】
オフセット値の読み書き専用のAPIは、BD-Jアプリケーションからの要求に応じて、3D対応プレーヤの内部記憶領域に、オフセット値(グラフィックスプレーンオフセット値、PGプレーンオフセット値)を設定するか、又は、3D対応プレーヤの内部記憶領域から、オフセット値を取得し、BD-Jアプリケーションに返す。
【0196】
なお、図7Aにおいて、プレイバックコントロールエンジン(Playback Control Engine)は、3D対応プレーヤの内部記憶領域に設定されたオフセット値に応じて、BD-Jアプリケーションが論理プレーン10に描画した画像(元画像)から、左眼用画像と右眼用画像を生成(再生)するための制御を行う。
【0197】
以上のように、オフセット値の読み書き専用のAPIを定義し、そのオフセット値の読み書き専用のAPIが、BD-Jアプリケーションからの要求に応じて、BD規格のグラフィクスと、PGの画像に視差を与えるデータであるオフセット値の読み書きを、3D対応プレーヤの内部記憶領域に対して行うことで、BD-Jアプリケーションから、画像に視差を与えるオフセット値を、間接的に、設定、取得することができる。
【0198】
図7Bは、BD規格のグラフィクス、及び、PGのオフセット値を、BD規格のジェネラルプリファレンスの1つとして、PSR#21に対するオフセット値の読み書きを行うジェネラルプリファレンスAPIを備える3D対応プレーヤとしての図3のBDプレーヤの機能的構成例を示すブロック図である。
【0199】
図7Bの3D対応プレーヤにおいて、BD-Jアプリケーションは、ジェネラルプリファレンスAPI(General Preference API)に対して、オフセット値の読み書き(設定、又は取得)を要求する。
【0200】
すなわち、読み書きを要求するオフセット値が、グラフィックスプレーンオフセット値である場合、BD-Jアプリケーションは、ジェネラレルプリファレンスネーム(General Preference name)を、"graphics offset"として、ジェネラルプリファレンスAPIを呼び出す。
【0201】
また、読み書きを要求するオフセット値が、PGプレーンオフセット値である場合、BD-Jアプリケーションは、ジェネラレルプリファレンスネームを、"subtitle offset"として、ジェネラルプリファレンスAPIを呼び出す。
【0202】
ジェネラルプリファレンスAPIは、BD-Jアプリケーションからの要求に応じて、PSR(Player Setting Register)のうちのPSR#21に、オフセット値を設定するか、又は、PSR#21から、オフセット値を取得し、BD-Jアプリケーションに返す。
【0203】
なお、図7Bにおいて、プレイバックコントロールエンジン(Playback Control Engine)は、PSR#21に設定されたオフセット値に応じて、BD-Jアプリケーションが論理プレーン10に描画した画像(元画像)から、左眼用画像と右眼用画像を生成(再生)するための制御を行う。
【0204】
以上のように、General Preference APIが、BD-Jアプリケーションからの要求に応じて、BD規格のグラフィクスと、PGの画像に視差を与えるデータであるオフセット値を、BD規格のGeneral Preferenceの1つとして、BDの再生に関する情報を記憶するPSR#21に対するオフセット値の読み書きを行うことで、BD-Jアプリケーションから、画像に視差を与えるオフセット値を、間接的に、設定、取得することができる。
【0205】
[コンフィグレーション]
【0206】
図8は、ビデオプレーン13のコンフィグレーション(configration)の1つである、ビデオの画像を再生するビデオモードを示す図である。
【0207】
図8Aは、ビデオモードの1つのモードMode#1であるmono-videoモード(以下、モノビデオモードともいう)を示している。
【0208】
モノビデオモードでは、3D対応プレーヤは、ビデオの2D画像であるモノ画像を、Lビデオプレーン13L(L領域)、及び、Rビデオプレーン13R(R領域)のうちの一方である、例えば、Lビデオプレーン13Lのみに描画する(記憶させる)。
【0209】
そして、Lビデオプレーン13Lのみに描画(記憶)されたビデオのモノ画像は、ミキサ15に供給される。
【0210】
図8Bは、ビデオモードの1つのモードMode#2であるdual-mono-videoモード(以下、デュアルモノビデオモードともいう)を示している。
【0211】
デュアルモノビデオモードでは、3D対応プレーヤは、ビデオの2D画像であるモノ画像を、(左眼用画像として、)Lビデオプレーン13L(L領域)に描画する(記憶させる)とともに、そのモノ画像を、(右眼用画像として、)Rビデオプレーン13R(R領域)に描画する(記憶させる)。
【0212】
そして、Lビデオプレーン13Lに描画(記憶)されたビデオのモノ画像、及び、Rビデオプレーン13Rに描画されたビデオのモノ画像は、いずれも、ミキサ15に供給される。
【0213】
図8Cは、ビデオモードの1つのモードMode#3であるstereo-videoモード(以下、ステレオビデオモードともいう)を示している。
【0214】
ステレオビデオモードでは、3D対応プレーヤは、ビデオの3D画像であるステレオ画像を構成する左眼用画像を、Lビデオプレーン13Lに描画するとともに、そのステレオ画像を構成する右眼用画像を、Rビデオプレーン13Rに描画する。
【0215】
そして、Lビデオプレーン13Lに描画(記憶)されたビデオの左眼用画像、及び、Rビデオプレーン13Rに描画されたビデオの右眼用画像は、いずれも、ミキサ15に供給される。
【0216】
図8Dは、ビデオモードの1つのモードMode#4であるflattened-stereo-videoモード(以下、フラットステレオビデオモードともいう)を示している。
【0217】
フラットステレオビデオモードでは、3D対応プレーヤは、ビデオの3D画像であるステレオ画像を構成する左眼用画像、及び、右眼用画像のうちの一方である、例えば、左眼用画像だけを、Lビデオプレーン13L、及び、Rビデオプレーン13Rの両方に描画し、他方の右眼用画像を捨てる。
【0218】
そして、Lビデオプレーン13Lに描画(記憶)されたビデオの左眼用画像が、ミキサ15に供給されるとともに、Rビデオプレーン13Rに描画されたビデオの左眼用画像が、(右眼用画像として、)ミキサ15に供給される。
【0219】
図8Eは、ビデオモードの1つのモードMode#5であるforced-mono-videoモード(以下、強制モノビデオモードともいう)を示している。
【0220】
強制モノビデオモードでは、3D対応プレーヤは、ビデオの3D画像であるステレオ画像を構成する左眼用画像、及び、右眼用画像のうちの一方である、例えば、左眼用画像だけを、Lビデオプレーン13L、及び、Rビデオプレーン13Rのうちの一方である、例えば、Lビデオプレーン13Lにだけ描画し、他方の右眼用画像を捨てる。
【0221】
そして、Lビデオプレーン13Lに描画(記憶)されたビデオの左眼用画像だけが、ミキサ15に供給される。
【0222】
図9は、バックグラウンドプレーン14のコンフィグレーション(configration)の1つである、バックグラウンドの画像を再生するバックグラウンドモードを示す図である。
【0223】
図9Aは、バックグラウンドモードの1つのモードMode#1であるdual-mono-backgroundモード(以下、デュアルモノバックグラウンドモードともいう)を示している。
【0224】
デュアルモノバックグラウンドモードでは、BD-Jアプリケーションは、バックグラウンドの2D画像であるモノ画像を、左眼用画像、及び、右眼用画像として、論理プレーン10に描画する。
【0225】
そして、3D対応プレーヤは、論理プレーン10に描画された左眼用画像を、Lバックグラウンドプレーン14L(L領域)に描画する(記憶させる)とともに、論理プレーン10に描画された右眼用画像を、Rバックグラウンドプレーン14R(R領域)に描画する(記憶させる)。
【0226】
Lバックグラウンドプレーン14Lに描画(記憶)されたバックグラウンドの左眼用画像、及び、Rバックグラウンドプレーン14Rに描画されたバックグラウンドの右眼用画像は、いずれも、ミキサ15に供給される。
【0227】
図9Bは、バックグラウンドモードの1つのモードMode#2であるstereo-backgroundモード(以下、ステレオバックグラウンドモードともいう)を示している。
【0228】
ステレオバックグラウンドモードでは、BD-Jアプリケーションは、バックグラウンドの3D画像であるステレオ画像を構成する左眼用画像、及び、右眼用画像を、論理プレーン10に描画する。
【0229】
そして、3D対応プレーヤは、論理プレーン10に描画された左眼用画像を、Lバックグラウンドプレーン14Lに描画するとともに、論理プレーン10に描画された右眼用画像を、Rバックグラウンドプレーン14Rに描画する。
【0230】
Lバックグラウンドプレーン14Lに描画されたバックグラウンドの左眼用画像、及び、Rバックグラウンドプレーン14Rに描画されたバックグラウンドの右眼用画像は、いずれも、ミキサ15に供給される。
【0231】
図9Cは、バックグラウンドモードの1つのモードMode#3であるflattened-stereo-backgroundモード(以下、フラットステレオバックグラウンドモードともいう)を示している。
【0232】
フラットステレオバックグラウンドモードでは、BD-Jアプリケーションは、バックグラウンドの3D画像であるステレオ画像を構成する左眼用画像、及び、右眼用画像を、論理プレーン10に描画する。
【0233】
そして、3D対応プレーヤは、論理プレーン10に描画された左眼用画像、及び、右眼用画像のうちの一方である、例えば、左眼用画像だけを、Lバックグラウンドプレーン14L、及び、Rバックグラウンドプレーン14Rの両方に描画し、他方の右眼用画像を捨てる。
【0234】
Lバックグラウンドプレーン14Lに描画されたバックグラウンドの左眼用画像は、ミキサ15に供給されるとともに、Rバックグラウンドプレーン14Rに描画されたバックグラウンドの左眼用画像は、(右眼用画像として、)いずれも、ミキサ15に供給される。
【0235】
図9Dは、バックグラウンドモードの1つのモードMode#4であるmono-backgroundモード(以下、モノバックグラウンドモードともいう)を示している。
【0236】
モノバックグラウンドモードでは、BD-Jアプリケーションは、バックグラウンドの2D画像であるモノ画像を、論理プレーン10に描画する。
【0237】
そして、3D対応プレーヤは、論理プレーン10に描画されたモノ画像を、Lバックグラウンドプレーン14L、及び、Rバックグラウンドプレーン14Rのうちの一方である、例えば、Lバックグラウンドプレーン14Lにだけ描画する。
【0238】
Lバックグラウンドプレーン14Lに描画されたバックグラウンドのモノ画像は、ミキサ15に供給される。
【0239】
図9Eは、バックグラウンドモードの1つのモードMode#5であるforced-mono-backgroundモード(以下、強制モノバックグラウンドモードともいう)を示している。
【0240】
強制モノバックグラウンドモードでは、BD-Jアプリケーションは、バックグラウンドの3D画像であるステレオ画像を構成する左眼用画像、及び、右眼用画像を、論理プレーン10に描画する。
【0241】
そして、3D対応プレーヤは、論理プレーン10に描画された左眼用画像、及び、右眼用画像のうちの一方である、例えば、左眼用画像だけを、Lバックグラウンドプレーン14L、及び、Rバックグラウンドプレーン14Rの一方である、例えば、Lバックグラウンドプレーン14Lだけに描画し、他方の右眼用画像を捨てる。
【0242】
Lバックグラウンドプレーン14Lに描画されたバックグラウンドの左眼用画像は、ミキサ15に供給される。
【0243】
ここで、図4に示した、グラフィクスを記憶するグラフィクスプレーン11、ビデオを記憶するビデオプレーン13(と、PGを記憶するPGプレーン12)、及び、バックグラウンドを記憶するバックグラウンドプレーン14を、まとめて、デバイスプレーンとも呼ぶこととする。
【0244】
3D対応プレーヤである図3のBDプレーヤでは、デバイスプレーンのコンフィグレーションが、(1)画枠、及び、色深度、(2)ビデオモード(Video mode)、(3)グラフィクスモード(BD-J Graphics mode)、並びに、(4)バックグラウンドモード(Background mode)、の4つの属性によって表現されるように定義されている。
【0245】
図10は、デバイスプレーンであるグラフィクスプレーン11、PGプレーン12、ビデオプレーン13、及び、バックグラウンドプレーン14の関係を示している。
【0246】
グラフィクスプレーン11は、左眼用画像を記憶する記憶領域であるL領域としてのLグラフィクスプレーン11Lと、右眼用画像を記憶する記憶領域であるR領域としてのRグラフィクスプレーン11Rとから構成される。そして、グラフィクスプレーン11では、Lグラフィクスプレーン11Lと、Rグラフィクスプレーン11Rとが並んで配置されている。
【0247】
すなわち、図10では、L領域であるLグラフィクスプレーン11Lを上側にし、かつ、R領域であるRグラフィクスプレーン11Rを下側にする形で、Lグラフィクスプレーン11L、及び、Rグラフィクスプレーン11Rを上下に並べて配置することにより、グラフィクスプレーン11が構成されている。
【0248】
他のデバイスプレーン、すなわち、PGプレーン12、ビデオプレーン13、及び、バックグラウンドプレーン14も、グラフィクスプレーン11と同様に構成されている。
【0249】
グラフィクスプレーン11、PGプレーン12、ビデオプレーン13、及び、バックグラウンドプレーン14に描画された画像は、手前側から、グラフィクスプレーン11、PGプレーン12、ビデオプレーン13、バックグラウンドプレーン14の順番で重ねられ(ブレンディングされ)、その結果得られるL領域の画像と、R領域の画像とが、例えば、交互に、ディスプレイの表示画面を抽象化した論理スクリーン21に描画(記憶)される。
【0250】
ここで、論理スクリーン21の実体は、RAM104の一部の記憶領域である。
【0251】
また、デバイスプレーンは、いずれも1面分の画像の記憶領域であるL領域とR領域とを、上下に並べた記憶領域であり、したがって、2面分の画像の記憶領域であるが、論理スクリーン21は、1面分の画像の記憶領域である。
【0252】
デバイスプレーンのコンフィグレーションは、3D画像については、2面分の画像の記憶領域であるデバイスプレーン全体に対して定義される。
【0253】
図11は、デバイスプレーンのコンフィグレーションの1つである(1)画枠(Resolution)、及び、色深度(color-depth)を示している。
【0254】
図11において、上から5行の画枠(デバイスプレーンの横×縦の画素数)(解像度)、及び、色深度は、3D画像の画枠、及び、色深度を示しており、残りの5行(下から5行)の画枠、及び、色深度は、2D画像の画枠、及び、色深度を示している。
【0255】
2D画像の1面分を、1面分の画像とすると、3D画像は、左眼用画像と右眼用画像で構成されるため、2面分の画像となる。また、デバイスプレーンは、いずれも1面分の画像の記憶領域であるL領域とR領域とを、上下に並べた記憶領域になっているため、そのようなデバイスプレーンに記憶される3D画像の画枠は、対応する2D画像(左眼用画像(、又は、右眼用画像)と同一のサイズの2D画像)の画枠の垂直方向の画素数を2倍にしたサイズになっている。
【0256】
なお、現行のBD規格において、2D画像については、グラフィクスプレーン11に記憶されるグラフィクス(の画像)、及び、バックグラウンドプレーン14に記憶されるバックグラウンド(の画像)の画枠は、いずれも、ビデオプレーン13に記憶されるビデオ(の画像)の画枠と、原則、一致する。
【0257】
但し、2D画像については、ビデオプレーン13に記憶されるビデオの画枠が、1920×1080画素である場合に、バックグラウンドプレーン14に記憶されるバックグラウンドの画枠は、ビデオプレーン13に記憶されるビデオの画枠と同様に、1920×1080画素であるが、グラフィクスプレーン11に記憶されるグラフィクスの画枠が、ビデオプレーン13に記憶されるビデオの画枠の横及び縦のそれぞれを1/2にした960×540画素であるケース(図11において、下から4行目)(以下、2D画像の不一致ケースともいう)がある。
【0258】
この場合、グラフィクスプレーン11に記憶される960×540画素のグラフィクスは、横及び縦のそれぞれを2倍にすることで、サイズを、ビデオプレーン13に記憶されるビデオの画枠である1920×1080画素に一致させてから表示される。
【0259】
3D画像についても、2D画像の不一致ケースに対応するケース(以下、3D画像の不一致ケースともいう)が存在する。
【0260】
3D画像の不一致ケースでは、ビデオプレーン13に記憶されるビデオの画枠が、1920×2160画素である場合に、バックグラウンドプレーン14に記憶されるバックグラウンドの画枠が、ビデオプレーン13に記憶されるビデオの画枠と同様に、1920×2160画素であるが、グラフィクスプレーン11に記憶されるグラフィクスの画枠が、ビデオプレーン13に記憶されるビデオの画枠の横及び縦のそれぞれを1/2にした960×1080画素となる(図11において、上から3行目)。
【0261】
3D画像の不一致ケースでも、960×1080画素のグラフィクスは、横及び縦のそれぞれを2倍にすることで、サイズを、ビデオプレーン13に記憶されるビデオの画枠である1920×2160画素に一致させてから表示される。
【0262】
図12は、3D画像の不一致ケースにおいて、第2の描画方式(図5B)で、3D画像を描画する方法を説明する図である。
【0263】
第2の描画方式では、図5Bで説明したように、3D画像を生成する元となる元画像が、論理プレーン10に描画され、その後、元画像を、オフセット(offset)値だけ水平方向にすらすことで生成される左眼用画像と右眼用画像が、グラフィクスプレーン11に描画される。
【0264】
ここで、第2の描画方式は、元画像と、元画像のコピーとの2つの画像を上下に並べた縦長の画像の、上側の半分と下側の半分とのそれぞれを、オフセット値に従って水平方向にずらすことにより得られる2つの画像を、左眼用画像と右眼用画像として、グラフィクスプレーン11に描画する方式であるともいえる。
【0265】
いま、第2の描画において、3D画像の不一致ケースにおける、960×1080画素のグラフィクスの、上側の半分と下側の半分とのそれぞれを、オフセット値に従って水平方向にすらすことで得られる、960×540画素の左眼用画像と右眼用画像を、グラフィクスプレーン11に描画し、その後、グラフィクスプレーン11の左眼用画像と右眼用画像の横及び縦のそれぞれを2倍にすると、その結果得られる左眼用画像と右眼用画像は、水平方向のずれ量が、オフセット値の2倍になっている画像となる。
【0266】
したがって、この場合、左眼用画像と右眼用画像によって表示される3D画像の奥行き方向の位置が、オーサが意図していた位置と異なる位置となる。
【0267】
そこで、3D画像の不一致ケースにおいて、第2の描画方式で、3D画像を描画する場合には、3D画像を生成する元となる元画像の横及び縦のそれぞれを2倍にした画像を、論理プレーン10に描画し、その後、論理プレーン10に描画された画像を、オフセット値だけ水平方向にすらすことで生成される左眼用画像と右眼用画像を、グラフィクスプレーン11に描画する必要がある。
【0268】
このようにすることで、左眼用画像と右眼用画像によって表示される3D画像の奥行き方向の位置は、オーサが意図していた位置となる。
【0269】
図13は、デバイスプレーンを説明する図である。
【0270】
現行のBD規格では、論理スクリーン21としては、1面分の画像の記憶領域を想定しており、その1面分の画像の記憶領域である論理スクリーン21に、左眼用画像(Left/Left-eye)と右眼用画像(Right/Right-eye)を、交互に描画することは、想定されていない。
【0271】
そして、現行のBD規格は、デバイスプレーンのコンフィグレーションと、論理スクリーン21との間に、1対1の関係があることを前提としている。この前提の下では、3D画像の処理に、論理スクリーン21として、左眼用画像を描画する論理スクリーンと、右眼用画像を描画する論理スクリーンとの、2つの別個の論理スクリーンが必要となる。
【0272】
そこで、3D対応プレーヤである図3のBDプレーヤでは、解像度の定義を縦方向に2倍にすることで、L/R用のデバイス・コンフィグレーションを1面で定義する。論理スクリーン自体は従来どおりの1面とし、そこにL/R用の出力を同時に描画する描画モデルを定義する。
【0273】
すなわち、図3のBDプレーヤは、BD規格のグラフィクス、ビデオ、又は、バックグラウンドの画像を記憶するデバイスプレーン(グラフィクスプレーン11、ビデオプレーン13(PGプレーン12)、及び、バックグラウンドプレーン14)を備える。
【0274】
デバイスプレーンは、左眼用画像を記憶する1面分の画像の記憶領域であるL領域と、右眼用画像を記憶する1面分の画像の記憶領域であるR領域との、2面分の画像の記憶領域が並んで配置された記憶領域であり、デバイスプレーンのコンフィグレーションは、2面分の画像の記憶領域であるデバイスプレーン全体に対して定義される。
【0275】
そして、デバイスプレーンに記憶された左眼用画像と右眼用画像は、例えば、交互に、論理スクリーン21に描画される。
【0276】
このようにすることで、論理スクリーンとして、左眼用画像(L用の画像)を記憶する論理スクリーンと、右眼用画像(R用の画像)を記憶する論理スクリーンとを、別個に設けずに済む。
【0277】
[ビデオモード、グラフィクスモード、バックグラウンドモード]
【0278】
コンフィグレーションは、BD-Jオブジェクト(Object)のファイル中に、コンフィグレーションを指定するためのビットフィールドを設けて、そのビットフィールドによって指定(設定)することができる。
【0279】
図14は、BD-Jオブジェクトのファイル中に、コンフィグレーションを指定するために設けるビットフィールドを示している。
【0280】
BD-Jオブジェクトのファイル中には、コンフィグレーションを指定するために、initial_configuration_id,initial_graphics_mode,initial_video_mode、及び、initial_background_modeの4つのフィールドを設けることができる。
【0281】
initial_configuration_idは、(1)画枠、及び、色深度を指定するフィールドである。initial_configuration_idがとる値を、configuration idとすると、configuration idとしては、以下の値を定義することとする。
【0282】
HD_1920_1080 = 1
HD_1280_720 = 2
SD_720_576 = 3
SD_720_480 = 4
QHD_960_540 = 5
HD_1920_2160 = 6
HD_1280_1440 = 7
SD_720_1152 = 8
SD_720_960 = 9
QHD_960_1080 = 10
【0283】
なお、HD_1920_1080は、図11の上から6行目の画枠及び色深度を、HD_1280_720は、図11の上から8行目の画枠及び色深度を、SD_720_576は、図11の上から10行目の画枠及び色深度を、SD_720_480は、図11の上から9行目の画枠及び色深度を、QHD_960_540は、図11の上から7行目の画枠及び色深度を、HD_1920_2160は、図11の上から1行目の画枠及び色深度を、HD_1280_1440は、図11の上から2行目の画枠及び色深度を、SD_720_1152は、図11の上から5行目の画枠及び色深度を、SD_720_960は、図11の上から4行目の画枠及び色深度を、QHD_960_1080は、図11の上から3行目の画枠及び色深度を、それぞれ表す。
【0284】
initial_graphics_modeは、(3)グラフィクスモードを指定するフィールドである。
【0285】
ここで、グラフィクスモード(BD-J Graphics mode)としては、図6で説明したオフセットグラフィクスモード(offset)、ステレオグラフィクスモード(stereo)、モノグラフィクスモード(mono (Legacy playback mode))、強制モノグラフィクスモード(forced mono (Legacy playback mode))、及び、フラットステレオグラフィクスモード(flattened-stereo)の、合計で5つのモードがある。
【0286】
グラフィクスモードを指定するinitial_graphics_modeとしては、以下の値を定義することとする。
【0287】
GRAPHICS_MONO_VIEW = 22
GRAPHICS_STEREO_VIEW = 23
GRAPHICS_PLANE_OFFSET = 24
GRAPHICS_DUAL_MONO_VIEW = 25
GRAPHICS_FORCED_MONO_VIEW = 26
【0288】
なお、GRAPHICS_MONO_VIEWは、モノブラフィクスモードを、GRAPHICS_STEREO_VIEWは、ステレオグラフィクスモードを、GRAPHICS_PLANE_OFFSETは、オフセットグラフィクスモードを、GRAPHICS_DUAL_MONO_VIEWは、フラットステレオグラフィクスモードを、GRAPHICS_FORCED_MONO_VIEWは、強制モノグラフィクスモードを、それぞれ表す。
【0289】
また、initial_configuration_idが、1,2,3,4,5のいずれかに設定されている場合、initial_graphics_modeは、無視される。
【0290】
initial_video_modeは、(2)ビデオモードを指定するフィールドである。
【0291】
ここで、ビデオモード(Video mode)としては、図8で説明したデュアルモノビデオモード(dual-mono)、ステレオビデオモード(stereo)、フラットステレオビデオモード(flattened-stereo)、モノビデオモード(mono (Legacy playback mode))、及び、強制モノビデオモード(forced-mono)の、合計で5つのモードがある。
【0292】
ビデオモードを指定するinitial_video_modeとしては、以下の値を定義することとする。
【0293】
VIDEO_MONO_VIEW = 27
VIDEO_STEREO_VIEW = 28
VIDEO_FLATTENED_STEREO_VIEW = 29
VIDEO_DUAL_MONO_VIEW = 30
VIDEO_FORCED_MONO_VIEW = 31
【0294】
なお、VIDEO_MONO_VIEWは、モノビデオモードを、VIDEO_STEREO_VIEWは、ステレオビデオモードを、VIDEO_FLATTENED_STEREO_VIEWは、フラットステレオビデオモードを、VIDEO_DUAL_MONO_VIEWは、デュアルモノビデオモードを、VIDEO_FORCED_MONO_VIEWは、強制モノビデオモードを、それぞれ表す。
【0295】
また、initial_configuration_idが、1,2,3,4,5のいずれかに設定されている場合、initial_video_modeは、無視される。
【0296】
initial_background_modeは、(4)バックグラウンドモードを指定するフィールドである。
【0297】
ここで、バックグラウンドモード(Background mode)としては、図9で説明したデュアルモノバックグラウンドモード(dual-mono)、ステレオバックグラウンドモード(stereo)、フラットステレオバックグラウンドモード(flattened-stereo)、モノバックグラウンドモード(mono (Legacy playback mode))、及び、強制モノバックグラウンドモード(forced-mono)の、合計で5つのモードがある。
【0298】
バックグラウンドモードを指定するinitial_background_modeとしては、以下の値を定義することとする。
【0299】
BACKGROUND_MONO_VIEW = 17
BACKGROUND_STEREO_VIEW = 18
BACKGROUND_FLATTENED_STEREO_VIEW = 19
BACKGROUND_DUAL_MONO_VIEW = 20
BACKGROUND_FORCED_MONO_VIEW = 21
【0300】
なお、BACKGROUND_MONO_VIEWは、モノバックグラウンドモードを、BACKGROUND_STEREO_VIEWは、ステレオバックグラウンドモードを、BACKGROUND_FLATTENED_STEREO_VIEWは、フラットステレオバックグラウンドモードを、BACKGROUND_DUAL_MONO_VIEWは、デュアルモノバックグラウンドモードを、BACKGROUND_FORCED_MONO_VIEWは、強制モノバックグラウンドモードを、それぞれ表す。
【0301】
また、initial_configuration_idが、1,2,3,4,5のいずれかに設定されている場合、initial_background_modeは、無視される。
【0302】
ここで、BD-J Object ファイルでは、initial_configuration_id,initial_graphics_mode,initial_video_mode、及び、initial_background_modeのうちの、initial_configuration_idのみを指定する仕様を採用することができる。
【0303】
BD-J Object ファイルにおいて、initial_configuration_idのみを指定する場合、initial_video_mode,initial_graphics_mode、及び、initial_background_modeのデフォルトの規定値が必要となる。
【0304】
図15は、initial_video_mode,initial_graphics_mode、及び、initial_background_modeのデフォルトの規定値を示している。
【0305】
なお、ビデオモード(initial_video_mode)のSTEREO_VIEWは、上述のVIDEO_STEREO_VIEW 、又は、VIDEO_FLATTENED_STEREO_VIEWを表し、MONO_VIEWは、上述のVIDEO_MONO_VIEW、又は、VIDEO_DUAL_MONO_VIEWを表す。
【0306】
また、グラフィクスモード(initial_graphics_mode)のSTEREO_VIEWは、上述のGRAPHICS_STEREO_VIEW、又は、GRAPHICS_PLANE_OFFSETを表し、MONO_VIEWは、上述のGRAPHICS_MONO_VIEW、又は、GRAPHICS_DUAL_MONO_VIEWを表す。
【0307】
さらに、バックグラウンドモード(initial_background_mode)のSTEREO_VIEWは、上述のBACKGROUND_STEREO_VIEW、又は、BACKGROUND_FLATTENED_STEREO_VIEWを表し、MONO_VIEWは、上述のBACKGROUND_MONO_VIEW、又は、BACKGROUND_DUAL_MONO_VIEWを表す。
【0308】
[コンフィグレーションの変更]
【0309】
次に、コンフィグレーションの変更について説明する。
【0310】
コンフィグレーションは、BD-Jタイトル起動時、PlayList再生時のオートリセットが行われるとき(動的変更)、及び、BD-JアプリケーションによるAPIの呼び出しが行われるとき(動的変更)のそれぞれのタイミングで、変更することができる。
【0311】
従来のmono video + mono graphicsの再生時とは異なり、AV再生中であってもplane configurationの変更は可能である。
【0312】
すなわち、3D対応プレーヤでは、AVストリーム(ビデオ)を再生しているときに、コンフィグレーションを変更することができる。
【0313】
Mono-viewと同様にKEEP_RESOLUTION再生以外の再生では、画枠が揃うように(BD-Jタイトル起動時は、video/backgroundがgraphicsの画枠に揃うように、PlayList再生時は、graphics/backgroundがvideoの画枠に揃うように、BD-JアプリケーションによるAPI呼び出し時は、APIで設定したプレーンの画枠に、それ以外の設定されていないプレーンの画枠が揃うように)、コンフィグレーションの変更の処理を、3D対応プレーヤが行う。また、コンフィグレーションの変更時のエラー処理は、3D対応プレーヤに依存する。
【0314】
ここで、KEEP_RESOLUTION再生とは、SD(Standard definition)ビデオとHD(High Definition)グラフィックス、HDバックグラウンドの合成をする再生モードであり、1920×1080画素のGraphics、720×480画素のVideo+PG、及び、1920×1080画素のBackgroundが合成される場合と、1920×1080画素のGraphics、720×576画素のVideo+PG、及び、1920×1080画素のBackgroundが合成される場合とがある。なお、HD画像ではあるが、1280×720画素の画像の再生は、KEEP_RESOLUTION再生には含まれない。
【0315】
図16及び図17に、KEEP_RESOLUTION再生以外の再生の、Video+PG,BD-J graphics、及び、backgroundの解像度(画枠)の組み合わせを示す。なお、図17は、図16に続く図である。
【0316】
図18は、コンフィグレーションの変更の処理の例を示している。
【0317】
図18Aは、グラフィクス(グラフィクスプレーン11)のコンフィグレーション(ビデオモード)が、STEREO_VIEWからMONO_VIEWに変更された場合の、3D対応プレーヤの処理の例を示している。
【0318】
例えば、3D対応プレーヤにおいて、ビデオモードが、STEREO_VIEWであり、1920×2160画素のグラフィクスプレーン11を構成するLグラフィクスプレーン11L、及び、Rグラフィクスプレーン11Rに、グラフィクスが描画されている場合に、グラフィクスプレーン11(としての記憶領域)をリセットすることなしに、ビデオモードが、STEREO_VIEWから、MONO_VIEWに変更されたとする。
【0319】
この場合、3D対応プレーヤでは、グラフィクスプレーン11を構成するLグラフィクスプレーン11L、及び、Rグラフィクスプレーン11Rのうちの一方である、例えば、Lグラフィクスプレーン11Lに記憶(描画)された画像だけが、論理スクリーン21に供給されて表示され、他方であるRグラフィクスプレーン11Rに記憶された画像は、捨てられる。
【0320】
なお、この場合、3D対応プレーヤは、エラーとして(画像の再生を)強制終了しても良い。
【0321】
図18Bは、ビデオモードが、MONO_VIEWからSTEREO_VIEWに変更された場合の、3D対応プレーヤの処理の例を示している。
【0322】
例えば、3D対応プレーヤにおいて、ビデオモードが、MONO_VIEWであり、1920×1080画素のグラフィクスプレーン11を構成するLグラフィクスプレーン11Lだけに、グラフィクスが描画されている場合に、グラフィクスプレーン11をリセットすることなしに、ビデオモードが、MONO_VIEWから、STEREO_VIEWに変更されたとする。
【0323】
この場合、3D対応プレーヤでは、Lグラフィクスプレーン11Lに描画されたグラフィクスが、Rグラフィクスプレーン11Rにコピーされ、Lグラフィクスプレーン11Lに描画されたグラフィクスが、左眼用画像として、論理スクリーン21に供給されるとともに、Rグラフィクスプレーン11Rにコピーされたグラフィクスが、右眼用画像として、論理スクリーン21に供給される。
【0324】
なお、この場合、3D対応プレーヤは、エラーとして(画像の再生を)強制終了しても良い。
【0325】
[BD-Jタイトル起動時のコンフィグレーションの変更]
【0326】
BD-Jタイトル起動時のコンフィグレーションの変更には、以下の3つのルール#1-1,#1-2、及び、#1-3が、原則として適用される。
【0327】
すなわち、ルール#1-1は、(デバイスプレーンの)コンフィグレーションにおいて、Graphics,Video、及び、Backgroundの3つの画像の解像度(画枠)は、常に、同一の解像度でなければならない、というルールである。
【0328】
ルール#1-2は、KEEP_RSOLUTION再生以外でPlayList再生を行う場合は、コンフィグレーションにおいて、Graphics,Video、及び、Backgroundの3つの画像の解像度(画枠)は、ビデオの解像度に揃っていなければならない、というルールである。
【0329】
ルール#1-3は、コンフィグレーションにおいて、グラフィクスが、QHD graphicsである場合、縦方向に2倍、横方向に2倍でスケーリングされた後の解像度をコンフィグレーションの解像度とする、というルールである。
【0330】
なお、BD-Jオブジェクトのファイルのinitial_configuration_idによりデフォルト値の規定にしたがって、video mode, graphics mode, background modeそれぞれの値が決定される(ビデオモード、グラフィクスモード、及び、バックグラウンドモードが決定される)。
【0331】
また、BD-Jオブジェクトのファイルのautostart_first_PlayList_flagが1bに設定されていた場合、video plane のコンフィグレーションについては、デフォルト値ではなく、PlayList再生時のオートリセット(動的変更)のルールにしたがう。
【0332】
[PlayList再生時のオートリセットが行われるときのコンフィグレーションの変更(動的変更)]
【0333】
PlayList再生時のオートリセットが行われるときのコンフィグレーションの変更には、以下の3つのルール#2-1,#2-2、及び、#2-3が、原則として適用される。
【0334】
すなわち、ルール#2-1は、(デバイスプレーンの)コンフィグレーションにおいて、Graphics,Video、及び、Backgroundの3つの画像の解像度(画枠)は、常に、同一の解像度でなければならない、というルールである。
【0335】
ルール#2-2は、KEEP_RSOLUTION再生以外でPlayList再生を行う場合は、コンフィグレーションにおいて、Graphics,Video、及び、Backgroundの3つの画像の解像度(画枠)は、ビデオの解像度に揃っていなければならない、というルールである。
【0336】
ルール#2-3は、コンフィグレーションにおいて、グラフィクスが、QHD graphicsである場合、縦方向に2倍、横方向に2倍でスケーリングされた後の解像度をコンフィグレーションの解像度とする、というルールである。
【0337】
PlayList再生開始時にvideo plane configurationは、PlayListのビデオ属性に自動的に揃えられる。
【0338】
コンフィグレーションが、PlayListのビデオ属性に自動的に揃えられる場合、現行のBD規格では、graphics plane及びbackground planeも、自動的にvideo planeの属性に揃えることがBDプレーヤ側の必須機能として規定されている。しかしながら、3D対応プレーヤでは、stereo PlayList(3D画像を再生するプレイリスト)からmono PlayList(2D画像を再生するプレイリスト)、又は、mono PlayListからstereo PlayListへの切り替え時においては、graphics及びbackgroundのmode(グラフィクスモード、及び、バックグラウンドモード)は、所定のinitial values(所定の初期値)に設定される。
【0339】
図19に、グラフィクスモード、及び、バックグラウンドモードの所定の初期値を示す。
【0340】
図20は、1920×2160画素の3D画像(ステレオ画像)を再生する場合に再生されるグラフィクス、及び、バックグラウンドの画像を示している。
【0341】
グラフィクスとしては、1920×2160画素の3D画像が再生され、バックグラウンドとしては、1920×2160画素の3D画像が再生される。
【0342】
[BD-JアプリケーションによるAPIの呼び出しが行われるときのコンフィグレーションの変更(動的変更)]
【0343】
BD-JアプリケーションによるAPIの呼び出しが行われるときのコンフィグレーションの変更には、以下の3つのルール#3-1,#3-2、及び、#3-3が、原則として適用される。
【0344】
すなわち、ルール#3-1は、(デバイスプレーンの)コンフィグレーションにおいて、Graphics,Video、及び、Backgroundの3つの画像の解像度(画枠)は、常に、同一の解像度でなければならない、というルールである。
【0345】
ルール#3-2は、KEEP_RSOLUTION再生以外でPlayList再生を行う場合は、コンフィグレーションにおいて、Graphics,Video、及び、Backgroundの3つの画像の解像度(画枠)は、ビデオの解像度に揃っていなければならない、というルールである。
【0346】
ルール#3-3は、コンフィグレーションにおいて、グラフィクスが、QHD graphicsである場合、縦方向に2倍、横方向に2倍でスケーリングされた後の解像度をコンフィグレーションの解像度とする、というルールである。
【0347】
図21は、BD-JアプリケーションによるAPIの呼び出しによる、コンフィグレーションとしての解像度(画枠)の変更を説明する図である。
【0348】
グラフィクスの3D画像(stereo G)、ビデオの3D画像(stereo V)、及び、バックグラウンドの3D画像(stereo B)の再生中に、APIの呼び出しによって、グラフィクスの3D画像の解像度が変更された場合、3D対応BDプレーヤは、ビデオの3D画像、及び、バックグラウンドの3D画像の解像度を、上述のルール#3-1,#3-2、及び、#3-3に従って、自動的に変更する。
【0349】
また、グラフィクスの3D画像(stereo G)、ビデオの3D画像(stereo V)、及び、バックグラウンドの3D画像(stereo B)の再生中に、APIの呼び出しによって、バックグラウンドの3D画像の解像度が変更された場合、3D対応BDプレーヤは、グラフィクスの3D画像、及び、ビデオの3D画像の解像度を、上述のルール#3-1,#3-2、及び、#3-3に従って、自動的に変更する。
【0350】
さらに、グラフィクスの3D画像(stereo G)、ビデオの3D画像(stereo V)、及び、バックグラウンドの3D画像(stereo B)の再生中に、APIの呼び出しによって、ビデオの3D画像の解像度が変更された場合、3D対応BDプレーヤは、グラフィクスの3D画像、及び、バックグラウンドの3D画像の解像度を、上述のルール#3-1,#3-2、及び、#3-3に従って、自動的に変更する。
【0351】
[plane configuration のmode の変更(グラフィクスモード、ビデオモード、及び、バックグラウンドモードの変更)]
【0352】
3D対応プレーヤは、ステレオグラフィクスモード(stereo graphics)と、オフセットグラフィクスモード(offset graphics)との間のグラフィクスモードの変更(切り替え)を、シームレスに行うことができる。
【0353】
図22は、グラフィクスモードの変更を説明する図である。
【0354】
図22Aは、オフセットグラフィクスモードでのグラフィクスの3D画像(plane offset gfx(graphics))、ビデオ(及びPG)の3D画像(stereo video + PG)、バックグラウンドの3D画像(stereo background)の再生中に、グラフィクスモードが、オフセットグラフィクスモードから、ステレオグラフィクスモードに変更された場合を示している。
【0355】
この場合、オフセットグラフィクスモードでのグラフィクスの3D画像(plane offset gfx)、ビデオ(及びPG)の3D画像(stereo video + PG)、バックグラウンドの3D画像(stereo background)の再生から、ステレオグラフィクスモードでのグラフィクスの3D画像(stereo gfx(graphics))、ビデオ(及びPG)の3D画像(stereo video + PG)、バックグラウンドの3D画像(stereo background)の再生に切り替えが行われるが、この切り替えは、シームレスに行うことができる。
【0356】
逆の切り替え、すなわち、ステレオグラフィクスモードでのグラフィクスの3D画像(stereo gfx)、ビデオ(及びPG)の3D画像(stereo video + PG)、バックグラウンドの3D画像(stereo background)の再生から、オフセットグラフィクスモードでのグラフィクスの3D画像(plane offset gfx)、ビデオ(及びPG)の3D画像(stereo video + PG)、バックグラウンドの3D画像(stereo background)の再生への切り替えも、シームレスに行うことができる。
【0357】
図22Bは、ステレオグラフィクスモードでのグラフィクスの3D画像(stereo gfx)、ビデオ(及びPG)の3D画像(stereo video + PG)、バックグラウンドの2D画像(mono background)の再生中に、グラフィクスモードが、ステレオグラフィクスモードから、オフセットグラフィクスモードに変更された場合を示している。
【0358】
この場合、ステレオグラフィクスモードでのグラフィクスの3D画像(stereo gfx)、ビデオ(及びPG)の3D画像(stereo video + PG)、バックグラウンドの2D画像(mono background)の再生から、オフセットグラフィクスモードでのグラフィクスの3D画像(plane offset gfx)、ビデオ(及びPG)の3D画像(stereo video + PG)、バックグラウンドの2D画像(mono background)の再生に切り替えが行われるが、この切り替えは、シームレスに行うことができる。
【0359】
逆の切り替え、すなわち、オフセットグラフィクスモードでのグラフィクスの3D画像(plane offset gfx)、ビデオ(及びPG)の3D画像(stereo video + PG)、バックグラウンドの2D画像(mono background)の再生から、ステレオグラフィクスモードでのグラフィクスの3D画像(stereo gfx)、ビデオ(及びPG)の3D画像(stereo video + PG)、バックグラウンドの2D画像(mono background)の再生への切り替えも、シームレスに行うことができる。
【0360】
図23は、ステレオグラフィクスモードから、オフセットグラフィクスモードへのグラフィクスモードの変更を示している。
【0361】
グラフィクスモードが、ステレオグラフィクスモード(stereo gfx)から、オフセットグラフィクスモード(Plane offset gfx)に変更された場合、ビデオ(L/R(Left/Right) video)、及び、バックグラウンド(L/R(Left/Right) background)の再生は、そのまま続行される。
【0362】
一方、グラフィクスについては、ステレオグラフィクスモードでのグラフィクスの3D画像(stereo gfx)から、オフセットグラフィクスモードでのグラフィクスの3D画像(plane offset gfx)に、再生の対象が切り替えられる。
【0363】
この再生対象の切り替え方の実装は、個々の3D対応プレーヤに依存する。但し、再生対象の切り替え時に、いわゆるブラックアウト(black-out)や、AV(ビデオ)の再生の中断が生じることは避けるべきである。
【0364】
なお、グラフィクスモードの変更時に、解像度も変更される場合には、ブラックアウトが生じるおそれがある。
【0365】
次に、3D対応プレーヤは、ステレオバックグラウンドモード(stereo background)と、モノバックグラウンドモード(mono background)との間のバックグラウンドモードの変更(切り替え)を、シームレスに行うことができる。
【0366】
図24は、バックグラウンドモードの変更を説明する図である。
【0367】
図24Aは、グラフィクスの3D画像(stereo gfx)、ビデオ(及びPG)の3D画像(stereo video + PG)、ステレオバックグラウンドモードでのバックグラウンドの3D画像(stereo background)の再生中に、バックグラウンドモードが、ステレオバックグラウンドモードから、モノバックグラウンドモードに変更された場合を示している。
【0368】
この場合、グラフィクスの3D画像(stereo gfx)、ビデオ(及びPG)の3D画像(stereo video + PG)、ステレオバックグラウンドモードでのバックグラウンドの3D画像(stereo background)の再生から、グラフィクスの3D画像(stereo gfx)、ビデオ(及びPG)の3D画像(stereo video + PG)、モノバックグラウンドモードでのバックグラウンドの2D画像(mono background)の再生に切り替えが行われるが、この切り替えは、シームレスに行うことができる。
【0369】
逆の切り替えも、シームレスに行うことができる。
【0370】
図24Bは、グラフィクスの3D画像(plane offset gfx)、ビデオ(及びPG)の3D画像(stereo video + PG)、モノバックグラウンドモードでのバックグラウンドの2D画像(mono background)の再生中に、バックグラウンドモードが、モノバックグラウンドモードから、ステレオバックグラウンドモードに変更された場合を示している。
【0371】
この場合、グラフィクスの3D画像(plane offset gfx)、ビデオ(及びPG)の3D画像(stereo video + PG)、モノバックグラウンドモードでのバックグラウンドの2D画像(mono background)の再生から、グラフィクスの3D画像(plane offset gfx)、ビデオ(及びPG)の3D画像(stereo video + PG)、ステレオバックグラウンドモードでのバックグラウンドの3D画像(stereo background)の再生に切り替えが行われるが、この切り替えは、シームレスに行うことができる。
【0372】
逆の切り替えも、シームレスに行うことができる。
【0373】
次に、3D対応プレーヤは、ステレオビデオモード(stereo video)、フラットステレオビデオモード(flattened-stereo video)、及び、デュアルモノビデオモード(dual-mono video)の間のビデオモードの変更(切り替え)を、シームレスに行うことができる。
【0374】
図25は、ビデオモードの変更を説明する図である。
【0375】
図25Aは、グラフィクスの3D画像(stereo gfx)、及び、バックグラウンドの3D画像(stereo background)とともに、ビデオの画像が再生されている場合の、ビデオモードの変更を説明する図である。
【0376】
ビデオモードが、ステレオビデオモードであり、ステレオビデオモードでのビデオ(及びPG)の3D画像(stereo video + PG)が再生されている場合において、ビデオモードが、ステレオビデオモードから、フラットステレオビデオモードに変更されたとき、ビデオの画像は、ステレオビデオモードでのビデオ(及びPG)の3D画像(stereo video + PG)から、フラットステレオビデオモードでのビデオ(及びPG)の3D画像(flattened video + PG)に切り替えがされるが、この切り替えは、シームレスに行うことができる。
【0377】
逆の切り替えも、シームレスに行うことができる。
【0378】
また、ビデオモードが、フラットステレオビデオモードであり、フラットステレオビデオモードでのビデオ(及びPG)の3D画像(flattened video + PG)が再生されている場合において、ビデオモードが、フラットステレオビデオモードから、デュアルモノビデオモードに変更されたとき、ビデオの画像は、フラットステレオビデオモードでのビデオ(及びPG)の3D画像(flattened video + PG)から、デュアルモノビデオモードでのビデオ(及びPG)の3D画像(dual-mono video + PG)に切り替えがされるが、この切り替えは、シームレスに行うことができる。
【0379】
逆の切り替えも、シームレスに行うことができる。
【0380】
図25Bは、グラフィクスの3D画像(plane offset gfx)、及び、バックグラウンドの2D画像(mono background)とともに、ビデオの画像が再生されている場合の、ビデオモードの変更を説明する図である。
【0381】
ビデオモードが、デュアルモノビデオモードであり、デュアルモノビデオモードでのビデオ(及びPG)の3D画像(dual-mono video + PG)が再生されている場合において、ビデオモードが、デュアルモノビデオモードから、フラットステレオビデオモードに変更されたとき、ビデオの画像は、デュアルビデオモードでのビデオ(及びPG)の3D画像(dual-mono video + PG)から、フラットステレオビデオモードでのビデオ(及びPG)の3D画像(flattened video + PG)に切り替えがされるが、この切り替えは、シームレスに行うことができる。
【0382】
逆の切り替えも、シームレスに行うことができる。
【0383】
また、ビデオモードが、フラットステレオビデオモードであり、フラットステレオビデオモードでのビデオ(及びPG)の3D画像(flattened video + PG)が再生されている場合において、ビデオモードが、フラットステレオビデオモードから、ステレオビデオモードに変更されたとき、ビデオの画像は、フラットステレオビデオモードでのビデオ(及びPG)の3D画像(flattened video + PG)から、ステレオビデオモードでのビデオ(及びPG)の3D画像(stereo video + PG)に切り替えがされるが、この切り替えは、シームレスに行うことができる。
【0384】
逆の切り替えも、シームレスに行うことができる。
【0385】
[コンフィグレーションを変更する3D対応プレーヤ]
【0386】
現行のBD規格では、コンフィグレーションが、解像度(画枠)、及び、色深度で規定されている。このため、コンフィグレーションの変更は、解像度を変更することになる。しかしながら、解像度の変更時には、一時的に、再生が停止し、表示画面がブラックアウトの状態になる。
【0387】
一方、例えば、Graphics planeのmono-logical-plane + offset valueの再生モードなどを、1920×1080/32bppのコンフィグレーションとして規定することができるが、この場合、例えば、mono-logical-plane + offset valueからstereo-logical-planeへのスイッチングなどでブラックアウトを誘発してしまう可能性がある。
【0388】
そこで、3D対応プレーヤでは、plane configurationを2面定義(1920×2160画素、1280×1440画素、(960×1080画素、)720×960画素、720×1152画素のconfiguration)に統一し、解像度/色深度以外の属性をmode値として定義する。すると、解像度を変更せずにmodeのみを変更する場合は、表示画面をブラックアウトの状態とすることなく、コンフィグレーションを変更することが可能となる。さらに、レガシープレーヤと同様に、Configuration Preference設定APIを呼び出すことにより、コンフィグレーションの変更を行うことができる。
【0389】
図26は、そのような3D対応プレーヤとしての図3のBDプレーヤの機能的構成例を示すブロック図である。
【0390】
図26の3D対応プレーヤでは、左眼用画像を記憶する1面分の画像の記憶領域であるL領域と、右眼用画像を記憶する1面分の画像の記憶領域であるR領域との、2面分の画像の記憶領域が並んで配置された記憶領域であるデバイスプレーンのコンフィグレーションが、そのデバイスプレーン全体に対して定義されている。
【0391】
また、グラフィクスモードとして、モノグラフィクスモード、ステレオグラフィクスモード、オフセットグラフィクスモード、強制モノグラフィクスモード、及び、フラットステレオグラフィクスモードの5つのモードが定義されている。さらに、ビデオモードとして、モノビデオモード、デュアルモノビデオモード、ステレオビデオモード、強制モノビデオモード、及び、フラットステレオビデオモードの5つのモードが定義されている。そして、バックグラウンドモードとして、モノバックグラウンドモード、デュアルモノバックグラウンドモード、ステレオバックグラウンドモード、強制モノバックグラウンドモード、及び、フラットステレオバックグラウンドモードの5つのモードが定義されている。
【0392】
また、デバイスプレーンのコンフィグレーションは、(1)画枠(解像度)、及び、色深度の他、(2)ビデオモード、(3)グラフィクスモード、並びに、(4)バックグラウンドモードを含み、(2)ビデオモード、(3)グラフィクスモード、及び、(4)バックグラウンドモードの設定(変更)は、コンフィグレーションモード設定APIによって行うことができる。
【0393】
図26の3D対応プレーヤでは、ビデオモード、グラフィクスモード、又は、バックグラウンドモードを変更する場合、BD-Jアプリケーションは、コンフィグレーションモード(configuration mode)設定APIを呼び出し、ビデオモード、グラフィクスモード、又は、バックグラウンドモードの変更(設定)を要求する。
【0394】
コンフィグレーションモード設定APIは、BD-Jアプリケーションからの要求に応じて、プレゼンテーションエンジン(Presentation Engine)、ビデオデコーダ(video decoder)、ディスプレイプロセッサ(Display processor)のうちの必要なものを、直接的に、又は間接的に制御することで、ビデオモード、グラフィクスモード、又は、バックグラウンドモードを変更(設定)する。
【0395】
一方、画枠(解像度)、及び、色深度を変更する場合、BD-Jアプリケーションは、解像度設定APIを呼び出し、解像度等の変更(設定)を要求する。
【0396】
解像度設定APIは、BD-Jアプリケーションからの要求に応じて、プレゼンテーションエンジン、ビデオデコーダ、ディスプレイプロセッサのうちの必要なものを、直接的に、又は間接的に制御することで、画枠(解像度)、及び、色深度を変更(設定)する。
【0397】
なお、図26において、プレゼンテーションエンジン(Presentation Engine)は、オーディオ、ビデオ、及び、HDMVグラフィクスのデコード機能とプレゼンテーション機能(Presentation functions)を、BDの再生を制御する、図示せぬプレイバックコントロールエンジン(Playback Control Engine)に提供する。
【0398】
また、図26において、ビデオデコーダ(Video decoder)は、画像のデコードを行う。さらに、ディスプレイプロセッサ(Display processor)は、Graphics plane, video(video + PG) plane, background planeの各プレーンを重ね合わせた後で、その重ね合わせによって得られる画像を、BDプレーヤに接続されたディスプレイに出力するハードウェアである。
【0399】
以上のように、デバイスプレーンのコンフィグレーションを、2面分の画像の記憶領域であるデバイスプレーン全体に対して定義し、デバイスプレーンのコンフィグレーションに、解像度(画枠)、及び、色深度とは別に、グラフィクスモード等を含める。そして、3D対応プレーヤでは、コンフィグレーションモード設定APIの呼び出しによって、グラフィクスモード等を設定する。このようにすることで、解像度を変更しないで、グラフィクスモード等を変更することができる。
【0400】
[PG / Text subtitleコンフィグレーションの切り替え]
【0401】
BD-Jアプリケーションからは、Video+PG/TextST(Text subtitle)は、ひとまとめで(区別なく)扱われる。また、BD-Jアプリケーションは、PGプレーン12を個別に制御することはできないが、ビデオの位置やスケーリング(サイズ)の制御を行うことができる。なお、現行のBD規格では、BD-Jアプリケーションから、ビデオの位置やスケーリングの制御を行った場合、PG/TextSTは、ビデオにアラインすることになっている。
【0402】
したがって、ビデオのスケーリングの制御が行われる場合、PGプレーンオフセット値は、ビデオをスケーリングするスケーリング比率(拡大率、又は、縮小率)でスケーリングされる。
【0403】
一方、3D対応プレーヤでは、PG(TextSTを含む)について、PGを再生する再生モードとして、2D画像であるモノ画像のPGの画像を再生するモード(1-plane(legacy playback))、3D画像であるステレオ画像のPGの画像を再生するモード(2-planes)、及び、2D画像とオフセット値とから生成される(視差がある)左眼用画像と右眼用画像とによって、3D画像のPGを再生するモード(1-plane+offset)を設定することできることが望ましい。
【0404】
そこで、3D対応プレーヤでは、PGストリームの選択にて、PGプレーン制御(1-plane(legacy playback)と1-plane+offset と2-planesとの間のコンフィグレーションの切り替え)を、間接的に行う。
【0405】
そのため、HDMV PGについては、BD規格のPGの画像のPGストリームとして、2D画像であるモノ画像のPGの画像のPGストリームであるモノPGストリーム、3D画像であるステレオ画像のPGの画像のPGストリームであるステレオPGストリーム、及び、モノ画像に視差を与えるオフセット値とともに、ステレオ画像を生成するのに用いられる、モノ画像のPGの画像のPGストリームであるオフセット用PGストリーム(例えば、モノ画像のPGの画像とオフセット値とを含むストリーム)を定義する。
【0406】
さらに、HDMV PGについては、mono 1-stream(legacy content)モード、L/R 2 streamモード、及び、1-stream + plane-offsetモードを、PGの画像を再生するPG再生モードとして定義する。
【0407】
ここで、PG再生モードが、mono 1-streamモードである場合には、モノPGストリームを用いて、2D画像のPGの画像が再生される。
【0408】
PG再生モードが、L/R 2 streamモードである場合には、ステレオPGストリームを用いて、左眼用画像と右眼用画像を再生することで、3D画像のPGの画像が再生される。
【0409】
PG再生モードが、1-stream + plane-offsetモードである場合には、オフセット用PGストリームを用いて、オフセット値に基づき、左眼用画像と右眼用画像を生成し、その左眼用画像と右眼用画像を再生することで、3D画像のPGの画像が再生される。
【0410】
また、HDMV TextSTについては、BD規格のTextSTの画像のTextSTストリームとして、2D画像であるモノ画像のTextSTの画像のTextSTストリームであるモノTextSTストリーム、3D画像であるステレオ画像のTextSTの画像のTextSTストリームであるステレオTextSTストリーム、及び、モノ画像に視差を与えるオフセット値とともに、ステレオ画像を生成するのに用いられる、モノ画像のTextSTの画像のTextSTストリームであるオフセット用TextSTストリーム(例えば、モノ画像のTextSTの画像とオフセット値とを含むストリーム)を定義する。
【0411】
さらに、HDMV TextSTについては、mono 1-stream(legacy content)モード、L/R 2 streamモード、及び、1-stream + plane-offsetモードを、TextSTの画像を再生するTextST再生モードとして定義する。
【0412】
ここで、TextST再生モードが、mono 1-streamモードである場合には、モノTextSTストリームを用いて、2D画像のTextSTの画像が再生される。
【0413】
TextST再生モードが、L/R 2 streamモードである場合には、ステレオTextSTストリームを用いて、左眼用画像と右眼用画像を再生することで、3D画像のTextSTの画像が再生される。
【0414】
TextST再生モードが、1-stream + plane-offsetモードである場合には、オフセット用TextSTストリームを用いて、オフセット値に基づき、左眼用画像と右眼用画像を生成し、その左眼用画像と右眼用画像を再生することで、3D画像のTextSTの画像が再生される。
【0415】
3D対応プレーヤでは、ストリームを選択するAPIを通して、PG/TextSTのコンフィグレーションを切り替える(設定する)ことができる。
【0416】
図27は、各ビデオモードで選択することができるPG再生モード、及び、TextST再生モードを示している。
【0417】
HDMV PGについては、ビデオモード(コンフィグレーション)が、モノビデオモード(mono)、フラットステレオビデオモード(flattened stereo)、デュアルモノビデオモード(dual-mono)、強制モノビデオモード(forced-mono)、及び、ステレオビデオモード(stereo)のいずれの場合であっても、1-stream + plane-offsetモード(mono + offset)(オフセット用PGストリーム)を選択することが可能である。
【0418】
したがって、オフセット用PGストリームは、ビデオモードが、モノビデオモード、フラットステレオビデオモード、デュアルモノビデオモード、強制モノビデオモード、及び、ステレオビデオモードのいずれの場合であっても選択することが可能である。
【0419】
また、HDMV PGについては、ビデオモードが、フラットステレオビデオモード(flattened stereo)、デュアルモノビデオモード(dual-mono)、強制モノビデオモード(forced-mono)、及び、ステレオビデオモード(stereo)のうちのいずれの場合であっても、L/R 2 streamモード(stereo)(ステレオPGストリーム)を選択することが可能である。
【0420】
したがって、ステレオPGストリームは、ビデオモードが、フラットステレオビデオモード、デュアルモノビデオモード、強制モノビデオモード、及び、ステレオビデオモードのうちのいずれの場合であっても選択することが可能である。
【0421】
但し、ビデオモードが、モノビデオモード(mono)、フラットステレオビデオモード(flattened stereo)、強制モノビデオモード(forced-mono)、又は、デュアルモノビデオモード(dual-mono)の場合に、オフセット用PGストリーム(mono + offset)が選択されたとき、オフセット用PGストリームのモノ画像が、オフセット値を無視して(オフセット値を0にセットして)、再生される。
【0422】
また、ビデオモードが、モノビデオモード(mono)、又は、強制モノビデオモード(forced-mono)の場合に、ステレオPGストリーム(stereo)が選択されたとき、ステレオPGストリームに対応するステレオ画像を構成する左眼用画像、及び、右眼用画像のうちの一方である、例えば、左眼用画像(L PG stream)だけが再生される。
【0423】
さらに、ビデオモードが、フラットステレオビデオモード、又は、デュアルモノビデオモードの場合に、ステレオPGストリームが選択されたとき、ストリームに割り当てられる番号であるストリーム番号が、選択されたステレオPGストリームに一致するオフセット用PGストリームが存在すれば(BDに記録されていれば)、選択されたステレオPGストリームに代えて、そのステレオPGストリームとストリーム番号が同一のオフセット用PGストリームのモノ画像が、オフセット値を無視して、再生される。
【0424】
一方、HDMV TextSTについては、ビデオモード(コンフィグレーション)が、モノビデオモード(mono)、フラットステレオビデオモード(flattened stereo)、強制モノビデオモード(forced-mono)、及び、デュアルモノビデオモード(dual-mono)のうちのいずれの場合であっても、1-stream + plane-offsetモード(mono + offset)(オフセット用Text subtitleストリーム)を選択することが可能である。
【0425】
したがって、オフセット用TextSTストリーム(オフセット用Text subtitleストリーム)は、ビデオモードが、モノビデオモード、フラットステレオビデオモード、強制モノビデオモード、及び、デュアルモノビデオモードのうちのいずれかの場合に選択することが可能である。
【0426】
また、HDMV TextSTについては、ビデオモードが、フラットステレオビデオモード(flattened stereo)、デュアルモノビデオモード(dual-mono)、強制モノビデオモード(forced-mono)、及び、ステレオビデオモード(stereo)のうちのいずれの場合であっても、L/R 2 streamモード(stereo)(ステレオText subtitleストリーム)を選択することが可能である。
【0427】
したがって、ステレオTextSTストリーム(ステレオText subtitleストリーム)は、ビデオモードが、フラットステレオビデオモード、デュアルモノビデオモード、強制モノビデオモード、及び、ステレオビデオモードのうちのいずれの場合であっても選択することが可能である。
【0428】
但し、ビデオモードが、モノビデオモード(mono)、フラットステレオビデオモード(flattened stereo)、強制モノビデオモード(forced-mono)、又は、デュアルモノビデオモード(dual-mono)の場合に、オフセット用TextSTストリーム(mono + offset)が選択されたとき、オフセット用TextSTストリームのモノ画像が、オフセット値を無視して、再生される。
【0429】
また、ビデオモードが、モノビデオモード(mono)、又は、強制モノビデオモード(forced-mono)の場合に、ステレオTextSTストリーム(stereo)が選択されたとき、ステレオTextSTストリームに対応するステレオ画像を構成する左眼用画像、及び、右眼用画像のうちの一方である、例えば、左眼用画像(L TextST stream)だけが再生される。
【0430】
さらに、ビデオモードが、フラットステレオビデオモード、又は、デュアルモノビデオモードの場合に、ステレオTextSTストリームが選択されたとき、ストリームに割り当てられる番号であるストリーム番号が、選択されたステレオTextSTストリームに一致するオフセット用TextSTストリームが存在すれば、選択されたステレオTextSTストリームに代えて、そのステレオTextSTストリームとストリーム番号が同一のオフセット用TextSTストリームのモノ画像が、オフセット値を無視して、再生される。
【0431】
図28は、以上のような、PGやTextSTの画像の再生を行う3D対応プレーヤとしての図3のBDプレーヤの機能的構成例を示すブロック図である。
【0432】
図28において、3D対応プレーヤは、BD-Jアプリケーション、PG/TextSTストリーム選択API、ビデオ制御API、PG選択エンジン(Playback Control Function)、TextST選択エンジン(Playback Control Function)、ビデオ制御エンジン(Playback Control Function)、プレイバックコントロールエンジン(Playback Control Engine)、及び、プレゼンテーションエンジン(Presentation Engine)等から構成される。
【0433】
図29を参照し、PGについての処理を例に、図28の3D対応プレーヤの処理を説明する。
【0434】
BD-Jアプリケーションは、PG/TextSTストリーム選択APIを呼び出し、PGストリームの選択を要求する。PG/TextSTストリーム選択APIは、BD-Jアプリケーションから要求されたPGストリームを選択する。
【0435】
すなわち、PG/TextSTストリーム選択APIは、図27で説明したように、現在のビデオモードに対して、BD-Jアプリケーションから要求されたPGストリームを選択することが可能であれば、そのPGストリームを選択するように、PG選択エンジンを制御する。
【0436】
PG選択エンジンは、BDであるディスク100(図3)に記録されたPGストリームの中から、PG/TextSTストリーム選択APIの制御に従ったPGストリームを選択し、図28には図示していないステレオPGデコーダ(stereo PG decoder)、又は、モノPGデコーダ(mono PG decoder)に供給する。
【0437】
ここで、PG選択エンジンが選択したPGストリームが、ステレオPGストリームである場合、そのステレオPGストリームは、ステレオPGデコーダに供給される。
【0438】
また、PG選択エンジンが選択したPGストリームが、オフセット用PGストリームである場合、そのオフセット用PGストリームは、モノPGデコーダに供給される。
【0439】
ステレオPGデコーダは、PG選択エンジンから供給されるPGストリームを、ステレオ画像を構成する左眼用画像と右眼用画像とにデコードし、PGプレーン12のL-PGプレーン12LとR-PGプレーン12Rに、それぞれ描画する。
【0440】
一方、モノPGデコーダは、PG選択エンジンから供給されるオフセット用PGストリームを、モノ画像にデコードし、論理プレーン10に描画する。
【0441】
PG生成APIは、論理プレーン10に描画されたモノ画像から、オフセット値(例えば、オフセット用PGストリームに含まれるオフセット値や、3D対応プレーヤの内部記憶領域、又は、PSR#21に記憶されたオフセット値)を用いて、左眼用画像と右眼用画像を生成する。そして、PG生成APIは、その左眼用画像と右眼用画像を、PGプレーン12のL-PGプレーン12LとR-PGプレーン12Rに、それぞれ描画する。
【0442】
なお、3D対応BDプレーヤでは、図27で説明したように、現在のビデオモードと、PG選択エンジンが選択したPGストリーム(PG再生モード)との組み合わせによっては、ステレオPGストリームに対応するステレオ画像を構成する左眼用画像、及び、右眼用画像のうちの一方である、例えば、左眼用画像だけが再生されるか、又は、オフセット値が無視され、オフセット用PGストリームに対応するモノ画像だけが再生されることがある。
【0443】
以上のように、3D対応プレーヤでは、BD規格のPGの画像のPGストリームとして、2D画像であるモノ画像のPGの画像のPGストリームであるモノPGストリームと、3D画像であるステレオ画像のPGの画像のPGストリームであるステレオPGストリームと、モノ画像に視差を与えるデータであるオフセット値とともに、ステレオ画像を生成するのに用いられる、モノ画像のPGの画像のPGストリームであるオフセット用PGストリームとが定義されている。そして、PG/TextSTストリーム選択APIは、BD-Jアプリケーションからの要求に従い、モノPGストリーム、ステレオPGストリーム、又は、オフセット用PGストリームを選択する。
【0444】
したがって、BD-Jアプリケーションから、間接的に、PGの画像の再生(PGのコンフィグレーション)を制御することができる。
【0445】
[3D画像の再生と、2D画像の再生との切り替え]
【0446】
図30は、3D対応プレーヤにおける、3D画像の再生と、2D画像の再生との切り替えを説明する図である。
【0447】
図30では、最初に、3D対応プレーヤの動作モードが、3D画像を再生する3D再生モード(3D playback mode)になっている。
【0448】
そして、グラフィクスモードが、ステレオグラフィクスモード(stereo gfx(graphics))に、ビデオモードが、ステレオビデオモード(stereo video)に、バックグラウンドモードが、モノバックグラウンドモード(mono background)に、それぞれなっている。
【0449】
その後、グラフィクスモードが、オフセットグラフィクスモード(plane offset gfx)に、ビデオモードが、デュアルモノビデオモード(dual-mono video)に、それぞれ変更されている。
【0450】
さらに、その後、図30では、動作モードが、3D再生モードから、レガシープレーヤと同様にして、2D画像を再生する2D再生モード(Legacy playback mode)に変更されている。
【0451】
動作モードの変更に伴い、グラフィクスモードは、オフセットグラフィクスモード(plane offset gfx)から、モノグラフィクスモード(mono gfx)に変更されている。さらに、ビデオモードは、デュアルモノビデオモード(dual-mono video)から、モノビデオモード(mono video)に変更されている。なお、バックグラウンドモードは、モノバックグラウンドモード(mono background)のままになっている。
【0452】
そして、図30では、動作モードが、2D再生モードから、3D再生モードに、再び変更されている。
【0453】
動作モードの変更に従い、グラフィクスモードは、モノグラフィクスモード(mono gfx)から、ステレオグラフィクスモード(stereo gfx)に変更されている。さらに、ビデオモードは、モノビデオモード(mono video)から、フラットステレオビデオモード(flattened stereo video)に変更されている。なお、バックグラウンドモードは、モノバックグラウンドモード(mono background)のままになっている。
【0454】
図30では、その後、バックグラウンドモードが、モノバックグラウンドモード(mono background)から、ステレオバックグラウンドモード(stereo background)に変更されている。
【0455】
図30において、例えば、動作モードが、3D再生モードから2D再生モードに変更される場合に、解像度(画枠)の変更が伴うときには、表示画面がブラックアウトするおそれがある。
【0456】
[Pixel coordinate system for video]
【0457】
BD-Jアプリケーションからの、ビデオの位置やサイズの制御には、"javax.tv.media.AWTVideoSizeControl"や、"org.dvb.media.BackgroundVideoPRsentationControl"等のJMF(Java(登録商標) Media Framework) controlを使用することができる。
【0458】
なお、BD-Jアプリケーションのオーサは、ビデオの位置、及び、サイズは、プレーン(ビデオプレーン13)上の座標ではなく、ディスプレイ座標で設定する。
【0459】
また、3D対応プレーヤは、左眼用画像(L video source)、及び、右眼用画像(R video source)のそれぞれに対して、位置とサイズの補正を行わなければならない。

例えば、1920×2160画素のビデオプレーン13に対し、ディスプレイ座標系は、垂直方向が1/2の、1920×1080画素のサイズの座標系となる。この場合、オーサは、例えば、以下のように、ビデオの位置とサイズを設定しなければならない。
【0460】
RctangL src = new RctangL(0,0,1920,1080);
RctangL dest = new RctangL(100,100,960,540);
AWTVideoSizeControl videoSizeControl = (AWTVideoSizeControl)player.getControl("javax.tv.media.AWTVideoSizeControl");
videoSizeControl.setSize(new AWTVideoSize(src, dest));
【0461】
図31は、オーサによるビデオの位置とサイズの設定と、3D対応プレーヤによるビデオの位置とサイズの補正とを説明する図である。
【0462】
オーサは、ビデオの左眼用画像の位置とサイズを設定する。図31では、1920×1080画素のサイズのディスプレイ座標系に対して、ビデオの左眼用画像の位置とサイズが設定されている。
【0463】
3D対応プレーヤは、ディスプレイ座標系に対するビデオの左眼用画像の位置とサイズの設定を、そのまま、ビデオプレーン13のLビデオプレーン13Lに設定する。
【0464】
さらに、3D対応プレーヤは、Lビデオプレーン13Lのビデオの位置とサイズの設定を、そのまま、Rビデオプレーン13Rに適用する。
【0465】
したがって、オーサから見れば、Lビデオプレーン13Lに対して、ビデオの位置とサイズを設定することで、そのビデオの位置とサイズと同一の位置とサイズが、Rビデオプレーン13Rにも設定される。
【0466】
ここで、ビデオに関しては、深さ情報を外部から与えるわけではない。したがって、オフセットを付与する仕組みは無駄であるばかりでなく、ビデオ製作者の意図しない出力を引き起こす原因ともなる。
【0467】
すなわち、ビデオ製作者は、意図した3D画像が表示されるように、ビデオの画像を製作するはずである。したがって、3D対応プレーヤにおいて、例えば、PSR#21(図7)に保存されたオフセット値等の、外部から与えられる情報によって、ビデオプレーン13に描画されるビデオの画像(左眼用画像、及び、右眼用画像)の位置をずらす等の加工を施すと、ビデオ製作者が意図しない画像が表示されるおそれがある。
【0468】
そこで、3D対応プレーヤでは、コンフィグレーション上は、L/R video planeが定義されるが、BD-Jアプリケーションのオーサには、L video planeのみしか扱えないように制約をかける。すなわち、3D対応プレーヤは、BD-JアプリケーションによるL video scaling / L video positioningのAPI呼び出しをそのままR video scaling / R video positioningへも適用しなければならない。
【0469】
なお、ビデオのサイズが設定されることにより、ビデオが、そのサイズにスケーリングされる場合、[PG / Text subtitleコンフィグレーションの切り替え]で説明したように、PGプレーンオフセット値は、ビデオをスケーリングするスケーリング比率(拡大率、又は、縮小率)でスケーリングされるが、グラフィックスプレーンオフセット値も、同様に、ビデオのスケーリング比率でスケーリングされる。
【0470】
図32は、以上のように、ビデオの位置の設定(補正)とサイズの設定(スケーリング)を行う3D対応プレーヤとしての図3のBDプレーヤの機能的構成例を示すブロック図である。
【0471】
図32の3D対応プレーヤは、Lビデオプレーン13L(L領域)に記憶される画像のサイズ、及び、位置を設定するL用APIと、Rビデオプレーン13R(R領域)に記憶される画像のサイズ、及び、位置を設定するR用APIとを備える。そして、L用API、及び、R用APIのうちの一方のAPIは、他方のAPIが設定する画像のサイズ、及び、位置と同一のサイズ、及び、位置を設定する。
【0472】
すなわち、図32の3D対応プレーヤでは、ビデオデコーダ(Video decoder)が、ビデオをデコードし、その結果得られるビデオの左眼用画像と右眼用画像を、L用APIと、R用APIとに供給する。
【0473】
L用APIは、Lビデオスケーリング(L(Left) video scaling)APIと、Lビデオポジショニング(L(Left) positioning)APIとからなり、BD-Jアプリケーションからの、ビデオの位置とサイズの設定の要求の呼び出しに応じて、ビデオデコーダからの左眼用画像の位置とサイズを設定する。
【0474】
すなわち、LビデオスケーリングAPIは、ビデオデコーダからの左眼用画像のサイズを、BD-Jアプリケーションからの要求に応じたサイズに制御するスケーリングを行い、LビデオポジショニングAPIに供給する。
【0475】
LビデオポジショニングAPIは、LビデオスケーリングAPIからの左眼用画像の位置を、BD-Jアプリケーションからの要求に応じた位置に制御し、その結果得られる左眼用画像を、Lビデオプレーン13Lに描画する(LビデオスケーリングAPIからの左眼用画像を、BD-Jアプリケーションからの要求に応じた、Lビデオプレーン13L上の位置に描画する)。
【0476】
また、LビデオスケーリングAPIは、後述するRビデオスケーリングAPIを呼び出し、BD-Jアプリケーションと同様の要求をする。さらに、LビデオポジショニングAPIは、後述するRビデオポジショニングAPIを呼び出し、BD-Jアプリケーションからの要求と同様の要求をする。
【0477】
また、LビデオスケーリングAPIは、ビデオのサイズの設定の要求の呼び出しに応じて、ビデオの画像(左眼用画像)をスケーリングしたときのスケーリング比率(拡大率、又は、縮小率)Sを、PG生成API、及び、グラフィクス生成APIに供給する。
【0478】
R用APIは、Rビデオスケーリング(R(Right) video scaling)APIと、Rビデオポジショニング(R(Right) positioning)APIとからなり、L用APIからの、ビデオの位置とサイズの設定の要求に応じて、ビデオデコーダからの右眼用画像の位置とサイズを設定する。
【0479】
すなわち、RビデオスケーリングAPIは、ビデオデコーダからの右眼用画像のサイズを、LビデオスケーリングAPIからの要求に応じたサイズに制御し、RビデオポジショニングAPIに供給する。
【0480】
RビデオポジショニングAPIは、RビデオスケーリングAPIからの右眼用画像の位置を、LビデオポジショニングAPIからの要求に応じた位置に制御し、その結果得られる右眼用画像を、Rビデオプレーン13Rに描画する。
【0481】
以上のように、Lビデオプレーン13L(L領域)に記憶される画像のサイズ、及び、位置を設定するL用APIと、Rビデオプレーン13R(R領域)に記憶される画像のサイズ、及び、位置を設定するR用APIとのうちの、一方のAPIである、例えば、R用APIは、他方のAPIであるL用APIがBD-Jアプリケーションからの要求に応じて設定する画像のサイズ、及び、位置と同一のサイズ、及び、位置を設定する。
【0482】
したがって、BD規格のビデオの画像を記憶するビデオプレーン13について、オーサが、Lビデオプレーン13L(L領域)、及び、Rビデオプレーン13R(R領域)のうちの一方であるLビデオプレーン13Lしか扱えないようにすることができ、ビデオ製作者が意図しないビデオの画像が表示されることを防止することができる。
【0483】
3D対応プレーヤでは、さらに、PGについて、図29で説明した処理が行われる。
【0484】
但し、PG生成APIでは、LビデオスケーリングAPIからのスケーリング比率Sで、PGプレーンオフセット値(例えば、オフセット用PGストリームに含まれるオフセット値や、3D対応プレーヤの内部記憶領域、又は、PSR#21に記憶されたオフセット値)がスケーリングされる(PGプレーンオフセット値が、スケーリング比率S倍される)。
【0485】
そして、PG生成APIでは、論理プレーン10に描画されたモノ画像から、スケーリング後のPGプレーンオフセット値を用いて、左眼用画像と右眼用画像が生成される。
【0486】
また、3D対応プレーヤは、コンフィグレーションモード変更APIが、BD-Jアプリケーションからの要求に応じたグラフィクスモードの画像を、BDであるディスク100(図3)に記録されたグラフィクスの画像から選択し、グラフィクスプレーン11に描画する。
【0487】
すなわち、ビデオモードが、例えば、ステレオグラフィクスモードである場合には、ステレオ画像であるグラフィクスの左眼用画像と右眼用画像とが、それぞれ、グラフィクスプレーン11のLグラフィクスプレーン11LとRグラフィクスプレーン11Rに描画される。
【0488】
また、ビデオモードが、例えば、オフセットグラフィクスモードである場合には、モノ画像であるグラフィクスの画像が、論理プレーン10に描画され、さらに、グラフィクス生成APIが、LビデオスケーリングAPIからのスケーリング比率Sで、グラフィクスプレーンオフセット値(例えば、3D対応プレーヤの内部記憶領域、又は、PSR#21に記憶されたオフセット値)をスケーリングする。
【0489】
そして、グラフィクス生成APIは、論理プレーン10に描画されたモノ画像から、スケーリング後のグラフィクスプレーンオフセット値を用いて、左眼用画像と右眼用画像を生成し、Lグラフィクスプレーン11LとRグラフィクスプレーン11Rに、それぞれ描画する。
【0490】
[Pixel coordinate system for graphics]
【0491】
stereo graphicsコンフィグレーション(グラフィクスの3D画像を表示するコンフィグレーション)で有効なピクセル座標系は、
(0, 0)-(1920, 2160)
(0, 0)-(1280, 1440)
(0, 0)-(720, 960)
(0, 0)-(720, 1152)
(0, 0)-(960, 1080)
のいずれかである。
【0492】
top-halfがL graphics viewに、bottom-halfがR graphics viewに割り当てられる。
【0493】
図33は、1920×2160画素のグラフィクスプレーン11を示している。
【0494】
グラフィクスプレーン11の上側の記憶領域(top-half)であるLグラフィクスプレーン11Lに描画された画像が、左眼で観察される左眼用画像(L(Left) graphics view)となり、グラフィクスプレーン11の下側の記憶領域(bottom-half)であるRグラフィクスプレーン11Rに描画された画像が、右眼で観察される右眼用画像(R(Right) graphics view)となる。
【0495】
図33では、グラフィクスプレーン11に、1つのコンテナ(Root container)と、そのコンテナの子になっている2つのコンポーネント(Components)とが描画されている。
【0496】
コンポーネントの座標は、そのコンポーネントの親になっているコンテナを基準とする相対的な座標で表現される。
【0497】
なお、3D対応プレーヤでは、グラフィクスプレーン11のエッジに、ガード目的の緩衝領域を設けてはならない。
【0498】
また、3D対応プレーヤは、L-view/R-viewとの不整合を抑止する仕組みを導入しなければならない。
【0499】
ここで、レガシープレーヤであるBDプレーヤには、BD-Jアプリケーションによる描画の完了を検知して完了後にモニターへ転送するような機構がない。L/Rビデオ出力の場合、L/R graphics間で出力の不整合が発生する可能性がある。
【0500】
そこで、3D対応プレーヤでは、何らかのAPI呼び出しをBD-Jアプリケーションによる描画の完了を示すシグナルとして定義する。逆に、BD-Jアプリケーションが、該当する描画完了通知APIを呼び出さないと画面には何も出力されない。オーサーは本手法を必ず使わなければならなくなる。
【0501】
すなわち、Lグラフィクスプレーン11Lに画像(左眼用画像)が描画された後、Rグラフィクスプレーン11Rへの画像の描画が完了する前に、グラフィクスプレーン11の描画内容が、左眼用画像と右眼用画像として、表示画面に表示されると、その左眼用画像と右眼用画像とは、3D画像として見えるように、整合がとれた画像になっていないため(いまの場合、右眼用画像の描画が不完全であるため)、表示画面の画像を見たユーザに、不快感を感じさせることになる。
【0502】
このように、ユーザに不快感を感じさせることを防止するために、3D対応プレーヤは、左眼用画像と右眼用画像との不整合を抑止する機能、つまり、3D画像として見えるように、整合がとれた状態となっていない左眼用画像と右眼用画像が表示画面に表示されることを防止する機能を有する。
【0503】
具体的には、3D対応プレーヤは、グラフィクスプレーン11に対する、左眼用画像と右眼用画像との両方の描画が完了してから、その左眼用画像と右眼用画像を、表示のために出力する。
【0504】
したがって、3D対応プレーヤは、グラフィクスプレーン11に対する、左眼用画像と右眼用画像との両方の描画が完了したことを認識する必要がある。
【0505】
[Direct-drawing model]
【0506】
Direct-drawingでは、3D対応プレーヤは、BD-Jアプリケーションからの、グラフィクスの画像を描画する描画コマンドの発行が完了したかどうかを知る術がない。
【0507】
すなわち、BD-Jアプリケーションが、描画コマンド#1,#2,・・・,#Nを発行し、その描画コマンド#1ないし#Nに従って、グラフィクスプレーン11への画像の描画が行われた場合に、その後、BD-Jアプリケーションから、さらに、描画コマンドが発行されるかどうか、つまり、BD-Jアプリケーションによる描画コマンドの発行が完了したのかどうかを、3D対応プレーヤは、認識することができない。
【0508】
そこで、BD-Jアプリケーションのオーサには、描画コマンドによるグラフィクスプレーン11への画像の描画を行う場合に、グラフィクスプレーン11に対する画像の描画が完了するまでは処理をBD-Jアプリケーションに戻さないような、グラフィクスの描画の完全性を保証する描画完全性保証API呼び出しを、3D対応プレーヤに対するシグナリングとして義務づける。
【0509】
又は、描画コマンドによるグラフィクスプレーン11への画像の描画を行う場合に、グラフィクスプレーン11に対する画像の描画が終了したことを通知する描画完了通知APIの呼び出しを、3D対応プレーヤに対するシグナリングとして義務づける。
【0510】
又は、描画コマンドによるグラフィクスプレーン11への画像の描画を行う場合に、グラフィクスプレーン11に対する画像の描画を開始することを通知する描画開始通知APIの呼び出し、及び、その後のグラフィクスプレーン11に対する画像の描画を終了したことを通知する描画完了通知APIの呼び出しを、3D対応プレーヤに対するシグナリングとして義務づける。
【0511】
この場合、3D対応プレーヤは、BD-Jアプリケーションによる描画完全性保証APIの呼び出し、描画完了通知APIの呼び出し、又は、描画開始通知APIの呼び出しと、その後の描画完了通知APIの呼び出しによって、グラフィクスプレーン11に対する画像の描画が終了したこと、つまり、描画コマンドの発行が完了したことを認識することができる。そして、その結果、(3D画像として見えるように、)整合がとれた状態となっている左眼用画像と右眼用画像を表示することができる。
【0512】
ここで、描画完全性保証APIとしては、描画コマンド列を引数にとる専用APIを定義することができる。
【0513】
また、描画完了通知APIとしては、例えば、java.awt.Toolkit#sync()メソッドを採用することができる。この場合、3D対応プレーヤでは、java.awt.Toolkit#sync()メソッドの呼び出しが行われない限りは、グラフィクスプレーン11に描画された画像は出力されず、したがって、表示画面には、グラフィクスプレーン11に描画された画像が表示されない。
【0514】
さらに、描画開始通知APIとしては、例えば、java(登録商標)の所定のメソッド、又は、専用のAPIを定義することができる。
【0515】
なお、1フレームの間(1-video-frame間)に、java.awt.Toolkit#sync()メソッドの呼び出しが、複数回行われると、graphics-frameがコマ落ちする可能性がある。したがって、java.awt.Toolkit#sync()メソッドの呼び出しを、連続で複数回行うことや、少ない描画をはさんで連続で行うことは、してはならない。
【0516】
[Repaint model]
【0517】
AWT(Abstract Windowing toolkit)ペイントモデルでは、グラフィクスの画像を構成する部品としてのルートコンテナのrepaint()メソッドが、グラフィクスの画像を構成する部品としての各コンポーネントのupdate()メソッドを呼び出す。
【0518】
そして、AWTペイントモデルでは、3D対応プレーヤにおいて、グラフィクスの画像の描画プロセスを、完全に制御すること(フルコントロールすること)ができるので、3D対応プレーヤは、グラフィクスプレーン11に対する画像の描画が終了したことを認識することができる。
【0519】
したがって、上述の描画完了通知APIの呼び出しを行うようにしなくても、整合がとれた状態となっている左眼用画像と右眼用画像が表示されるように、3D対応プレーヤの実装を行うことができる。
【0520】
図34は、BD-Jアプリケーションによる描画完全性保証APIの呼び出し、描画完了通知APIの呼び出し、又は、描画開始通知APIの呼び出しと、その後の描画完了通知APIの呼び出しを義務づけて、描画コマンドの発行が完了したことを認識する3D対応プレーヤとしての図3のBDプレーヤの機能的構成例を示すブロック図である。
【0521】
なお、ここでは、BD-Jアプリケーションが、グラフィクスプレーン11に対する画像の描画が終了した場合に、描画完了通知APIを呼び出すこととする。
【0522】
3D対応プレーヤは、グラフィクスプレーン11としてのバッファ201L及び201R、並びに、バッファ202L及び202Rを有する。
【0523】
なお、図34では、バッファ201L及び202Lが、Lグラフィクスプレーン11Lに相当し、バッファ201R及び202Rが、Rグラフィクスプレーン11Rに相当する。
【0524】
また、バッファ201L及び201Rのセットと、バッファ202L及び202Rのセットとは、交互に、バックバッファ(隠しバッファ)とフロントバッファとして機能する。
【0525】
ここで、バックバッファは、BD-Jアプリケーションからのグラフィクスの画像の描画がされるバッファであり、フロントバッファは、バックバッファに画像の描画がされている間に、表示画面(論理スクリーン21)に表示される画像を記憶するバッファである。
【0526】
図34Aは、バッファ201L及び201Rのセットが、バックバッファとなり、バッファ202L及び202Rのセットが、フロントバッファとなっている状態の3D対応プレーヤを示している。
【0527】
図34Aでは、バックバッファとしてのバッファ201L及び201Rに対して、BD-Jアプリケーションによるグラフィクスの画像(左眼用画像、及び、右眼用画像)の描画が行われ、フロントバッファとしてのバッファ202L及び202Rに記憶されている画像(左眼用画像、及び、右眼用画像)が、表示画面への出力として出力されている。
【0528】
BD-Jアプリケーションは、バックバッファとしてのバッファ201L及び201Rに対して、グラフィクスの画像の描画が終了すると、描画完了通知APIを呼び出す。
【0529】
3D対応プレーヤは、描画完了通知APIの呼び出しが行われると、フロントバッファに代えて、バックバッファに記憶されている画像の、表示画面への出力を開始する。
【0530】
すなわち、図34Bは、描画完了通知APIの呼び出しが行われた直後の3D対応プレーヤを示している。
【0531】
3D対応プレーヤは、描画完了通知APIの呼び出しが行われると、フロントバッファになっているバッファ202L及び202Rに記憶された画像に代えて、バックバッファになっているバッファ201L及び201Rに記憶されている画像の、表示画面への出力を開始する。
【0532】
さらに、3D対応プレーヤは、バックバッファになっているバッファ201L及び201Rに記憶されている画像を、フロントバッファになっているバッファ202L及び202Rにコピーする。
【0533】
その後、3D対応プレーヤは、バックバッファとフロントバッファとを入れ替える。
【0534】
すなわち、3D対応プレーヤは、バックバッファになっているバッファ201L及び201Rを、フロントバッファとするとともに、フロントバッファになっているバッファ202L及び202Rを、バックバッファとする。
【0535】
すなわち、図34Cは、バッファ201L及び201Rのセットが、フロントバッファとなり、バッファ202L及び202Rのセットが、バックバッファとなっている状態の3D対応プレーヤを示している。
【0536】
BD-Jアプリケーションは、バックバッファとなったバッファ202L及び202Rに対するグラフィクスの画像の描画を開始し、以下、同様の処理が繰り返される。
【0537】
図35は、BD-Jアプリケーションが描画完全性保証APIを呼び出す場合の、図34の3D対応プレーヤによるグラフィクスの処理を説明するフローチャートである。
【0538】
ステップS11において、3D対応プレーヤは、BD-Jアプリケーションから、描画完全性保証APIの呼び出しがあったかどうかを判定し、なかったと判定した場合、ステップS11に戻る。
【0539】
また、ステップS11において、描画完全性保証APIの呼び出しがあったと判定された場合、ステップS12に進み、3D対応プレーヤは、描画完全性保証APIの引数となっている描画コマンド列を順次実行し、その実行の結果得られるグラフィクスの画像を、バックバッファに描画するとともに、フロントバッファに記憶されているグラフィクスの画像を、表示画面に出力する(表示のために出力する)。
【0540】
その後、3D対応プレーヤは、バックバッファへの描画が完了した後に、ステップS13において、フロントバッファに代えて、バックバッファに記憶されているグラフィクスの画像を、表示画面に出力する(表示のために出力する)。
【0541】
そして、3D対応プレーヤは、ステップS14において、バックバッファに記憶されたグラフィクスの画像を、フロントバッファにコピーする。
【0542】
その後、3D対応プレーヤは、ステップS15において、バックバッファとフロントバッファとを入れ替え、ステップS11に戻り、以下、同様の処理が繰り返される。
【0543】
以上のように、3D対応プレーヤでは、グラフィクスプレーン11(であるバックバッファ)に対する、グラフィックスの画像の描画の完全性を保証する描画完全性保証APIの呼び出しが、BD-Jアプリケーションからあった場合に、グラフィクスプレーン11に描画された画像が、表示のために出力される。
【0544】
したがって、3D対応プレーヤによるグラフィクスの画像の描画の完了を待ってから、グラフィクスプレーン11に描画がされた画像を表示することができるので、整合がとれた状態となっていない左眼用画像と右眼用画像が、表示画面に表示されることを防止することができる。
【0545】
図36は、BD-Jアプリケーションが描画完了通知APIを呼び出す場合の、図34の3D対応プレーヤによるグラフィクスの処理を説明するフローチャートである。
【0546】
3D対応プレーヤは、BD-Jアプリケーションからの描画コマンドの発行を待って、ステップS21において、その描画コマンドを実行する。
【0547】
そして、3D対応プレーヤは、ステップS22において、描画コマンドの実行の結果得られるグラフィクスの画像を、バックバッファに描画するとともに、フロントバッファに記憶されているグラフィクスの画像を、表示画面に出力する(表示のために出力する)。
【0548】
その後、ステップS23において、3D対応プレーヤは、BD-Jアプリケーションから、描画完了通知APIの呼び出しがあったかどうかを判定する。
【0549】
ステップS23において、描画完了通知APIの呼び出しがなかったと判定された場合、BD-Jアプリケーションからの描画コマンドの発行を待って、ステップS21に戻り、以下、同様の処理が繰り返される。
【0550】
また、ステップS23において、描画完了通知APIの呼び出しがあったと判定された場合、3D対応プレーヤは、ステップS24に進み、フロントバッファに代えて、バックバッファに記憶されているグラフィクスの画像を、表示画面に出力する(表示のために出力する)。
【0551】
そして、3D対応プレーヤは、ステップS25において、バックバッファに記憶されたグラフィクスの画像を、フロントバッファにコピーする。
【0552】
その後、3D対応プレーヤは、ステップS26において、バックバッファとフロントバッファとを入れ替え、BD-Jアプリケーションからの描画コマンドの発行を待って、ステップS21に戻り、以下、同様の処理が繰り返される。
【0553】
以上のように、3D対応プレーヤでは、グラフィクスプレーン11(であるバックバッファ)に対する、グラフィックスの画像の描画が終了したことを通知する描画完了通知APIの呼び出しが、BD-Jアプリケーションからあった場合に、グラフィクスプレーン11に描画された画像が、表示のために出力される。
【0554】
したがって、BD-Jアプリケーションによるグラフィクスの画像の描画が完了したことの通知があってから、グラフィクスプレーン11に描画がされた画像を表示することができるので、整合がとれた状態となっていない左眼用画像と右眼用画像が、表示画面に表示されることを防止することができる。
【0555】
図37は、BD-Jアプリケーションが、描画開始通知APIの呼び出しと、その後の描画完了通知APIの呼び出しとを行う場合の、図34の3D対応プレーヤによるグラフィクスの処理を説明するフローチャートである。
【0556】
ステップS31において、3D対応プレーヤは、BD-Jアプリケーションから、描画開始通知APIの呼び出しがあったかどうかを判定し、なかったと判定された場合、ステップS31に戻る。
【0557】
また、ステップS31において、描画開始APIの読み出しがあったと判定された場合、3D対応プレーヤは、BD-Jアプリケーションからの描画コマンドの発行を待って、ステップS32に進み、その描画コマンドを実行する。
【0558】
その後、ステップS33において、3D対応プレーヤは、BD-Jアプリケーションから、描画完了通知APIの呼び出しがあったかどうかを判定する。
【0559】
ステップS33において、描画完了通知APIの呼び出しがなかったと判定された場合、BD-Jアプリケーションからの描画コマンドの発行を待って、ステップS32に戻り、以下、同様の処理が繰り返される。
【0560】
また、ステップS33において、描画完了通知APIの呼び出しがあったと判定された場合、3D対応プレーヤは、ステップS34に進み、描画コマンドの実行の結果得られるグラフィクスの画像を、バックバッファに描画するとともに、フロントバッファに記憶されているグラフィクスの画像を、表示画面に出力する(表示のために出力する)。
【0561】
その後、3D対応プレーヤは、ステップS35において、フロントバッファに代えて、バックバッファに記憶されているグラフィクスの画像を、表示画面に出力する(表示のために出力する)。
【0562】
そして、3D対応プレーヤは、ステップS36において、バックバッファに記憶されたグラフィクスの画像を、フロントバッファにコピーする。
【0563】
その後、3D対応プレーヤは、ステップS37において、バックバッファとフロントバッファとを入れ替え、ステップS31に戻り、以下、同様の処理が繰り返される。
【0564】
以上のように、3D対応プレーヤでは、グラフィクスプレーン11(であるバックバッファ)に対する、グラフィックスの画像の描画を開始する描画開始通知APIの呼び出し、及び、その後のグラフィックスの画像の描画が終了したことを通知する描画完了通知APIの呼び出しが、BD-Jアプリケーションからあった場合に、グラフィクスプレーン11に描画された画像が、表示のために出力される。
【0565】
したがって、BD-Jアプリケーションによるグラフィクスの画像の描画が完了したことの通知があってから、グラフィクスプレーン11に描画がされた画像を表示することができるので、整合がとれた状態となっていない左眼用画像と右眼用画像が、表示画面に表示されることを防止することができる。
【0566】
[Pixel coordinate system for background]
【0567】
stereo backgroundコンフィグレーション(バックグラウンドの3D画像を表示するコンフィグレーション)で有効なピクセル座標系は、
(0, 0)-(1920, 2160)
(0, 0)-(1280, 1440)
(0, 0)-(720, 960)
(0, 0)-(720, 1152)
のいずれかである。
【0568】
top-halfがL background viewに、bottom-halfがR background viewに割り当てられる。
【0569】
なお、バックグラウンドの画像のフォーマット(Contents format)は、単一色(Single-color),JPEG(JFIF)、又は、MPEG2 drip-feedのうちのいずれかであり、フォーマットが、MPEG2 drip-feedである場合には、バックグラウンドの画像は、SD画像(SD video only)でなければならない。
【0570】
また、バックグラウンドの画像としては、1920×2160画素、1280×1440画素、720×960画素、又は、720×1152画素のJPEG(JFIF)イメージ(image)を使用することができる。
【0571】
[フォーカス管理]
【0572】
グラフィクスの画像として、例えば、ウィジェット・ベースのGUI(Graphical User Interface)等を採用する場合に、レガシープレーヤでは、GUIを構成する、ある1つのコンテナの子となっている複数のコンポーネントは、一度にフォーカスを持つことはできない。
【0573】
また、レガシープレーヤでは、GUIを構成する複数のルートコンテナを、一度に、アクティブ(フォーカスを持った状態)にすることができない。
【0574】
ここで、コンテナは、グラフィクスの画像の構成要素(部品)であり、親(上位層)と子(下位層)を持つことができる。親を持たずに、子のみを持つコンテナは、ルートコンテナと呼ばれる。
【0575】
コンポーネントは、コンテナの一種であり、親を持つことはできるが、子を持つことはできない。
【0576】
グラフィクスの画像としてのGUIが、3D画像である場合、その3D画像を構成する左眼用画像と右眼用画像とのそれぞれで、対応するコンテナにフォーカスを持たせ、そのフォーカスの遷移を同様(同等)に行う必要がある。
【0577】
すなわち、左眼用画像と右眼用画像とのうちの、一方の画像を構成するあるコンテナがフォーカスされているが、そのコンテナに対応する、他方の画像を構成するコンテナがフォーカスされていない場合には、そのような左眼用画像と右眼用画像とによって表示される3D画像を見たユーザに、不快感を感じさせることになる。
【0578】
このように、ユーザに不快感を感じさせることを防止するために、3D対応プレーヤは、左眼用画像のコンテナと、右眼用画像のコンテナとにおいて、フォーカスの遷移が、同様になるように、フォーカスの管理を行う。
【0579】
図38は、グラフィクスプレーン11に描画されたGUIの例を示している。
【0580】
図38のGUIは、1個のルートコンテナと、そのルートコンテナの子になっている、対応する2個ずつのコンポーネント#1,#2、及び、#3とから構成される。
【0581】
なお、図38において、Lグラフィクスプレーン11Lに描画されているコンポーネント#1,#2、及び、#3は、左眼用画像を構成し、Rグラフィクスプレーン11Rに描画されているコンポーネント#1,#2、及び、#3は、右眼用画像を構成する。
【0582】
例えば、左眼用画像のコンポーネント#iがフォーカスされている場合、右眼用画像の、対応するコンポーネントであるコンポーネント#iもフォーカスされていなければならない。
【0583】
3D対応プレーヤは、ウィジェットの状態遷移/管理をL/R 間で対称になれるようにするために、同時に二つのコンテナーまたはコンポーネントがフォーカスを持てるようにすることで対応する。そのためには、コンテナーまたはコンポーネントのインスタンスには、フォーカスを保持している/していないを表現するフラグを持たせ管理可能なようにする必要がある。また、三つ目のフォーカス・リクエストは失敗させなければならない。すなわち、フォーカスを保持したコンテナーまたはコンポーネントは、0個または2個のいずれかに限定される。
【0584】
左眼用画像と右眼用画像との、対応する2個のコンテナ(コンポーネント)がフォーカスされるようにするフォーカス方式としては、第1のフォーカス方式と、第2のフォーカス方式とがある。
【0585】
図39は、第1のフォーカス方式と、第2のフォーカス方式とを示している。
【0586】
図39Aは、第1のフォーカス方式(1-root-container across L/R graphics plane)を示している。
【0587】
第1のフォーカス方式では、Lグラフィクスプレーン11Lと、Rグラフィクスプレーン11Rとをまたぐコンテナ(Root Container)の子となっている、Lグラフィクスプレーン11L上のコンテナ(コンポーネント)と、Rグラフィクスプレーン11R上のコンテナ(コンポーネント)との、対応する2つのコンテナに、同時に、フォーカスを持たせる。
【0588】
図39Bは、第2のフォーカス方式(2-root-containers (one for L graphics plane, another for R graphics plane))を示している。
【0589】
第2のフォーカス方式では、Lグラフィクスプレーン11Lと、Rグラフィクスプレーン11Rとのそれぞれに、ルートコンテナを描画し、それぞれのルートコンテナを、同時に、アクティブ(フォーカスを持った状態)にする。
【0590】
図40は、左眼用画像と右眼用画像との、対応する2個のコンテナ(コンポーネント)にフォーカスを持たせる3D対応プレーヤとしての図3のBDプレーヤのフォーカスの管理を説明するフローチャートである。
【0591】
なお、グラフィクスプレーン11に描画されるGUIを構成するコンテナ(コンポーネント)は、フォーカスがされているか否かを表すフォーカスフラグを有することとする。
【0592】
3D対応プレーヤは、フォーカスの要求(リクエスト)があると、ステップS51において、コンテナの数をカウントする変数iに、初期値としての0をセットする。
【0593】
そして、3D対応プレーヤは、ステップS52において、グラフィクスプレーン11上のコンテナc(i)の子となっているコンポーネント(コンテナ)の中に、フォーカスされた状態のコンポーネント(以下、フォーカス保持コンポーネントともいう)が、既に、2個存在するかどうかを、コンポーネントが有するフォーカスフラグに基づいて判定する。
【0594】
ステップS52において、コンテナc(i)の子となっているコンポーネントの中に、2個のフォーカス保持コンポーネントが存在しないと判定された場合、3D対応プレーヤは、ステップS53に進み、要求(リクエスト)があったフォーカスを、対応する2個のコンポーネントに持たせる。さらに、ステップS53では、3D対応プレーヤは、フォーカスを持たせた2個のコンポーネントそれぞれのフォーカスフラグに、フォーカスを持っている旨の値をセットし、ステップS54に進む。
【0595】
一方、ステップS52において、コンテナc(i)の子となっているコンポーネントの中に、2個のフォーカス保持コンポーネントが存在すると判定された場合、3D対応プレーヤは、ステップS53をスキップして、ステップS54に進み、変数iを1だけインクリメントして、ステップS55に進む。
【0596】
ステップS55では、3D対応プレーヤは、変数iが、グラフィクスプレーン11上のコンテナの数N未満であるかどうかを判定する。ステップS55において、変数iが、グラフィクスプレーン11上のコンテナの数N未満であると判定された場合、ステップS22に戻り、同様の処理が繰り返される。
【0597】
また、ステップS55において、変数iが、グラフィクスプレーン11上のコンテナの数N未満でないと判定された場合、処理は終了する。
【0598】
以上のようにして、3D対応プレーヤでは、フォーカスの要求に対し、2個のコンテナがフォーカスされていない場合に、左眼用画像を記憶するLグラフィクスプレーン11L(L領域)のコンテナと、そのコンテナに対応する、右眼用画像を記憶するRグラフィクスプレーン11R(R領域)のコンテナとを、フォーカスされている状態にする。
【0599】
したがって、例えば、3D画像のウィジェットを構成するコンテナのうちの、左眼用画像のコンテナと、右眼用画像のコンテナとにおいて、フォーカスの遷移が、同様になるようにすることができる。
【0600】
[マウスイベントの扱い]
【0601】
Stereo graphicsの場合、マウス・カーソルの画面上の2次元座標は、L/R graphics plane上で、それぞれ別の座標であってもよい。そのため、BD-Jアプリケーションは、マウス・イベントに依存した処理を記述するにあたり座標変換を必要とするが、座標変換のためのオフセット値がBDプレーヤの実装ごとに異なってよいために、不明である。
【0602】
すなわち、図41は、例えば、マウス等のポインティングデバイスのカーソルの3D画像が見える表示画面上の位置と、グラフィクスプレーン11上のカーソルの位置とを示している。
【0603】
カーソルは、BDプレーヤによって表示されるが、3D対応プレーヤでは、カーソルの3D画像を、グラフィクスの3D画像(ディスク100から再生される3D画像)よりも手前の位置に(見えるように)表示させることが望ましい。
【0604】
一方、カーソルを、3D画像で表示する場合、論理スクリーン21上の左眼用画像のカーソルは、カーソルの3D画像が見える表示画面の位置(x,y)から、所定のオフセット値△xだけずれた位置(x+△x,y)にあり、論理スクリーン21上の右眼用画像のカーソルも、カーソルの3D画像が見える表示画面の位置(x,y)から、所定のオフセット値△xだけずれた位置(x−△x,y)にある。
【0605】
ここで、所定のオフセット値△xによって、3D画像のカーソルの奥行き方向の位置が変化する。
【0606】
3D対応プレーヤにおいて、カーソルの3D画像を、グラフィクスの3D画像よりも手前の位置に表示させる場合、グラフィクスの3D画像の奥行き方向(Z方向)の、最も手前側の位置を表す値max-depthが必要である。しかしながら、3D対応プレーヤにおいて、値max-depthを、グラフィクスの3D画像から計算することは難しい。
【0607】
そこで、例えば、BDであるディスク100(図3)に、値max-depthを記録しておき、3D対応プレーヤでは、その値max-depthを、PSR(図7)(例えば、PSR#21)に設定する(記憶させる)ことができる。
【0608】
この場合、3D対応プレーヤ(又は、3D対応プレーヤが出力する3D画像を表示するディスプレイ)では、PSRに記憶された値max-depthを参照し、値max-depthが表す位置よりも手前側にカーソルを表示するオフセット値△xを求めることができる。そして、カーソルの3D画像を、グラフィクスの3D画像よりも手前の位置に表示させることができる。
【0609】
なお、3D対応プレーヤが表示するOSD(On Screen display)も、カーソルと同様にして、グラフィクスの3D画像よりも手前の位置に表示させることができる。
【0610】
また、BDであるディスク100(図3)には、値max-depthとともに、BDであるディスク100から再生される3D画像の奥行き方向の、最も奥側の位置を表す値min-depthを記録しておき、PSR(図7)には、値max-depth、及び、値min-depthを設定することが可能である。
【0611】
以上のように、3D対応プレーヤにおいて、PSRに、BDであるディスク100に記録された3D画像の奥行き方向の、最も手前側の位置を表す値max-depth等を設定することで、BDから再生される3D画像よりも手前側に、カーソルや、OSDを表示することができる。
【0612】
ところで、カーソルの3D画像を表示するためのオフセット値△xは、3D対応プレーヤが任意に設定することができる。また、オフセット値△xは、一定である必要はなく、例えば、フレームごとに変更(設定)することができる。
【0613】
したがって、3D対応プレーヤが、BD-Jアプリケーションに対して、カーソルの位置を引数とするイベントを発行するときの、カーソルの位置として、表示画面の位置(x,y)を採用すると、BD-Jアプリケーションは、その表示画面の位置(x,y)の座標変換を行って、グラフィクスプレーン11上のカーソルの位置(x+△x,y)(又は、(x−△x,y))を求めなければならない。
【0614】
しかしながら、BD-Jアプリケーションが、表示画面の位置(x,y)の座標変換を行うには、オフセット値△xを認識する必要があり、3D対応プレーヤが任意に設定することが可能なオフセット値△xを、BD-Jアプリケーションが認識することは難しい。
【0615】
そこで、マウス・イベントの座標系をL graphics plane上のみに限定する。BDプレーヤに対して、マウス・イベントを発行する際の2次元の位置情報としては、L graphics plane上の座標を採用するように義務付ける。
【0616】
すなわち、3D対応プレーヤにおいて、例えば、マウス等のポインティングデバイスのカーソルの3D画像は、左眼用画像、及び、右眼用画像で構成されるが、カーソルの位置を引数とするイベントを発行するときの、カーソルの位置としては、カーソルの3D画像の、グラフィクスプレーン11のLグラフィクスプレーン11L(L領域)、及び、Rグラフィクスプレーン11R(R領域)のうちの一方である、例えば、Lグラフィクスプレーン11L(L領域)上の位置が用いられる。
【0617】
これにより、BD-Jアプリケーションは、3D画像のカーソルの位置として、Lグラフィクスプレーン11L上の位置を知る(認識する)ことができるので、BD-Jアプリケーションのオーサは、カーソルの位置として、Lグラフィクスプレーン11L上の位置を用いて、カーソルの位置を引数とするイベント(マウスイベント等)に対する処理を記述することができる。
【0618】
[Drawing operations}
【0619】
3D対応プレーヤは、L-view/R-viewの整合性を保証しなければならない。すなわち、グラフィクスの左眼用画像と右眼用画像とが、グラフィクスプレーン11に対して、(3D画像として見えるように、)整合がとれた状態に描画された後に、表示画面に表示されることを保証しなければならない。
【0620】
グラフィクスプレーン11の初期化(リセット)も同様である。すなわち、グラフィクスプレーン11のLグラフィクスプレーン11LとRグラフィクスプレーン11Rのうちの一方を初期化する場合には、他方も初期化しなければならない。
【0621】
但し、L-view/R-view間の意味的な整合性、すなわち、グラフィクスの左眼用画像と右眼用画像とにおける、画像の内容の一致性は、BD-Jアプリケーションのオーサの責任(オーサリング責任)である。
【0622】
図42は、グラフィクスの左眼用画像と右眼用画像との整合性を説明する図である。
【0623】
図42Aは、整合がとれた状態に描画されたグラフィクスの左眼用画像と右眼用画像とを示している。
【0624】
図42Aでは、Lグラフィクスプレーン11Lに対する左眼用画像の描画と、Rグラフィクスプレーン11Rに対する右眼用画像の描画とが終了しており、3D対応プレーヤは、このように描画が終了した後に、左眼用画像と右眼用画像とを、表示画面に表示しなければならない。
【0625】
なお、図35で説明した描画完全性保証APIは、描画コマンド列を引数とするが、その描画完全性保証APIの引数である描画コマンド列は、(3D画像として見えるように、)整合がとれた状態となっている左眼用画像と右眼用画像を描画する描画コマンド列でなければならず、かかる描画完全性保証APIによれば、グラフィクスの左眼用画像と右眼用画像とが整合がとれた状態に描画されることが保証される。
【0626】
図42Bは、整合がとれていない状態のグラフィクスの左眼用画像と右眼用画像とを示している。
【0627】
図42Bでは、Lグラフィクスプレーン11Lに対する左眼用画像の描画は終了しているが、Rグラフィクスプレーン11Rに対する右眼用画像の描画は終了していない。
【0628】
3D対応プレーヤは、図42Bの状態の左眼用画像と右眼用画像とを、表示画面に表示してはならない。
【0629】
グラフィクスの左眼用画像と右眼用画像との整合性は、例えば、3D対応プレーヤにおいて、トリプルバッファリングを採用することで保証することができる。
【0630】
図43は、トリプルバッファリングを採用する3D対応プレーヤとしての図3のBDプレーヤの機能的構成例を示すブロック図である。
【0631】
3D対応プレーヤは、グラフィクスプレーン11としてのバックバッファ(隠しバッファ)211、並びに、フロントバッファ212、及び、213を有する。
【0632】
バックバッファ211は、バッファ211L及び211Rから構成される。フロントバッファ212は、バッファ212L及び212Rから構成され、フロントバッファ213は、バッファ213L及び213Rから構成される。
【0633】
なお、図43において、バッファ211L,212L、及び、213Lは、Lグラフィクスプレーン11Lに相当し、左眼用画像を記憶する。バッファ211R,212R、及び、213Rは、Rグラフィクスプレーン11Rに相当し、右眼用画像を記憶する。
【0634】
BD-Jアプリケーションは、描画コマンドを発行し、その描画コマンドの実行の結果としてのグラフィクスの3D画像(左眼用画像と右眼用画像)が、バックバッファ211に描画される。
【0635】
一方、フロントバッファ212と213とは、交互に選択され、選択された方のバッファ(以下、選択バッファともいう)に記憶された左眼用画像と右眼用画像は、表示画面に表示される(Display processorに供給される)。
【0636】
フロントバッファ212と213のうちの、選択バッファでない方には、バックバッファ211に対する左眼用画像と右眼用画像の描画が終了した後に、そのバックバッファ211に記憶(描画)された左眼用画像と右眼用画像とがコピーされる。
【0637】
フロントバッファ212と213を、交互に、選択バッファに選択する選択の切り替えは、tearing artifactsの発生を防止するために、バックバッファからの左眼用画像と右眼用画像の読み出し(コピー)が、最後の水平ラインまで完了した後のVBI(Vertical Blanking Interval)のタイミングで実行される。
【0638】
[Frame Accurate Animation]
【0639】
FAA(Frame Accurate Animation)には、Image Frame Accurate Animationと、Sync Frame Accurate Animationの2つがあるが、3D対応プレーヤにおいて、アニメーションのための左眼用画像と右眼用画像とを同期して動作させるためには(L/R同期のためには)、Image Frame Accurate Animationと、Sync Frame Accurate Animationのいずれであっても、アニメーションのための左眼用画像の描画と、アニメーションのための右眼用画像の描画とを、別個に行うこと(二箇所で同時にアニメーションが動作させること)が望ましい。
【0640】
すなわち、レガシープレーヤでは、1箇所でしかアニメーションが動作しない。L/Rをまたぐような画像やバッファーを使用すれば、擬似的に2箇所でアニメーション動作が可能であるが、BDプレーヤー側のパフォーマンス要件により、充分なアニメーション・フレームレートを出せない。
【0641】
図44は、L/Rをまたぐ画像によるアニメーションを説明する図である。
【0642】
図44では、1920×2160画素のグラフィクスプレーン11のLグラフィクスプレーン11Lと、Rグラフィクスプレーン11Rとをまたいで、w×(h+1080)画素の1つの画像が描画されている。
【0643】
図44において、w×(h+1080)画素の画像のうちの、上部のw×h画素の画像と、下部のw×h画素の画像とをのぞいた部分(中央部分)を、透過ピクセル(透明色)で塗りつぶすことで、上部のw×h画素の画像を、アニメーションのための左眼用画像とするとともに、下部のw×h画素の画像を、アニメーションのための右眼用画像とすることができる。
【0644】
すなわち、図44の1つの画像の中央部分を、透明色で塗りつぶすことで、その1つの画像の見た目を、w×h画素の画像が、Lグラフィクスプレーン11Lと、Rグラフィクスプレーン11Rとで同一の位置に描画された状態とすることができる。したがって、Lグラフィクスプレーン11L上のw×h画素の画像と、Rグラフィクスプレーン11R上のw×h画素の画像とを同期して動作させた3D画像のアニメーションを実現することができる。
【0645】
しかしながら、図44では、アニメーションのための左眼用画像、及び、右眼用画像が、w×h画素の画像であるのにもかかわらず、w×(h+1080)画素の、巨大な1つの画像の描画を行う必要がある。
【0646】
その結果、BDプレーヤの性能(パフォーマンス)によっては、画像の描画に時間を要し、十分なフレームレートで、3D画像のアニメーションを表示することが困難となる。
【0647】
そこで、3D対応プレーヤでは、アニメーションのための左眼用画像の描画と、アニメーションのための右眼用画像の描画とを、別個に行う。
【0648】
図45は、アニメーションのための左眼用画像の描画と、アニメーションのための右眼用画像の描画とを示す図である。
【0649】
3D対応プレーヤでは、アニメーションのための左眼用画像が、Lグラフィクスプレーン11L(L領域)に描画される。さらに、3D対応プレーヤでは、Lグラフィクスプレーン11L(L領域)に対するアニメーションのための左眼用画像の描画とは別個に、アニメーションのための右眼用画像が、Rグラフィクスプレーン11R(R領域)に描画される。
【0650】
これにより、アニメーションのための左眼用画像と右眼用画像の描画を迅速に行うことができ、その結果、十分なフレームレートで、3D画像のアニメーションを表示することが可能となる。
【0651】
図46は、Lグラフィクスプレーン11Lに対する、アニメーションのための左眼用画像の描画と、Rグラフィクスプレーン11Rに対する、アニメーションのための右眼用画像の描画とを、別個に行う3D対応プレーヤとしての図3のBDプレーヤの機能的構成例を示すブロック図である。
【0652】
図46Aは、Image Frame Accurate Animationとしてのアニメーションを描画する3D対応プレーヤの構成例を示している。
【0653】
イメージバッファ(Image buffer)231は、BD-Jアプリケーションが、BDであるディスク100(図3)からリソースをロードして保存しておくための、キャッシュメモリとして機能するバッファであり、アニメーションのための左眼用画像のリスト(L用の画像のリスト)と、アニメーションのための右眼用画像のリスト(R用の画像のリスト)とを記憶する。
【0654】
ピクセル転送器232Lは、イメージバッファ231からアニメーションのための左眼用画像を、画素(ピクセル)単位で、順次読み出し、Lグラフィクスプレーン11Lに描画する。
【0655】
ピクセル転送器232Rは、イメージバッファ231からアニメーションのための右眼用画像を、画素(ピクセル)単位で、順次読み出し、Rグラフィクスプレーン11Rに描画する。
【0656】
図46Bは、Sync Frame Accurate Animationとしてのアニメーションを描画する3D対応プレーヤの構成例を示している。
【0657】
グラフィクスメモリ241は、3D対応プレーヤのワークメモリであり、アニメーションのための左眼用画像を記憶するバッファ(L用の画像のbuffer)と、アニメーションのための右眼用画像を記憶する(R用の画像のbuffer)とから構成される。
【0658】
ピクセル転送器242Lは、グラフィクスメモリ241からアニメーションのための左眼用画像を、画素単位で、順次読み出し、Lグラフィクスプレーン11Lに描画する。
【0659】
ピクセル転送器242Rは、グラフィクスメモリ241からアニメーションのための右眼用画像を、画素単位で、順次読み出し、Rグラフィクスプレーン11Rに描画する。
【0660】
ここで、図47に、Image Frame Accurate Animation の拡張APIの定義を示す。
【0661】
また、図48に、Sync Frame Accurate Animation の拡張APIの定義を示す。
【0662】
さらに、図49及び図50に、Image Frame Accurate Animation のサンプルコードを示す。なお、図50は、図49に続く図である。
【0663】
また、図51及び図52に、Sync Frame Accurate Animation のサンプルコードを示す。なお、図52は、図51に続く図である。
【0664】
ここで、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【0665】
すなわち、本実施の形態では、3D対応プレーヤである図3のBDプレーヤにおいて、ディスク100に記録された3D画像のコンテンツやJava(登録商標)アプリケーションを対象として処理を行うこととしたが、3D対応プレーヤにおいて処理の対象とする3D画像のコンテンツやJava(登録商標)アプリケーションは、ディスク100等の記録媒体以外のデータ供給手段、具体的には、例えば、ディジタル放送のアプリケーションであるオブジェクトカルーセルやデータカルーセルから、3D対応プレーヤに供給し、3D対応プレーヤでは、その、オブジェクトカルーセルやデータカルーセルから供給される3D画像のコンテンツやJava(登録商標)アプリケーションを対象として、処理を行うことができる。
【符号の説明】
【0666】
10 論理プレーン, 11 グラフィクスプレーン, 11L Lグラフィクスプレーン, 11R Rグラフィクスプレーン, 12 PGプレーン, 12L L-PGプレーン, 12R R-PGプレーン, 13 ビデオプレーン, 13L Lビデオプレーン, 13R Rビデオプレーン, 14 バックグラウンドプレーン, 14L Lバックグラウンドプレーン, 14R Rバックグラウンドプレーン, 15 ミキサ, 21 論理スクリーン, 101 バス, 102 CPU, 103 ROM, 104 RAM, 105 ハードディスク, 106 出力部, 107 入力部, 108 通信部, 109 ドライブ, 110 入出力インタフェース, 111 リムーバブル記録媒体, 201L,201R,202L,202R バッファ, 211 バックバッファ, 211L,211R, 212 フロントバッファ, 212L,212R バッファ, 213 フロントバッファ, 213L,213R バッファ, 231 イメージバッファ, 232L,232R ピクセル転送器, 241 グラフィクスメモリ, 242L,242R ピクセル転送器

【特許請求の範囲】
【請求項1】
ビデオの画像を記憶するビデオプレーンは、左眼用画像を記憶する1面分の画像の記憶領域であるL領域と、右眼用画像を記憶する1面分の画像の記憶領域であるR領域との、2面分の画像の記憶領域が並んで配置された記憶領域であり、
前記ビデオプレーンのコンフィグレーションは、前記2面分の画像の記憶領域である前記ビデオプレーン全体に対して定義され、
前記ビデオの画像を再生するモードであるビデオモードとして、
前記ビデオの画像が、2D(Dimension)画像であるモノ画像である場合に、前記モノ画像を、前記ビデオプレーンの前記L領域、及び、前記R領域のうちの、一方の記憶領域に記憶するモノビデオモードと、
前記ビデオの画像が、前記モノ画像である場合に、前記モノ画像を、前記ビデオプレーンの前記L領域、及び、前記R領域の両方に記憶するデュアルモノビデオモードと、
前記ビデオの画像が、3D画像であるステレオ画像である場合に、前記ステレオ画像を構成する前記左眼用画像、及び、前記右眼用画像を、前記ビデオプレーンの前記L領域、及び、前記R領域に、それぞれ記憶するステレオビデオモードと、
前記ビデオの画像が、前記ステレオ画像である場合に、前記ステレオ画像を構成する前記左眼用画像、及び、前記右眼用画像のうちの一方を、前記ビデオプレーンの前記L領域、及び、前記R領域の両方に記憶するフラットステレオビデオモードと、
前記ビデオの画像が、前記ステレオ画像である場合に、前記ステレオ画像を構成する前記左眼用画像、及び、前記右眼用画像のうちの一方を、前記ビデオプレーンの前記L領域、及び、前記R領域のうちの、一方の記憶領域に記憶する強制モノビデオモードと
の5つのモードが定義され、
PG(Presentation Graphics)の画像のPGストリームとして、
2D画像であるモノ画像の前記PGの画像のPGストリームであるモノPGストリームと、
3D画像であるステレオ画像の前記PGの画像のPGストリームであるステレオPGストリームと、
前記モノ画像に視差を与えるデータであるオフセット値とともに、ステレオ画像を生成するのに用いられる、前記モノ画像の前記PGの画像のPGストリームであるオフセット用PGストリームと
が定義され、
字幕画像のText subtitleストリームとして、
2D画像であるモノ画像の前記Text subtitleの画像のText subtitle ストリームであるモノText subtitleストリームと、
3D画像であるステレオ画像の前記Text subtitleの画像のText subtitleストリームであるステレオText subtitleストリームと、
前記モノ画像に視差を与えるデータであるオフセット値とともに、ステレオ画像を生成するのに用いられる、前記モノ画像の前記Text subtitleの画像のText subtitleストリームであるオフセット用Text subtitleストリームと
が定義され、
前記モノPGストリーム、前記ステレオPGストリーム、又は、前記オフセット用PGストリームの選択と、前記モノText subtitleストリーム、前記ステレオText subtitleストリーム、又は、前記オフセット用Text subtitleストリームの選択とを行うストリーム選択API(Application Programming Interface)を備え、
前記オフセット用PGストリームは、前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、前記デュアルモノビデオモード、及び、前記ステレオビデオモードのいずれの場合であっても選択することが可能であり、
前記ステレオPGストリームは、前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、前記デュアルモノビデオモード、及び、前記ステレオビデオモードのいずれの場合であっても選択することが可能であり、
前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、又は、前記デュアルモノビデオモードの場合に、前記オフセット用PGストリームが選択されたとき、前記オフセット値が0にセットされ、前記オフセット用PGストリームに対応する前記モノ画像が再生され、
前記ビデオモードが、前記モノビデオモード、又は、前記強制モノビデオモードの場合に、前記ステレオPGストリームが選択されたとき、前記ステレオPGストリームに対応する前記ステレオ画像を構成する前記左眼用画像、及び、前記右眼用画像のうちの一方が再生され、
前記ビデオモードが、前記フラットステレオビデオモード、又は、前記デュアルモノビデオモードの場合に、前記ステレオPGストリームが選択されたとき、ストリームに割り当てられる番号であるストリーム番号が、選択された前記ステレオPGストリームと同一の前記オフセット用PGストリームが存在すれば、そのオフセット用PGストリームに対応する前記モノ画像が、前記オフセット値を0にセットして再生され、
前記オフセット用Text subtitleストリームは、前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、前記デュアルモノビデオモード、及び、前記ステレオビデオモードのいずれの場合であっても選択することが可能であり、
前記ステレオPGストリームは、前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、前記デュアルモノビデオモード、及び、前記ステレオビデオモードのいずれの場合であっても選択することが可能であり、
前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、又は、前記デュアルモノビデオモードの場合に、前記オフセット用Text subtitleストリームが選択されたとき、前記オフセット値が0にセットされ、前記オフセット用PGストリームに対応する前記モノ画像が再生され、
前記ビデオモードが、前記モノビデオモード、又は、前記強制モノビデオモードの場合に、前記ステレオText subtitleストリームが選択されたとき、前記ステレオText subtitleストリームに対応する前記ステレオ画像を構成する前記左眼用画像、及び、前記右眼用画像のうちの一方が再生され、
前記ビデオモードが、前記フラットステレオビデオモード、又は、前記デュアルモノビデオモードの場合に、前記ステレオText subtitleストリームが選択されたとき、前記ストリーム番号が、選択された前記ステレオText subtitleストリームと同一の前記オフセット用Text subtitleストリームが存在すれば、そのオフセット用Text subtitleストリームに対応する前記モノ画像が、前記オフセット値を0にセットして再生される
情報処理装置。
【請求項2】
ビデオの画像を記憶するビデオプレーンは、左眼用画像を記憶する1面分の画像の記憶領域であるL領域と、右眼用画像を記憶する1面分の画像の記憶領域であるR領域との、2面分の画像の記憶領域が並んで配置された記憶領域であり、
前記ビデオプレーンのコンフィグレーションは、前記2面分の画像の記憶領域である前記ビデオプレーン全体に対して定義され、
前記ビデオの画像を再生するモードであるビデオモードとして、
前記ビデオの画像が、2D(Dimension)画像であるモノ画像である場合に、前記モノ画像を、前記ビデオプレーンの前記L領域、及び、前記R領域のうちの、一方の記憶領域に記憶するモノビデオモードと、
前記ビデオの画像が、前記モノ画像である場合に、前記モノ画像を、前記ビデオプレーンの前記L領域、及び、前記R領域の両方に記憶するデュアルモノビデオモードと、
前記ビデオの画像が、3D画像であるステレオ画像である場合に、前記ステレオ画像を構成する前記左眼用画像、及び、前記右眼用画像を、前記ビデオプレーンの前記L領域、及び、前記R領域に、それぞれ記憶するステレオビデオモードと、
前記ビデオの画像が、前記ステレオ画像である場合に、前記ステレオ画像を構成する前記左眼用画像、及び、前記右眼用画像のうちの一方を、前記ビデオプレーンの前記L領域、及び、前記R領域の両方に記憶するフラットステレオビデオモードと、
前記ビデオの画像が、前記ステレオ画像である場合に、前記ステレオ画像を構成する前記左眼用画像、及び、前記右眼用画像のうちの一方を、前記ビデオプレーンの前記L領域、及び、前記R領域のうちの、一方の記憶領域に記憶する強制モノビデオモードと
の5つのモードが定義され、
PG(Presentation Graphics)の画像のPGストリームとして、
2D画像であるモノ画像の前記PGの画像のPGストリームであるモノPGストリームと、
3D画像であるステレオ画像の前記PGの画像のPGストリームであるステレオPGストリームと、
前記モノ画像に視差を与えるデータであるオフセット値とともに、ステレオ画像を生成するのに用いられる、前記モノ画像の前記PGの画像のPGストリームであるオフセット用PGストリームと
が定義され、
字幕画像のText subtitleストリームとして、
2D画像であるモノ画像の前記Text subtitleの画像のText subtitle ストリームであるモノText subtitleストリームと、
3D画像であるステレオ画像の前記Text subtitleの画像のText subtitleストリームであるステレオText subtitleストリームと、
前記モノ画像に視差を与えるデータであるオフセット値とともに、ステレオ画像を生成するのに用いられる、前記モノ画像の前記Text subtitleの画像のText subtitleストリームであるオフセット用Text subtitleストリームと
が定義され、
前記モノPGストリーム、前記ステレオPGストリーム、又は、前記オフセット用PGストリームの選択と、前記モノText subtitleストリーム、前記ステレオText subtitleストリーム、又は、前記オフセット用Text subtitleストリームの選択とを行うストリーム選択API(Application Programming Interface)が、前記ステレオPGストリーム、又は、前記オフセット用PGストリームの選択と、前記モノText subtitleストリーム、前記ステレオText subtitleストリーム、又は、前記オフセット用Text subtitleストリームの選択とを行うステップを含み、
前記オフセット用PGストリームは、前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、前記デュアルモノビデオモード、及び、前記ステレオビデオモードのいずれの場合であっても選択することが可能であり、
前記ステレオPGストリームは、前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、前記デュアルモノビデオモード、及び、前記ステレオビデオモードのいずれの場合であっても選択することが可能であり、
前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、又は、前記デュアルモノビデオモードの場合に、前記オフセット用PGストリームが選択されたとき、前記オフセット値が0にセットされ、前記オフセット用PGストリームに対応する前記モノ画像が再生され、
前記ビデオモードが、前記モノビデオモード、又は、前記強制モノビデオモードの場合に、前記ステレオPGストリームが選択されたとき、前記ステレオPGストリームに対応する前記ステレオ画像を構成する前記左眼用画像、及び、前記右眼用画像のうちの一方が再生され、
前記ビデオモードが、前記フラットステレオビデオモード、又は、前記デュアルモノビデオモードの場合に、前記ステレオPGストリームが選択されたとき、ストリームに割り当てられる番号であるストリーム番号が、選択された前記ステレオPGストリームと同一の前記オフセット用PGストリームが存在すれば、そのオフセット用PGストリームに対応する前記モノ画像が、前記オフセット値を0にセットして再生され、
前記オフセット用Text subtitleストリームは、前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、前記デュアルモノビデオモード、及び、前記ステレオビデオモードのいずれの場合であっても選択することが可能であり、
前記ステレオPGストリームは、前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、前記デュアルモノビデオモード、及び、前記ステレオビデオモードのいずれの場合であっても選択することが可能であり、
前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、又は、前記デュアルモノビデオモードの場合に、前記オフセット用Text subtitleストリームが選択されたとき、前記オフセット値が0にセットされ、前記オフセット用PGストリームに対応する前記モノ画像が再生され、
前記ビデオモードが、前記モノビデオモード、又は、前記強制モノビデオモードの場合に、前記ステレオText subtitleストリームが選択されたとき、前記ステレオText subtitleストリームに対応する前記ステレオ画像を構成する前記左眼用画像、及び、前記右眼用画像のうちの一方が再生され、
前記ビデオモードが、前記フラットステレオビデオモード、又は、前記デュアルモノビデオモードの場合に、前記ステレオText subtitleストリームが選択されたとき、前記ストリーム番号が、選択された前記ステレオText subtitleストリームと同一の前記オフセット用Text subtitleストリームが存在すれば、そのオフセット用Text subtitleストリームに対応する前記モノ画像が、前記オフセット値を0にセットして再生される
情報処理方法。
【請求項3】
ビデオの画像を記憶するビデオプレーンは、左眼用画像を記憶する1面分の画像の記憶領域であるL領域と、右眼用画像を記憶する1面分の画像の記憶領域であるR領域との、2面分の画像の記憶領域が並んで配置された記憶領域であり、
前記ビデオプレーンのコンフィグレーションは、前記2面分の画像の記憶領域である前記ビデオプレーン全体に対して定義され、
前記ビデオの画像を再生するモードであるビデオモードとして、
前記ビデオの画像が、2D(Dimension)画像であるモノ画像である場合に、前記モノ画像を、前記ビデオプレーンの前記L領域、及び、前記R領域のうちの、一方の記憶領域に記憶するモノビデオモードと、
前記ビデオの画像が、前記モノ画像である場合に、前記モノ画像を、前記ビデオプレーンの前記L領域、及び、前記R領域の両方に記憶するデュアルモノビデオモードと、
前記ビデオの画像が、3D画像であるステレオ画像である場合に、前記ステレオ画像を構成する前記左眼用画像、及び、前記右眼用画像を、前記ビデオプレーンの前記L領域、及び、前記R領域に、それぞれ記憶するステレオビデオモードと、
前記ビデオの画像が、前記ステレオ画像である場合に、前記ステレオ画像を構成する前記左眼用画像、及び、前記右眼用画像のうちの一方を、前記ビデオプレーンの前記L領域、及び、前記R領域の両方に記憶するフラットステレオビデオモードと、
前記ビデオの画像が、前記ステレオ画像である場合に、前記ステレオ画像を構成する前記左眼用画像、及び、前記右眼用画像のうちの一方を、前記ビデオプレーンの前記L領域、及び、前記R領域のうちの、一方の記憶領域に記憶する強制モノビデオモードと
の5つのモードが定義され、
PG(Presentation Graphics)の画像のPGストリームとして、
2D画像であるモノ画像の前記PGの画像のPGストリームであるモノPGストリームと、
3D画像であるステレオ画像の前記PGの画像のPGストリームであるステレオPGストリームと、
前記モノ画像に視差を与えるデータであるオフセット値とともに、ステレオ画像を生成するのに用いられる、前記モノ画像の前記PGの画像のPGストリームであるオフセット用PGストリームと
が定義され、
字幕画像のText subtitleストリームとして、
2D画像であるモノ画像の前記Text subtitleの画像のText subtitle ストリームであるモノText subtitleストリームと、
3D画像であるステレオ画像の前記Text subtitleの画像のText subtitleストリームであるステレオText subtitleストリームと、
前記モノ画像に視差を与えるデータであるオフセット値とともに、ステレオ画像を生成するのに用いられる、前記モノ画像の前記Text subtitleの画像のText subtitleストリームであるオフセット用Text subtitleストリームと
が定義され、
前記モノPGストリーム、前記ステレオPGストリーム、又は、前記オフセット用PGストリームの選択と、前記モノText subtitleストリーム、前記ステレオText subtitleストリーム、又は、前記オフセット用Text subtitleストリームの選択とを行うストリーム選択API(Application Programming Interface) であるプログラムであり、
前記オフセット用PGストリームは、前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、前記デュアルモノビデオモード、及び、前記ステレオビデオモードのいずれの場合であっても選択することが可能であり、
前記ステレオPGストリームは、前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、前記デュアルモノビデオモード、及び、前記ステレオビデオモードのいずれの場合であっても選択することが可能であり、
前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、又は、前記デュアルモノビデオモードの場合に、前記オフセット用PGストリームが選択されたとき、前記オフセット値が0にセットされ、前記オフセット用PGストリームに対応する前記モノ画像が再生され、
前記ビデオモードが、前記モノビデオモード、又は、前記強制モノビデオモードの場合に、前記ステレオPGストリームが選択されたとき、前記ステレオPGストリームに対応する前記ステレオ画像を構成する前記左眼用画像、及び、前記右眼用画像のうちの一方が再生され、
前記ビデオモードが、前記フラットステレオビデオモード、又は、前記デュアルモノビデオモードの場合に、前記ステレオPGストリームが選択されたとき、ストリームに割り当てられる番号であるストリーム番号が、選択された前記ステレオPGストリームと同一の前記オフセット用PGストリームが存在すれば、そのオフセット用PGストリームに対応する前記モノ画像が、前記オフセット値を0にセットして再生され、
前記オフセット用Text subtitleストリームは、前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、前記デュアルモノビデオモード、及び、前記ステレオビデオモードのいずれの場合であっても選択することが可能であり、
前記ステレオPGストリームは、前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、前記デュアルモノビデオモード、及び、前記ステレオビデオモードのいずれの場合であっても選択することが可能であり、
前記ビデオモードが、前記モノビデオモード、前記強制モノビデオモード、前記フラットステレオビデオモード、又は、前記デュアルモノビデオモードの場合に、前記オフセット用Text subtitleストリームが選択されたとき、前記オフセット値が0にセットされ、前記オフセット用PGストリームに対応する前記モノ画像が再生され、
前記ビデオモードが、前記モノビデオモード、又は、前記強制モノビデオモードの場合に、前記ステレオText subtitleストリームが選択されたとき、前記ステレオText subtitleストリームに対応する前記ステレオ画像を構成する前記左眼用画像、及び、前記右眼用画像のうちの一方が再生され、
前記ビデオモードが、前記フラットステレオビデオモード、又は、前記デュアルモノビデオモードの場合に、前記ステレオText subtitleストリームが選択されたとき、前記ストリーム番号が、選択された前記ステレオText subtitleストリームと同一の前記オフセット用Text subtitleストリームが存在すれば、そのオフセット用Text subtitleストリームに対応する前記モノ画像が、前記オフセット値を0にセットして再生される
プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate

【図43】
image rotate

【図44】
image rotate

【図45】
image rotate

【図46】
image rotate

【図47】
image rotate

【図48】
image rotate

【図49】
image rotate

【図50】
image rotate

【図51】
image rotate

【図52】
image rotate


【公開番号】特開2010−259053(P2010−259053A)
【公開日】平成22年11月11日(2010.11.11)
【国際特許分類】
【出願番号】特願2010−46029(P2010−46029)
【出願日】平成22年3月3日(2010.3.3)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】