(57)【要約】  マニファクチャが独自に作成した機器に組込んだ機器組込み用GUIを、コンテンツプロバイダによって作成された立体視画像との共存を図ることができる再生装置を提供する。 字幕デコーダは、字幕ストリームをデコードして、所定のレイアウトで字幕表示を行う。GUI処理部は、機器組込みのGUIの描画を行う。字幕のレイアウトには、字幕表示のための領域を上端及び下端の双方に確保する通常レイアウト、上端側にのみ字幕表示の領域を確保する上端配置レイアウト、下端側のみに字幕表示の領域を確保する下端配置レイアウトがあり、   GUI処理部は、字幕のレイアウトとして上端配置レイアウト又は下端配置レイアウトが選択されれば、同じレイアウトを機器組込みのGUIのレイアウトとして選択する。
2012017603.tif 000002
【特許請求の範囲】
【請求項１】
再生装置であって、 
立体視ビデオストリームをデコードして立体視再生を行うビデオデコーダと、 
字幕ストリームをデコードして、所定のレイアウトで字幕表示を行う字幕デコーダと、 
機器組込みのGUIの描画を行う描画手段と、 
ビデオデコーダによる立体視再生と、字幕表示と、描画された機器組込みのGUIとを合成する合成手段とを備え、 
前記字幕のレイアウトには、通常レイアウトと、画面の上端側にのみ字幕表示の領域を確保する上端配置レイアウトと、画面の下端側のみに字幕表示の領域を確保する下端配置レイアウトとがあり、 
前記描画手段は、字幕のレイアウトとして上端配置レイアウト又は下端配置レイアウトが選択されれば、同じレイアウトを機器組込みのGUIのレイアウトとして選択するレイアウト選択部を含む 
ことを特徴とする再生装置。 
【請求項２】
前記再生装置は右目用ビデオプレーン、左目用ビデオプレーン、シフト部を備え、 
前記ビデオデコーダは、立体視ビデオストリームをデコードすることで左目用ピクチャデータ及び右目用ピクチャデータの組みを得て、それぞれを右目用ビデオプレーン及び左目用ビデオプレーンに書き込み、 
前記シフト部は、上端配置レイアウトにおいて、ビデオプレーンに格納されたピクチャデータを下方向にシフトし、下端配置レイアウトにおいて、ビデオプレーンに格納されたピクチャデータを上方向にシフトする 
ことを特徴とする請求項１記載の再生装置。 
【請求項３】
前記再生装置は、字幕を構成する画素データ、及び、機器組込みのGUIを構成する画素データを格納するプレーンメモリを備え、 
前記字幕デコーダ及び前記描画手段の表示モードにはワンプレーンオフセットモードと、平面視モードとがあり、 
前記ワンプレーンオフセットモードは、プレーンメモリにおける画素データの座標に、水平方向のオフセットを与えることで立体視再生を実現する再生モードであり、 
前記描画手段は、機器組込みのGUIをワンプレーンオフセットモードで表示させるにあたって、機器組込みのGUIの深度を調整するGUI深度調整部を備え、 
前記GUI深度調整部は、字幕をワンプレーンオフセットモードで表示する場合の水平方向のオフセットを、機器組込みのGUIをワンプレーンオフセットモードで表示させる場合の水平方向のオフセットとして採用する
ことを特徴とする請求項１記載の再生装置。 
【請求項４】
前記GUI深度調整部は、 
字幕をワンプレーンオフセットモードで表示する場合のシフト方向を、機器組込みのGUIをワンプレーンオフセットモードで表示させる場合のシフト方向として採用する 
ことを特徴とする請求項３記載の再生装置。 
【請求項５】
前記描画手段は更に、 
再生対象となる字幕ストリームが、文字数が通常の字幕よりも多い特殊字幕であるか否かを判定する特殊字幕判定部と、
前記上端配置レイアウト又は下端配置レイアウトにおいて、画面の上端又は下端に確保された字幕領域の余白領域を検出する余白領域検出部と、 
機器組込みのGUIの配置位置を決定する配置決定部とを備え、 
字幕ストリームが特殊な字幕であると特殊字幕判定部が判定した場合、配置決定部は、余白領域検出部により検出された余白領域内に機器組込みのGUIの配置位置を決定する 
ことを特徴とする請求項１記載の再生装置。 
【請求項６】
前記記録媒体は、ストリーム選択テーブルが記録されており、ストリーム選択テーブルは、字幕ストリームの言語属性に対応付けて、字幕ストリームの優先順位を示し、 
前記特殊字幕判定部は、 
同じ言語属性の2以上の字幕ストリームであって、その優先順位が、ストリーム選択テーブルにおいて２番目以下に設定されているものを、特殊な字幕のための字幕ストリームであると判定する 
ことを特徴とする請求項５記載の再生装置。 
【請求項７】
前記上端配置レイアウト又は下端配置レイアウトにおける字幕領域での字幕の配置は、右寄り、左寄り、中央寄せの何れであり、 
余白領域検出部による余白領域の検出は、字幕領域における字幕の配置と、字幕の文字数とに基づいてなされ、 
前記描画手段は更に、字幕領域に表示すべき機器組込みのGUIを縮小する縮小部を備え、 
前記縮小部による機器組込みのGUIの縮小は、機器組込みGUIの表示サイズが、字幕領域の余白を上回る場合になされる 
ことを特徴とする請求項５記載の再生装置。 
【請求項８】
前記字幕ストリームは、テキスト字幕ストリーム又はグラフィクスストリームであり、 
前記特殊な字幕とは、難聴者用字幕又はコメンタリである 
ことを特徴とする請求項５に記載の再生装置。 
【請求項９】
前記再生装置は、
放送されるトランスポートストリームを受信する受信手段、
受信したトランスポートストリームに対して多重分離を行う多重分離手段を備え、
ビデオストリーム及び字幕ストリームは、トランスポートストリームに対する多重分離により得られ、
字幕を何れのレイアウトに配置するかは、前記トランスポートストリームにおいて、ビデオストリーム及び字幕ストリームとともに存在する字幕情報テーブルにて規定され、
前記字幕情報テーブルは、字幕ストリームにより表示される字幕の配置位置及びサイズを示し、
前記描画部は、
字幕情報テーブルにおける字幕の配置情報を参照することで、字幕のレイアウトとして上端配置レイアウト又は下端配置レイアウトの何れが選択されたかを判定する
ことを特徴とする請求項１記載の再生装置。
【請求項１０】
前記再生装置は、
放送されるオブジェクトカルーセルを受信する受信手段と、
受信したオブジェクトカルーセルをキャッシュに格納して、キャッシュ内にファイルレイアウトを得るキャッシュ手段とを備え、
前記ファイルレイアウトは、ストリームファイルと、プレイリストファイルとを含み、プレイリストファイルは、拡張情報テーブルを含み、
ビデオストリーム及び字幕ストリームは、前記ストリームファイルの内部に存在し、
字幕を何れのレイアウトに配置するかは、前記拡張情報テーブルによって示され、
前記拡張情報テーブルは、字幕ストリームにより表示される字幕の配置位置及びサイズを示し、
前記描画部は、
前記拡張情報テーブルにおける字幕の配置情報を参照することで、字幕のレイアウトとして上端配置レイアウト又は下端配置レイアウトの何れが選択されたかを判定する
ことを特徴とする請求項１記載の再生装置。
【請求項１１】
集積回路であって、 
立体視ビデオストリームをデコードして立体視再生を行うビデオデコーダと、 
字幕ストリームをデコードして、所定のレイアウトで字幕表示を行う字幕デコーダと、 
機器組込みのGUIの描画を行う描画手段と、 
ビデオデコーダによる立体視再生と、字幕表示と、描画された機器組込みのGUIとを合成する合成手段とを備え、 
前記字幕のレイアウトには、通常レイアウトと、画面の上端側にのみ字幕表示の領域を確保する上端配置レイアウトと、画面の下端側のみに字幕表示の領域を確保する下端配置レイアウトとがあり、 
前記描画手段は、字幕のレイアウトとして上端配置レイアウト又は下端配置レイアウトが選択されれば、同じレイアウトを機器組込みのGUIのレイアウトとして選択する 
ことを特徴とする集積回路。 
【請求項１２】
再生方法であって、 
立体視ビデオストリームをデコードして立体視再生を行うステップと、 
字幕ストリームをデコードして、所定のレイアウトで字幕表示を行うステップと、 
機器組込みのGUIの描画を行う描画ステップと、 
ビデオデコーダによる立体視再生と、字幕表示と、描画された機器組込みのGUIとを合成する合成ステップとを有し、 
前記字幕のレイアウトには、通常レイアウトと、画面の上端側にのみ字幕表示の領域を確保する上端配置レイアウトと、画面の下端側のみに字幕表示の領域を確保する下端配置レイアウトとがあり、 
前記描画ステップは、字幕のレイアウトとして上端配置レイアウト又は下端配置レイアウトが選択されれば、同じレイアウトを機器組込みのGUIのレイアウトとして選択する 
ことを特徴とする再生方法。 
【請求項１３】
プログラムであって、 
立体視ビデオストリームをデコードして立体視再生を行うステップと、 
字幕ストリームをデコードして、所定のレイアウトで字幕表示を行うステップと、 
機器組込みのGUIの描画を行う描画ステップと、 
ビデオデコーダによる立体視再生と、字幕表示と、描画された機器組込みのGUIとを合成する合成ステップとをコンピュータに行わせ、 
前記字幕のレイアウトには、通常レイアウトと、画面の上端側にのみ字幕表示の領域を確保する上端配置レイアウトと、画面の下端側のみに字幕表示の領域を確保する下端配置レイアウトとがあり、 
前記描画ステップは、字幕のレイアウトとして上端配置レイアウト又は下端配置レイアウトが選択されれば、同じレイアウトを機器組込みのGUIのレイアウトとして選択する 
ことを特徴とするプログラム。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、立体視再生技術の技術分野に属する。 
【背景技術】
【０００２】
立体視再生技術とは、左目と右目とで異なる絵を見せる仕組みを導入し、その両目間の視差を利用することにより、立体的な映像を擬似的に作る技術をいう。 【０００３】
現状、立体視再生技術の応用は、劇場等での応用が主流であるが、家庭設置用のディスプレイや再生装置で立体視再生を楽しむ利用形態も、今後の急速な普及が期待される。 【０００４】
立体視画像をユーザに視聴させるためのディスプレイ(立体視ディスプレイ)には、さまざまな方式がある。たとえば、よく使われる方式の一つにシャッターメガネを利用した方式がある。この方式では、視聴者の左目と右目の視野を、メガネによって交互に高速にふさぎ、このメガネの動作と同期してディスプレイの表示画像も左目用・右目用と高速で更新する。こうすることで、結果的にディスプレイで表示される左目用の画像はシャッターメガネにより左目だけが見え、逆に右目用の画像は右目だけが見える。 
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開WO2010/032399号公報
【特許文献２】日本国出願公開2010-245761号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
立体視再生では、コンテンツプロバイダが作成した動画像、字幕、メニューだけではなく、マニファクチャが独自に作成した組込み機器のための機器組込みのGUIも表示対象になる。かかる機器組込みのGUIは、ユーザが操作に応じて表示されるものであるが、かかる機器組込みのGUIが画面上の任意の場所に配置されると、画面から立体的に出現する立体物と、機器組込みのGUIとが交差して、立体物の中に、機器組込みのGUIが食い込んでしまうようなおかしな立体視映像が表示されることになる。そのような立体物への食い込みを避けるには、上述したような特許文献１に記載された文献公知発明を利用することも考えられる。この発明では、立体視画像を平面視画像に変換した上で、機器組込みのGUIであるOSD(On Screen Display)との合成に供するので、上述したような立体視映像への食い込みを避けることができる。 【０００７】
しかし機器組込みのGUIには、操作フィードバックというものがある。これは、ユーザがどのような操作を行ったか、またユーザがした操作が禁止されているかどうかを、５秒程度の短い期間の間だけ、視覚的にユーザにフィードバックするというものである。このように表示期間が短い機器組込みのGUIに対して、上記特許文献に記載されている先行技術を適用すると、立体視画像から平面視画像への切り替えが多発することになり、ユーザの"3D酔い"を招来することになる。 【０００８】
また、再生装置がBlu-Rayディスクを再生するプレーヤであるなら、特許文献２に記載されているように、BDに記録された3D画像の奥行き方向の最も手前側の位置を表す値、さらには、最も奥側の位置を表す値をPSR(Player Setting Register)に設定して、この手前側又は奥側の位置にOSDを配置することも考えられる。しかし、この特許文献２の技術を適用した場合、動画像で表現され立体物にOSDが食い込むことは避けられるが、立体物の奥行きのうち、最も手前側の位置、又は、最も奥側にOSDが配置される。OSDの奥行き方向の位置として最も手前側の位置を選んだ場合、立体視再生時において、画面におけるOSDの平面位置と、画面における立体物の平面位置とが重なると、OSDが立体像に貼付けられたような態様になるから、そのOSDが映画作品中の物体であるか、ユーザフィードバックのために表示されたOSDなのかの区別がつかない。逆に、OSDの奥行き方向の位置として最も奥側の位置を選んだ場合、立体視再生時において、画面におけるOSDの平面位置と、画面における立体物の平面位置とが重なると、OSDが、立体像に隠れるような態様になるから、そのOSDの場所によっては、OSDが立体物に隠れることになり、OSDがどのような内容なのか、視覚的に認識できない事態となる。【０００９】
立体視再生時において、画面におけるOSDの位置と、画面における立体物の位置とが重なった場合の見易さを保障しえないから、特許文献２の技術の適用では、上記課題の根本解決を図ることは期待できない。また立体像とOSDの奥行きに差がある場合、目の焦点があわせにくくなるから、眼精疲労が生じ易くなる。【００１０】
本発明の目的は、マニファクチャが独自に作成した機器に組込んだ機器組込み用GUIと、コンテンツプロバイダによって作成された立体視画像との共存を図ることができる再生装置を提供することである。 
【課題を解決するための手段】
【００１１】
上記課題を解決するため本発明にかかる再生装置は、 
立体視ビデオストリームをデコードして立体視再生を行うビデオデコーダと、 
字幕ストリームをデコードして、所定のレイアウトで字幕表示を行う字幕デコーダと、 
機器組込みのGUIの描画を行う描画手段と、 
ビデオデコーダによる立体視再生と、字幕表示と、描画された機器組込みのGUIとを合成する合成手段とを備え、 
前記字幕のレイアウトには、通常レイアウトと、画面の上端側にのみ字幕表示の領域を確保する上端配置レイアウトと、画面の下端側のみに字幕表示の領域を確保する下端配置レイアウトとがあり、 
前記描画手段は、字幕のレイアウトとして上端配置レイアウト又は下端配置レイアウトが選択されれば、同じレイアウトを機器組込みのGUIのレイアウトとして選択するレイアウト選択部を含む 
ことを特徴とする。 
【発明の効果】
【００１２】
字幕のレイアウトが上端配置レイアウト、下端配置レイアウトに変化した場合、字幕のレイアウトと同じものを機器組込みのGUIのレイアウトとして選択するので、機器組込みのGUIと字幕とが同じ表示領域に配置されることになる。かかる字幕のレイアウトや配置位置は、動画像と重複せず、見易くなるようオーサリング時に決められているので、字幕と同じレイアウトを機器組込みのGUIに適用すれば、GUIが、立体視画像に重複しないことは保障される。字幕のレイアウトが上端配置レイアウト、下端配置レイアウトに変化した場合、字幕のレイアウトと同じものを機器組込みのGUIのレイアウトとして選択するので、機器組込みのGUIと字幕とが同じ表示領域に配置されることになり、機器組込みのGUIのみが動画像と重複するような位置に配置されることはない。更に、字幕のレイアウトと同じレイアウトを機器組込みのGUIのために選択することにより、動画像を平面視に切り替えることは不要になるから、3D酔いを招来することはない。よって、マニファクチャは、GUI表示の品質管理を容易に行うことが可能になる。GUI表示の品質管理が可能になることから、マニファクチャにとって都合が良いGUIを、立体視モードで表示させることができ、再生装置の利便性や機能向上、他社製品との差別化を実現することができる。 【００１３】
任意的であるが、上記課題の解決を図る再生装置は、以下の態様１）、２）、３）・・・・のものであってもよい。【００１４】
態様１）前記再生装置は右目用ビデオプレーン、左目用ビデオプレーン、シフト部を備え、 
前記ビデオデコーダは、立体視ビデオストリームをデコードすることで左目用ピクチャデータ及び右目用ピクチャデータの組みを得て、それぞれを右目用ビデオプレーン及び左目用ビデオプレーンに書き込み、 
前記シフト部は、上端配置レイアウトにおいて、ビデオプレーンに格納されたピクチャデータを下方向にシフトし、下端配置レイアウトにおいて、ビデオプレーンに格納されたピクチャデータを上方向にシフトしてもよい。【００１５】
ビデオプレーンの上下方向のシフトは、ビデオプレーンに格納されている画素位置を上下方向に移動させれば実現可能であるから、かかる上下方向のシフトにより、ビデオプレーンのレイアウトを任意に変更することができる。そのような画素位置の移動は、ビデオプレーンに格納された画素データのアドレスを変更すれば足り、ハードウェア的な処理の追加は最小限のもので足りる。よって、低廉な開発コストで、ビデオプレーンのレイアウト変更を実現することができる。
態様２）前記再生装置は、字幕を構成する画素データ、及び、機器組込みのGUIを構成する画素データを格納するプレーンメモリを備え、 
前記字幕デコーダ及び前記描画手段の表示モードにはワンプレーンオフセットモードと、平面視モードとがあり、 
前記ワンプレーンオフセットモードは、プレーンメモリにおける画素データの座標に、水平方向のオフセットを与えることで立体視再生を実現する再生モードであり、 
前記描画手段は、機器組込みのGUIをワンプレーンオフセットモードで表示させるにあたって、機器組込みのGUIの深度を調整するGUI深度調整部を備え、 
前記GUI深度調整部は、字幕をワンプレーンオフセットモードで表示する場合の水平方向のオフセットを、機器組込みのGUIをワンプレーンオフセットモードで表示させる場合の水平方向のオフセットとして採用してもよい。【００１６】
ワンプレーンオフセットモードで表示する場合の水平方向のオフセットは、立体視再生のための情報要素として、ビデオデコーダからリアルタイムに取得することができるので、ビデオデコーダから取得したオフセットを、GUIの奥行き調整に利用すれば、字幕と同程度の奥行きになるように、GUIの深度を調整することができる。また、動画の時間軸の進行に伴い、字幕側の奥行きが時々刻々と変動したとしても、GUIの深度を、字幕側の奥行きに追従させることができる。これにより、映画作品全体として統制がとれた立体視制御が可能になる。【００１７】
態様３）前記GUI深度調整部は、 
字幕をワンプレーンオフセットモードで表示する場合のシフト方向を、機器組込みのGUIをワンプレーンオフセットモードで表示させる場合のシフト方向として採用してもよい。【００１８】
ワンプレーンオフセットモードで表示させる場合の字幕のシフト方向を、GUIのシフト方向として採用するので、字幕側の位置が左右の何れかに変動したとしても、GUIの配置を、字幕側の位置に追従させることができる。これにより、映画作品全体として統制がとれた立体視制御が可能になる。【００１９】
態様４）前記描画手段は更に、 
再生対象となる字幕ストリームが、文字数が通常の字幕よりも多い特殊字幕であるか否かを判定する特殊字幕判定部と、
前記上端配置レイアウト又は下端配置レイアウトにおいて、画面の上端又は下端に確保された字幕領域の余白領域を検出する余白領域検出部と、 
機器組込みのGUIの配置位置を決定する配置決定部とを備え、 
字幕ストリームが特殊な字幕であると特殊字幕判定部が判定した場合、配置決定部は、余白領域検出部により検出された余白領域内に機器組込みのGUIの配置位置を決定してもよい。【００２０】
字幕ストリームが特殊な字幕であると特殊字幕判定部が判定した場合、余白領域内に機器組込みのGUIの配置位置を決定するので、文字数が多い字幕と、機器組込みのGUIとが重複して表示される可能性を極力排除することができる。よって、選択された字幕ストリームが、特殊な字幕かどうかに左右されない見易い画面レイアウトを実現することができる。【００２１】
態様５）前記記録媒体は、ストリーム選択テーブルが記録されており、ストリーム選択テーブルは、字幕ストリームの言語属性に対応付けて、字幕ストリームの優先順位を示し、 
前記特殊字幕判定部は、 
同じ言語属性の2以上の字幕ストリームであって、その優先順位が、ストリーム選択テーブルにおいて２番目以下に設定されているものを、特殊な字幕のための字幕ストリームであると判定してもよい。【００２２】
特殊な字幕ストリームは、ストリーム選択テーブルにおいて2番目以降の優先順位にエントリーしているという、映画作品オーサリングの経験則に従って、特殊な字幕ストリームかどうかを判定しているため、特殊な字幕ストリームがどうかの判定精度は、高い確率で保証されることになる。またそのような判定は、ストリーム選択テーブルというナビゲーション情報の静的な解析により実現することができるので、簡易なソフトウェアでの実装により、特殊な字幕ストリームかどうかの判定を実現することができる。
態様６）前記上端配置レイアウト又は下端配置レイアウトにおける字幕領域での字幕の配置は、右寄り、左寄り、中央寄せの何れであり、 
余白領域検出部による余白領域の検出は、字幕領域における字幕の配置と、字幕の文字数とに基づいてなされ、 
前記描画手段は更に、字幕領域に表示すべき機器組込みのGUIを縮小する縮小部を備え、 
前記縮小部による機器組込みのGUIの縮小は、機器組込みGUIの表示サイズが、字幕領域の余白を上回る場合になされてよい。【００２３】
字幕の配置は、字幕ストリームにおける領域描画の制御情報にて規定されるので、字幕ストリームの情報要素を静的に解析することにより、字幕の配置位置を高精度に判定することができる。そのような、字幕ストリームの静的な解析は、既存の字幕ストリームのデコーダのソフトウェア開発の延長線で実現することができるので、既存の再生装置に対しての実装が容易となる。
【図面の簡単な説明】
【００２４】
【図１】再生装置の使用行為についての形態の一例を示す図である。
【図２】左目用ピクチャデータ、右目用ピクチャデータが、シャッター眼鏡５００を着用したユーザによってどのように見えるかを示す。
【図３】プレーンオフセットの符号が正（左目瞳孔への入射期間における描画イメージの書き込み位置を右方向へずらし、右目瞳孔への入射期間における描画イメージの書き込み位置を左方向へずらす）である場合、像が表示画面よりも手前にあるように見える原理を説明するための図である。
【図４】像が表示画面よりも手前にあるように見える原理を説明するための図である。
【００２５】
【図５】像が表示画面よりも奥にあるように見える原理を説明するための図である。
【図６】第１実施形態に係る記録媒体における内部構成を示す。
【図７】プレイリスト情報の内部構成を示す。
【図８】基本ストリーム選択テーブルの一例を示す。
【図９】プレイリスト情報のエクステンションデータの内部構成を示す。
【図１０】拡張ストリーム選択テーブルにおけるPGストリームのストリーム登録列と、プレーン内有効化情報との内部構成を示す。
【図１１】再生装置の内部構成を示す。
【図１２】PSR2、PSR22の内部構成を示す図である。
【図１３】字幕配置のレイアウトを示す図である。
【図１４】レイヤ合成で得られる立体視映像を示す。
【図１５】上方向シフトがなされたビデオプレーンの内容と、グラフィクスプレーンとのレイヤ合成を示す。
【図１６】レイヤ合成で得られる立体視映像を示す図である。
【図１７】PGプレーンのレイアウトと、OSDのレイアウトとの時間的な変遷を示す。
【図１８】PGプレーンのレイアウトと、OSDのレイアウトとの時間的な変遷を示す。
【図１９】プレイリスト再生手順を示す。
【図２０】PG＿テキスト字幕ストリームについてのProcedure when playback condition is changedについての処理手順を示すフローチャートである。
【図２１】カレントプレイアイテムについて最適なPG＿テキスト字幕ストリームを選択する処理手順を示すフローチャートである。
【図２２】セット立体視ストリームコマンド(SetstreamSSCommand)によってストリーム変化が要求された場合に実行すべきProcedure when stream change is requestedの処理手順を示すフローチャートである。
【図２３】セットストリームコマンド、又は、ストリーム番号変更を要求するユーザ操作によってストリーム変化が要求された場合に実行すべきProcedure when stream change is requestedの処理手順を示すフローチャートである。
【図２４】カレントストリームタイプの再生タイプ決定の処理手順を示すフローチャートである。
【図２５】タイトル名、チャプター名、再生経過時刻の表示ガイダンスのOSD、ユーザ操作に対する視覚フィードバックのためのOSDを示す。
【図２６】OSD処理部１６におけるソフトウェアのレイヤ階層、機能ブロックを示す図である。
【図２７】OSD情報の共通のデータ構造、及び、OSDデータベースと、GFXプレーンとの対応を示す。
【図２８】ユーザ操作に対応する処理の処理手順を示すフローチャートである。
【図２９】OSD表示の処理手順を示すフローチャートである。
【図３０】OSDレイアウト選択の処理手順を示すフローチャートである。
【図３１】字幕レイアウトにおける余白領域の検出手順を示すフローチャートである。
【００２６】
【図３２】PGデコーダの内部構出成を示す。
【図３３】テキスト字幕デコーダの内部構成を示す。
【図３４】デコーダモデルの出力を合成し、出力するための回路構成を示す。
【図３５】SDH検出のフローチャートである。
【図３６】OSD配置決定のフローチャートである。
【図３７】テキスト字幕ストリームにおいて、複数の領域情報を定義するためのシンタックスと、テキスト文字列が占有する領域の右端座標が、グラフィクスプレーンにおける複数の領域のそれぞれでどのように決まるかを示す。
【図３８】テキスト字幕ストリーム余白領域検出のフローチャートである。
【図３９】様々なレイアウトで画面上部にOSDが配置されるケースを示す。
【図４０】字幕がSDHであるケースを想定した図である。
【図４１】3Dデジタル放送コンテンツを再生装置に供給するためのトランスポートストリームの内部構成を示す。
【図４２】字幕ストリーム、PCS、RCS、字幕情報テーブル、プレーン内有効化情報の内部構成を示す。
【図４３】第５実施形態に係る再生装置の構成を示す機能ブロック図である。
【図４４】第１実施形態における記録媒体として、BD-ROMを選んだ場合におけるディレクトリ構成及びファイル構成を示す図である。
【図４５】第６実施形態にかかるトランスポートストリームの内部構成を示す。
【図４６】集積回路の外観を示す図である。
【図４７】集積回路のアーキテクチャを示す図である。
【発明を実施するための形態】
【００２７】
本願に包含されている再生装置の発明、集積回路の発明、再生方法の発明は、パッケージメディアに対応するプレーヤ機器として実施することができる。図面を参照しながら、上記課題解決手段を具備した再生装置の実施形態について説明する。 
【００２８】
１.再生装置の使用形態 
先ず始めに、上記課題解決手段を具備した再生装置の使用形態について説明する。 
【００２９】
図１は、プレーヤ機器を含むホームシアターシステムを示す図である。本システムは、パッケージメディアである記録媒体１００、プレーヤ機器である再生装置２００、操作装置３００、テレビ４００、液晶眼鏡５００から構成される。 
【００３０】
(1-1)記録媒体１００ 
記録媒体１００は、上記ホームシアターシステムに、例えば映画作品を供給する。 
【００３１】
(1-2)再生装置２００ 
再生装置２００は、テレビ４００と接続され、記録媒体１００を再生する。こうして再生される再生映像には、2D映像、3D映像が存在する。 
【００３２】
2D映像とは、表示装置の表示画面をX-Y平面として捉えて、このX-Y平面上の画素にて表現される画像であり、平面視画像とも呼ばれる。対照的に3D映像とは、表示装置の画面におけるX-Y平面上の画素に、Z軸方向の奥行きを加えた画像である。3D映像は、左目瞳孔に入射される左目映像と、右目瞳孔に入射される右目映像とを共に再生して、これら左目映像、右目映像で立体視効果を発揮することにより、ユーザによる視聴に供される。3D映像における画素のうち、正のZ軸座標をもつものをユーザは、表示装置の画面より手前にあると感じ、負のZ軸座標をもつものを、画面より奥に存在すると感じる。 
【００３３】
(1-3)リモコン３００ 
リモコン３００は、階層化されたGUIに対する操作をユーザから受け付ける機器であり、かかる操作受け付けのため、リモコン１００は、GUIを構成するメニューを呼び出すメニューキー、メニューを構成するGUI部品のフォーカスを移動させる矢印キー、メニューを構成するGUI部品に対して確定操作を行う決定キー、階層化されたメニューをより上位のものにもどってゆくための戻りキー、数値キーを備える。 
【００３４】
(1-4)テレビ４００ 
テレビ４００は、映画作品の再生映像を表示したり、メニュー等を表示することで、対話的な操作環境をユーザに提供する。
(1-5)液晶眼鏡５００ 
液晶眼鏡５００は、液晶シャッタと、制御部とから構成され、ユーザの両目における視差を用いて立体視を実現する。液晶眼鏡５００の液晶シャッタは、印加電圧を変えることにより、光の透過率が変化する性質を有する液晶レンズを用いたシャッタである。液晶眼鏡５００の制御部は、再生装置から送られる右目瞳孔への入射用の画像と左目瞳孔への入射用の画像の出力の切り替えの同期信号を受け、この同期信号に従って、第１の状態、第２の状態の切り替えを行う。 
【００３５】
第１の状態とは、右目に対する液晶レンズが光を透過しないように印加電圧を調節し、左目に対する液晶レンズが光を透過するように印加電圧を調節した状態であり、この状態において、左目画像が視聴に供され、右目では左目画像が見えないに状態となる。 
【００３６】
第２の状態とは、右目に対する液晶レンズが光を透過するように印加電圧を調節し、左目に対する液晶レンズが光を透過しないように印加電圧を調節した状態であり、この状態において、右目への入射画像が視聴に供され、左目への入射画像が見えない状態となる。      
【００３７】
(1-5-1)液晶眼鏡５００着用時の視聴 
図２は、左目用ピクチャデータ、右目用ピクチャデータが、シャッター眼鏡５００を着用したユーザによってどのように見えるかを示す。 
【００３８】
図中の矢印vw1は、左目瞳孔への入射期間における瞳孔への映像入力を示し、図中の矢印vw2は、右目瞳孔への入射期間における瞳孔への映像入力を示す。左目瞳孔への入射期間では、矢印vw1に示すように、左目瞳孔への入射期間では、左目用ピクチャデータの格納内容がシャッター眼鏡５００を通じてユーザの左目瞳孔に入射する。右目瞳孔への入射期間では、この矢印vw2に示すように、右目用ピクチャデータの格納内容がシャッター眼鏡５００を通じてユーザの右目瞳孔に入射する。 
【００３９】
２.3D映像を再生するための再生モード 
このホームシアターシステムによって再生される3D映像には、"立体視モード"という再生モードで再生されるもの、"1plane＋Offsetモード"という再生モードで再生されるものの2種類がある。 
【００４０】
(2-1)立体視モード 
立体視モードについて説明する。立体視モードとは、Multiview Video  Coding規格で規定されたベースビュービデオストリーム、ディペンデントビューストリームを同時に再生させることで立体視を実現する再生モードである。Multiview Video  Coding（MVC）規格は、MPEG-４  AVC/H.264の修正規格であり、ISO/IEC MPEGとITU-T VCEGの共同プロジェクトであるJoint Video  Team（JVT）によって策定された。MVCでは、複数視点の映像をまとめて符号化することが可能であり、映像の時間方向の類似性だけでなく視点間の類似性も予測符号化に利用することで、複数視点の独立した圧縮に比べて圧縮効率を向上させている。 
【００４１】
(2-1-1)ベースビュービデオストリーム 
ベースビュービデオストリームは、view＿idが0のサブビットストリームであり、view＿idが0のビューコンポーネントのシーケンスである。MPEG-4 MVC ベースビュービデオストリームは、MPEG-4 AVCビデオストリームの制約を守る。 
【００４２】
(2-1-2)ディペンデントビュービデオストリーム 
ディペンデントビュービデオストリーム は、view＿idが1のサブビットストリームであり、view＿idが1のビューコンポーネントのシーケンスである。 
【００４３】
(2-1-3)ビューコンポーネント 
ベースビュービデオストリームの内部には、ベースビュービデオストリームを構成する複数のベースビューコンポーネントを記載している。またディペンデントビューストリームの内部には、ディペンデントビューストリームを構成する複数のディペンデントビューコンポーネントを記載している。これらのベースビューコンポーネント、ディペンデントビューコンポーネントは、IDR,B,Pというようなピクチャタイプを有している。 
【００４４】
ビューコンポーネントとは、一個のフレーム期間において、立体視再生のために同時に再生される複数のピクチャデータのそれぞれのものをいう。視点間の相関性を用いた圧縮符号化は、ベースビュービデオストリーム及びディペンデントビュービデオストリームのビューコンポーネントをピクチャデータとして用いて、ピクチャ間の相関性を用いた圧縮符号化を実現することでなされる。1つのフレーム期間に割り当てられたベースビュービデオストリームのビューコンポーネントと、ディペンデントビュービデオストリームのビューコンポーネントとの組みが、1個のアクセスユニットを構成することになり、このアクセスユニットの単位でランダムアクセスが可能になる。 
【００４５】
(2-1-4）GOP構造 
ベースビュービデオストリーム及びディペンデントビュービデオストリームは、何れも個々のビューコンポーネントを"ピクチャ"としたGOP構造を有しており、クローズドGOP、オープンGOPから構成される。クローズドGOPは、IDRピクチャと、このIDRピクチャに続くBピクチャと、Pピクチャとから構成される。オープンGOPは、Non-IDR Iピクチャと、Non-IDR Iピクチャに続くBピクチャと、Pピクチャとから構成される。図２に示すような、左目瞳孔への入射画像、右目瞳孔への入射画像は、これらベースビュービデオストリーム  、ディペンデントビューストリームを同時に再生することでなされる。 
【００４６】
(2-2)1plane＋Offsetモード 
1plane＋Offsetモードについて説明する。1plane＋Offsetモードとは、プレーンメモリの後段にシフト部を組込んで、シフト部を機能させることで立体視を実現する再生モードである。プレーンオフセット部は、左目瞳孔への入射期間及び右目瞳孔への入射期間のそれぞれにおいて、プレーンメモリにおけるライン単位の画素の座標を、左方向又は右方向にシフトさせ、右目視線及び左目視線の結像点を手前方向、又は、奥行方向に変位させることで奥行き感を変化させる。具体的には、左目瞳孔への入射期間で左方向、右目瞳孔への入射期間で右方向に、画素座標を変化させれば、両目の視線の結像点は手前になり、左目瞳孔への入射期間で右方向、右目瞳孔への入射期間で左方向に、画素座標を変化させれば、両目の視線の結像点は手前になる。 
【００４７】
かかるプレーンシフトでは、立体視のためのプレーンメモリが1プレーンで足りるので、簡易に立体視映像を作り出すのに最適である。このプレーンシフトでは、平面的な映像が手前に来たり、奥に引込んだりするという立体視映像を産み出すに過ぎないから、メニューや字幕の立体視効果には適しているものの、キャラクターや物体の立体視効果の実現にはやや物足りない。キャラクターの顔のくぼみや凹凸等が再現できないからである。 
【００４８】
1plane＋Offsetモードをサポートする場合、再生装置の構成は以下の通りになる。グラフィクスの再生のため、再生装置にはプレーンメモリと、CLUT部、合成部が存在しており、このCLUT部、合成部の間にプレーンシフト部が組み入れられる。そして、シフト部は、ディペンデントビュービデオストリームのアクセスユニット構造に組込まれたオフセットシーケンスにおけるオフセットを用いて、上述したような画素の座標変化を実現する。こうすることで、1plane＋Offsetモードにおける画素の飛出度合は、MVCビデオストリームと緻密に同期したものになる。 
【００４９】
(2-2-1）シフト制御の対象となるプレーンメモリ 
オフセットシーケンスによるシフト制御の対象となるプレーンメモリは、所定のレイヤモデルを構成する複数のプレーンメモリである。プレーンメモリとは、一画面分の画素データをライン単位で格納しておき、水平同期信号、垂直同期信号に沿ってこれらの画素データを出力するためのメモリである。プレーンメモリは、ビデオデコーダ、プレゼンテーショングラフィクス(PG)デコーダのデコードによって得られた1画面分の画素データや、OSD(On Screen Display)を描画するための作成された1画面分の画素データを格納する。OSDとは、再生装置において、マニファクチャが作成した機器組込みGUIの1つである。 
【００５０】
所定のレイヤモデルは、左目用ビデオプレーン及び右目用ビデオプレーンの階層、PGプレーンの階層、GFXプレーンの階層から構成され、各階層のプレーンメモリの格納内容を、左目用ビデオプレーン→PGプレーン→GFXプレーンの順にレイヤ合成することを意図したものである。 
【００５１】
上記レイヤ合成は、プレーンメモリのレイヤモデルにおいて、2つの階層のプレーンメモリに格納されている画素データの画素値を重畳させるという処理を、レイヤモデルにおける2つの階層の全ての組合せに対して実行することでなされる。以下、各階層のプレーンメモリについて述べる。 
【００５２】
左目用ビデオプレーンは、ベースビュービデオストリームを構成するビューコンポーネントをデコードすることで得られる一画面分の画素データを格納することができるプレーンメモリである。右目用ビデオプレーンは、ディペンデントビュービデオストリームを構成するビューコンポーネントをデコードすることで得られる一画面分の画素データを格納することができるプレーンメモリである。 
【００５３】
プレゼンテーショングラフィクス(PG)プレーンとは、パイプライン式で動作するグラフィクスデコーダが、デコード処理を行うことで得られたグラフィクスの格納に用いられるプレーンメモリである。GFXプレーンとは、OSDの描画のために用いられるプレーンメモリである。 
【００５４】
上記レイヤモデルにおいて、ビデオプレーンについては、ベースビュー用のビデオプレーンと、ディペンデントビュー用のビデオプレーンとが存在するものの、GFXプレーン、PGプレーンについては、ベースビュー用、ディペンデントビュー用のそれぞれについて、プレーンメモリが存在する訳ではない。よってGFXプレーン、PGプレーンがシフト制御の対象になる。 
【００５５】
(2-2-2）正と負のプレーンオフセットの見え方 
図３は、正と負のプレーンオフセットの見え方の違いの一例を示す図である。 
【００５６】
同図（ａ）（ｂ）において、手前の方は、ライトビュー出力時にシフトしたシフト後のグラフィクスプレーンを用いて出力されるライトビュー用のグラフィクスイメージを示す。奥の方は、左目瞳孔への入射出力時にシフトしたシフト後のグラフィクスプレーンを用いて出力される左目瞳孔への入射用のグラフィクスイメージを示す。 
【００５７】
本図（ａ）は、プレーンオフセットの符号が正（左目瞳孔への入射用のグラフィクスイメージを右方向へずらし、ライトビュー用のグラフィクスイメージを左方向へずらす）である場合を示す。プレーンオフセットが正の値であると、左目瞳孔への入射出力時の字幕がライトビュー出力時の字幕より右の位置に見えるようになる。つまり、輻輳点（焦点位置）がスクリーンより手前にくるので、字幕も手前に見えるようになる。 
【００５８】
本図（ｂ）は、プレーンオフセットの符号が負である場合を示す。負の値であると、図１４に示したように、左目瞳孔への入射出力時の字幕がライトビューの出力時の字幕より左の位置に見えるようになる。つまり、輻輳点（焦点位置）がスクリーンより奥にゆくので、字幕も奥に見えるようになる。 
【００５９】
図４は、プレーンオフセットの符号が正（左目瞳孔への入射期間における描画イメージの書き込み位置を右方向へずらし、右目瞳孔への入射期間における描画イメージの書き込み位置を左方向へずらす）である場合、像が表示画面よりも手前にあるように見える原理を説明するための図である。 
【００６０】
本図において、丸で示したものは、表示画面上に表示される像である。まず、2D表示モードである場合、右目に見える像も左目に見える像も同じ位置であるため、両目を用いて、この像を見たときの焦点位置は、表示画面上に位置する（図４（ａ））。結果として表示される像は表示画面上に位置する。 
【００６１】
左目瞳孔への入射期間において、左目に見える像はプレーンオフセットが０の場合に比べて右側の位置に見えるようシフトして表示する。このとき右目にはシャッター眼鏡５００により何も見えないようにする。一方、右目に見える像は、プレーンオフセットが０の場合に比べて左側の位置に見えるようにシフトして表示する。このとき左目にはシャッター眼鏡５００により何も見えないようにする（図４（ｂ））。 
【００６２】
人間は両目を用いて焦点をあわせてその焦点位置に像があるように認識する。従って、シャッター眼鏡５００により左目に像が見える状態と、右目に像が見える状態とを交互に短い時間間隔で切り替えると、人間の両目は表示画面よりも手前の位置に焦点位置を、合わせようとし、結果として表示画面よりも手前に位置する焦点位置に像があるように錯覚を起こす（図４（ｃ））。 
【００６３】
図５は、像が表示画面よりも奥にあるように見える原理を説明するための図である。 
【００６４】
図５において、丸で示したものは、表示画面上に表示される像である。まず2D表示モードにおいて、右目に見える像も左目に見える像も同じ位置であるため、両目を用いて、この像を見たときの焦点位置は、表示画面上に位置する（図５（ａ））。結果として表示される像は表示画面上に位置する。 
【００６５】
一方、左目瞳孔への入射期間において、左目に見える像はプレーンオフセットが０の場合に比べて左側の位置に見えるようにする。このとき右目にはシャッター眼鏡５００により何も見えないようにする。一方、右目に見える像は、オフセットが"０"の場合に比べて右側の位置に見えるようにする、このとき左目にはシャッター眼鏡５００により何も見えないようにする（図５（ｂ））。 
【００６６】
シャッター眼鏡５００により左目に像が見える状態と、右目に像が見える状態と互に短い時間間隔で切り替えると、人間の両目は表示画面よりも奥の位置に焦点位置を、合わせようとし、結果として表示画面よりも奥の位置に像があるように錯覚を起こす（図５（ｃ））。 
【００６７】
(2-2-3）ディペンデントビュービデオストリームにおける改良点 
ディペンデントビューストリームには、1plane＋Offsetモードに用いられるオフセットシーケンスが組み込まれている点がベースビュービデオストリームと異なる。ここでオフセットシーケンスについて説明する。1plane＋Offsetモードに用いられるオフセットシーケンスは、ディペンデントビュービデオストリームのビデオアクセスユニット内に複数存在する。 
【００６８】
ディペンデントビュービデオストリームのビデオアクセスユニットは、ビデオアクセスユニットデリミター、シーケンスパラメータセット、ピクチャパラメータセット、MVCスケーラブルネスティングSEIメッセージ、ファーズトビューコンポーネント、シーケンス終端コード、ストリーム終端コードを配列することにより構成される。そしてこのMVCスケーラブルネスティングSEIメッセージの中に、ユーザデータコンテナが存在する。ユーザデータコンテナは、アンレジスタードユーザデータ(未登録ユーザデータ)のことであり、クローズドキャプション情報、GOP構造マップ、オフセットメタデータという3つの種類がある。これらの種類のうち何れかであるかは、コンテナ中のtype_ indicatorに明示される。 
【００６９】
(2-2-3-1）オフセットメタデータの詳細 
オフセットメタデータは、ディペンデントビューアクセスユニットの符号化順序における各GOPの先頭のビデオコンポーネントのMVCスケーラブルネスティングSEIメッセージに格納されねばならない。オフセットメタデータの内部に、上述した複数のオフセットシーケンスが存在する。オフセットシーケンスは、グループオブピクチャに属する各ピクチャデータと、グラフィクスとを合成する場合における制御パラメータを、グループオブピクチャにおけるフレーム期間毎に示すパラメータシーケンスであり、number_of_displayed_frames_in_GOPに示される個数の制御パラメータから構成される。この制御パラメータは、プレーンオフセット方向情報と、プレーンオフセット値とから構成される。 
【００７０】
プレーンオフセット方向情報(Plane＿offset＿direction)は、プレーンにおけるオフセット方向を指示する。値"０"でフロント設定、つまり、プレーンメモリは、TVと視聴者との間に存在し、左目瞳孔への入射期間においてプレーンは右方向に、右目瞳孔への入射期間においてプレーンは左方向にシフトされる。値"=1"でビハインド設定、つまり、プレーンメモリは、TV又はスクリーンの背後に存在し、左目瞳孔への入射期間においてプレーンは左方向に、右目瞳孔への入射期間においてプレーンは右方向にシフトされる。プレーンオフセット方向情報がフロント設定を示す場合、3次元座標系における制御パラメータのZ軸座標は、正の座標になる。プレーンオフセット方向情報がビハインド設定を示す場合、3次元座標系における制御パラメータのZ軸座標は、負の座標になる。 
【００７１】
プレーンオフセット値(Plane＿offset＿value)は、グラフィクスを構成する画素の水平方向の変位量の指定であり、プレーンのオフセット値を画素単位で指示する。以上で、1plane＋Offsetモードの説明を終える。   
【００７２】
続いて、これら立体モード、1plane＋Offsetモードを実現する、記録媒体について説明する。 
【００７３】
３.記録媒体の内部構成 
図６は、第１実施形態に係る記録媒体における内部構成を示す。本図（ａ）に示すように、第１実施形態に係る記録媒体には、「インデックステーブル」、「動作モードオブジェクトのプログラムファイル」、「プレイリスト情報ファイル」、「ストリーム情報ファイル」、「ストリームファイル」が記録されている。 
【００７４】
(3-1)インデックステーブル 
インデックステーブルは記録媒体全体に関する管理情報であり、再生装置への記録媒体挿入後に、インデックステーブルが最初に読み出されることで、再生装置において記録媒体が一意に認識される。 
【００７５】
(3-2)動作モードオブジェクトのプログラムファイル 
動作モードオブジェクトのプログラムファイルは、再生装置を動作させるための制御プログラムを格納している。このプログラムファイルにおけるプログラムには、コマンドによって記述されたものと、オブジェクト指向のコンパイラ言語によって記述されたものがある。前者のプログラムは、コマンドベースの動作モードにおいて、複数のナビゲーションコマンドをバッチジョブとして再生装置に供給し、これらナビゲーションコマンドに基づき再生装置を動作させる。このコマンドベースの動作モードを、「HDMVモード」と呼ぶ。 
【００７６】
後者のプログラムは、オブジェクト指向型のコンパイラ言語ベースの動作モードにおいて、クラス構造体のインスタンスであるバイトコードアプリケーションを再生装置に供給し、このインスタンスに基づき再生装置を動作させる。クラス構造体のインスタンスには、バイトコードアプリケーションの1つであるJava(TM)アプリケーションを用いることができる。オブジェクト指向型コンパイラ言語ベースの動作モードを、「BD-Jモード」と呼ぶ。 
【００７７】
(3-3)ストリームファイル 
ストリームファイルは、ビデオストリーム、１つ以上のオーディオストリーム、グラフィクスストリームを多重化することで得られたトランスポートストリームを格納している。ストリームファイルには、2D専用のものと、2D-3D兼用のものとがある。2D専用のストリームファイルは、通常のトランスポートストリーム形式であり、2D-3D兼用のストリームファイルは、立体視インターリーブドストリームファイルのファイル形式を有する。 
【００７８】
立体視インターリーブドストリームファイル形式とは、ベースビューストリームを含むメインのトランスポートストリーム(メインTS)のエクステントと、ディペンデントビュービデオストリームを含むサブトランスポートストリーム(サブTS)のエクステントとをインターリーブ形式で交互配置したものである。 
【００７９】
ストリームファイルに格納されるメイントランスポートストリーム(TS)は、複数種別のPESストリームを管理・制御するための情報として、欧州デジタル放送規格に規定されたパケット管理情報(PCR,PMT,PAT)を具備している。これらのPCR,PMT,PATは、欧州デジタル放送規格において、一個の放送番組(Program)を構成するパーシャルTSを規定する役割をもち、再生装置は、欧州デジタル放送規格において、一個の放送番組を構成するパーシャルTSを扱うかの如く、TSをデコーダによる処理に供することができる。これは、欧州デジタル放送規格の端末装置と、記録媒体再生装置との互換性を意図したものである。 
【００８０】
メインTSにおけるエクステント及びサブTSにおけるエクステントの組みは、再生時においてダブルバッファをアンダーフローさせないデータサイズに設定されており、再生装置は、これらのエクステントの組みを途切れなく読み込んでゆくことができる。 
【００８１】
以上がストリームファイルについての説明である。 
【００８２】
(3-4)ストリーム情報ファイル 
ストリーム情報ファイルは、ストリームファイルにおけるトランスポートストリーム内の任意のソースパケットに対するランダムアクセスや、他のトランスポートストリームとの途切れ無き再生を保障する。このストリーム情報ファイルを通じることにより、ストリームファイルは「AVクリップ」として管理されることになる。ストリーム情報ファイルは、AVクリップにおけるストリームの符号化形式、フレームレート、ビットレート、解像度等の情報や、GOPの先頭位置のソースパケット番号を、フレーム期間のプレゼンテーションタイムスタンプと対応付けて示す基本エントリーマップをもっているので、ストリームファイルのアクセスに先立ち、このストリーム情報ファイルをメモリにロードしておけば、アクセスしようとするストリームファイル中のトランスポートストリームがどのようなものであるのかを把握することができるので、ランダムアクセスの実行を保障することができる。ストリーム情報ファイルには、2Dストリーム情報ファイルと、3Dストリーム情報ファイルとがあり、3Dストリーム情報ファイルは、ベースビューのためのクリップ情報(クリップベース情報)と、ディペンデントビューのためのクリップ情報(クリップディペンデント情報)と、立体視用の拡張エントリーマップとを含む。 
【００８３】
(3-4-1)クリップベース情報 
クリップベース情報は、ベースビューのためのエクステントスタートポイント情報を含み、クリップディペンデント情報は、ディペンデントビューのためのエクステントスタートポイント情報を含む。ベースビューのためのエクステントスタートポイント情報は、複数のソースパケット番号から構成される。それぞれのソースパケット番号は、メインTSにおけるエクステントの分割位置が何パケット目に存在するかを示す。ディペンデントビューのためのエクステントスタートポイント情報も複数のソースパケット番号から構成され、サブTSにおける分割位置が何パケットに存在するかを示す。これらのエクステントスタートポイント情報を用いることで、立体視インターリーブドストリームファイルは、メインTSと、サブTSとに分割されることになる。 
【００８４】
(3-4-2)拡張エントリーマップ 
拡張エントリーマップは、GOP先頭のフレーム期間を表すプレゼンテーションタイムスタンプに対応付けて、ディペンデントビュービデオストリームにおけるGOP先頭のビューコンポーネントの先頭位置となるアクセスユニットデリミターのソースパケット番号を示す。 
【００８５】
(3-4-3)基本エントリーマップ 
基本エントリーマップは、2Dストリーム情報ファイルとの互換をもちつつも、GOP先頭のフレーム期間を表すプレゼンテーションタイムスタンプに対応付けて、ベースビュービデオストリームにおけるGOP先頭のビューコンポーネントの先頭位置となるアクセスユニットデリミターのソースパケット番号を示す。 
【００８６】
(3-5)プレイリスト情報ファイル 
プレイリスト情報ファイルは、再生装置にプレイリストを再生させるための情報を格納したファイルである。「プレイリスト」とは、トランスポートストリーム(TS)の時間軸上で再生区間を規定するとともに、この再生区間同士の再生順序を論理的に指定することで規定される再生経路であり、TSのうち、どれをどの部分だけ再生して、どのような順序でシーン展開してゆくかを規定する役割をもつ。プレイリスト情報は、かかるプレイリストの「型」を定義する。プレイリスト情報によって定義される再生経路は、いわゆる「マルチパス」である。マルチパスとは、主となるTSに対して定義された再生経路(メインパス)と、従となるTSに対して定義された再生経路(サブパス)とを束ねたものである。このマルチパスにおいてベースビュービデオストリームの再生経路を規定し、サブパスにおいてディペンデントビュービデオストリームの再生経路を規定すれば、立体視を再生するためのビデオストリームの組合せを、好適に規定することができる。 
【００８７】
オブジェクト指向プログラミング言語ベースのアプリケーションが、このプレイリスト情報を再生するフレームワークプレーヤインスタンスの生成を命じることで、マルチパスによるAV再生を開始させることができる。フレームワークプレーヤインスタンスとは、メディアフレームワークプレーヤクラスを基にして仮想マシンのヒープメモリ上に生成される実際のデータのことである。またコマンドベースのプログラムが、このプレイリスト情報を引き数で指定した再生コマンドを発行することで、マルチパスによる再生を開始することもできる。 
【００８８】
(3-3-1)エレメンタリストリームの詳細 
図５（ｂ）は、メインTSを構成する複数のエレメンタリストリームを示し、同図（ｃ）は、サブTSを構成する複数のエレメンタリストリームを示す。同図（ｂ）に示すように、メインTSは、１本のベースビュービデオストリームと、３２本の左目PGストリーム、３２本の左目用インタラクティブグラフィクス(IG)ストリーム、３２本のオーディオストリームを含むものとする。同図（ｃ）に示すように、サブTSは、１本のディペンデントビュービデオストリームと、３２本の右目PGストリーム、３２本の右目用IGストリームを含むものとする。 
【００８９】
TSに多重化されるエレメンタリストリーム(ES)は、上述したベースビュービデオストリーム、ディペンデントビュービデオストリームの他に、オーディオストリーム、プレゼンテーショングラフィクスストリーム、インタラクティブグラフィクスストリームがある。
【００９０】
・オーディオストリーム 
オーディオストリームには、プライマリオーディオストリーム、セカンダリオーディオストリームの２種類がある。プライマリオーディオストリームは、ミキシング再生を行う場合、主音声となるべきオーディオストリームであり、セカンダリオーディオストリームは、ミキシング再生を行う場合、副音声をとなるべきオーディオストリームである。セカンダリオーディオストリームは、このミキシングのためのダウンサンプリングのための情報、ゲイン制御のための情報が存在する。 
【００９１】
・プレゼンテーショングラフィクスストリーム(PGストリーム) 
PGストリームは、デコーダにパイプラインを採用することで、映像との緻密な同期を実現することができ、字幕表示に適したグラフィクスストリームであり、2DPGストリームと、立体視PGストリームという2つの種類がある。立体視PGストリームには、左目PGストリーム及び右目PGストリームという二種類のものがある。 
【００９２】
2DPGストリームは最大３２本、左目PGストリームの最大３２本、右目PGストリームも最大３２本定義することができる。これらのPGストリームには、それぞれ、別々のパケット識別子が付与されており、多重分離部に、再生すべきパケット識別子を指示することで、これらのPGストリームのうち、所望のものが再生に供されることになる。 
【００９３】
パイプラインによるデコード動作の実現により、動画像との緻密な同期を実現するので、PGストリームの用途は字幕のような文字再生に限定されない。映画作品のマスコットキャラクタを表示して、これを動画像と同期させつつ動作させるなど、緻密な同期が必要なグラフィクス再生であれば、どのようなものも、PGストリームによる再生対象として、採用することができる。 
【００９４】
ストリームファイルに多重化されないが、字幕を現すストリームには、PGストリームの他に、テキスト字幕(textST)ストリームというものがある。textSTストリームは、字幕の内容をキャラクタコードで現したストリームである。 
【００９５】
PGストリーム、テキスト字幕ストリームは、これらの種類が区別されることなく、同じストリーム種別であるとして、これらPGストリーム及びテキスト字幕ストリームは、同じストリーム登録列に登録される。そして、ストリーム選択のプロシージャを実行するにあたって、ストリーム登録列におけるストリーム登録の順位に従い、再生されるべきPGストリーム又はテキスト字幕ストリームが定まる。PGストリーム、テキスト字幕ストリームは、ストリーム種が区別されることなく、ストリーム選択のプロシージャに供されるのでこれらPGストリーム及びテキスト字幕ストリームを1つのストリーム種別、つまり、「PG＿テキスト字幕ストリーム(略して、字幕ストリームと呼ぶ場合もある)」という種別で扱う。 
【００９６】
2D用のPG＿テキスト字幕ストリームは、1plane＋Offsetモードにおいて再生される。以降の説明では、2DPG＿テキスト字幕ストリームを、1plane＋OffsetPG＿テキスト字幕ストリームであるとして説明する。 
【００９７】
・インタラクティブグラフィクス(IG)ストリーム 
IGストリームは、対話操作の情報を具備することで、ビデオストリームの再生進行に伴ってメニューを表示したり、またユーザ操作に従いポップアップメニューを表示することができるグラフィクスストリームである。 
【００９８】
IGストリームが対話操作の情報をもつ意義は以下の通りである。Java仮想マシンがアプリケーションからの要求に応じてプレイリスト再生の開始を再生制御の主体である再生制御エンジンに指示する場合、Java仮想マシンは、再生制御エンジンに再生を命じた後、プレイリスト再生を開始した旨のレスポンスをアプリケーションに返す。つまり、再生制御エンジンによるプレイリスト再生が継続している間、Java仮想マシンは、実行終了待ちにはならない。何故なら、Java仮想マシンは、いわゆるイベントドリブン型の動作主体であり、再生制御エンジンがプレイリストの再生を行っている間も、動作を行うことができるからである。 
【００９９】
一方、HDMVモードにおいて、コマンドインタプリタが、プレイリスト再生を再生制御エンジンに命じる場合、プレイリスト再生が終了するまで、そのプレイリスト再生の実行終了待ちとなる。再生制御エンジンによる再生が継続している間、コマンド実行部は、対話的な処理を実行することはできない。このコマンドインタプリタの代わりに、グラフィクスデコーダが対話的な動作を行う。グラフィクスデコーダに対話的な動作を行わせるため、IGストリームには、ボタン部材を用いた対話的な操作を規定する制御情報が組込まれている。  
【０１００】
以上がストリームファイルについての説明である。続いて、プレイリスト情報の詳細について説明する。 
【０１０１】
上述したようなマルチパスを定義するため、プレイリスト情報は図７のような内部構成を有する。図７は、プレイリスト情報の内部構成を示す。同図（ａ）に示すようにプレイリスト情報は、「メインパス情報」、「サブパス情報」、「プレイリストマーク情報」、「エクステンションデータ」を含む。以下、これらの構成要素について説明する。 
【０１０２】
(3-5-1)メインパス情報 
メインパス情報は、１つ以上の主たる再生区間情報から構成される。図７（ｂ）は、メインパス情報、及び、サブパス情報の内部構成を示す図であり、本図に示すように、メインパス情報は、１つ以上の主たる再生区間情報から構成される。サブパス情報は、１つ以上の従たる再生区間情報から構成される。 
【０１０３】
主たる再生区間情報はプレイアイテム情報と呼ばれ、TSの再生時間軸のうち、In＿Timeとなる時点と、Out＿Timeとなる時点の組みを1つ以上定義することにより、論理的な再生区間を定義する情報である。再生装置は、カレントのプレイアイテムの番号を格納するプレイアイテム番号レジスタを含み、複数のプレイアイテムのうち、対応するプレイアイテム番号が、このプレイアイテム番号レジスタに格納されているものが、現在の再生対象になる。プレイリスト情報は、プレイアイテム情報−ストリーム情報−トランスポートストリームという階層構造を有しており、トランスポートストリーム及びストリーム情報の組みと、プレイアイテム情報との比率については、１対多の関係にして、1つのトランスポートストリームを複数のプレイアイテム情報から多重参照することができる。よって、あるプレイリストのために作成されたトランスポートストリームをバンクフィルムとして採用し、これを複数のプレイリスト情報ファイルにおけるプレイアイテム情報から参照することで、映画作品のバリエーションを効率良く作成することができる(尚、バンクフィルムとは、映画業界の用語であり、複数のシーンで使いまわしされる映像内容のことである)。一般には、プレイリストという単位はユーザから認識されないので、ストリームファイルから派生した複数のバリエーション(例えば劇場公開版やTV放映版)が、プレイリストとして認識される。 
【０１０４】
図７（ｃ）は、プレイアイテム情報の内部構成を示す。本図に示すように、「ストリーム参照情報」、「インタイムアウトタイム情報」、「接続状態情報」、「基本ストリーム選択テーブル」を含む。 
【０１０５】
「ストリーム参照情報」は、プレイアイテムを構成するトランスポートストリームを「AVクリップ」として管理しているストリーム情報ファイルを示す「ストリーム情報ファイルネーム情報(clip＿information＿file＿name)」、そのTSにおける符号化方式を示す「クリップ符号化方式識別子(Clip＿codec＿identifier)」、当該TSのSTCシーケンスにおいて、インタイム及びアウトタイムが設定されているSTCシーケンスがどれであるかを示す「STC識別子レファレンス(STC＿ID＿reference)」を含む。 
【０１０６】
『インタイムアウトタイム情報(In＿Time,Out＿Time)』は、STCシーケンス時間軸におけるプレイアイテムの始点と、STCシーケンス時間軸上におけるプレイアイテムの終点とを示す。
【０１０７】
『接続状態情報』は、プレイアイテム情報に対応する再生区間と、その直前の再生区間との接続情報が、シームレス接続であるか否かを規定する。
【０１０８】
『基本ストリーム選択テーブル』については後で詳しく説明する。
【０１０９】
(3-5-2)サブパス情報 
サブパス情報は、複数の従たる再生区間情報（サブプレイアイテム情報）から構成される。図７（ｄ）は、サブプレイアイテムの内部構成を示す。本図に示すように、サブプレイアイテム情報は、STCシーケンスの時間軸にインタイムと、アウトタイムとの組みを規定することで、サブパスを構成する再生区間を定義する情報であり、「ストリーム参照情報」、「インタイムアウトタイム情報」、「シンクロプレイアイテムレファレンス」、「シンクロ開始時刻情報」を含む。 「ストリーム参照情報」は、プレイアイテム情報と同様、『ストリーム情報ファイルネーム情報』『クリップ符号化方式識別子』、『STC識別子レファレンス』を含む。 
【０１１０】
「インタイムアウトタイム情報(SubPlayItem＿In＿Time,SubPlayItem＿Out＿Time)」は、STCシーケンス時間軸における、サブプレイアイテムの始点と、STCシーケンス時間軸上における、サブプレイアイテムの終点とを示す。 
【０１１１】
「シンクロプレイアイテムレファレンス(Sync＿PlayItem＿Id)」は、プレイアイテムのうち、本サブプレイアイテムが同期すべきものを一意に指定する情報である。サブプレイアイテムインタイムは、この同期プレイアイテム参照子で指定されたプレイアイテムの再生時間軸上に存在する。 
【０１１２】
「シンクロ開始時刻情報(Sync＿Start＿PTS＿of＿PlayItem)」は、同期プレイアイテム参照子で指定されたプレイアイテムのSTCシーケンスの時間軸のうち、サブプレイアイテムインタイムで指定されたサブプレイアイテムの始点が、どの時点に写像されるかを示す。 
【０１１３】
(3-5-3)プレイリストマーク情報 
プレイリストマーク情報は、再生区間固有のマークポイントを定義する情報であり、再生区間を示す参照子と、デジタルストリームの時間軸において、マークポイントが何処にあるかを示すタイムスタンプと、マークポイントの属性を示す属性情報とを含む。そして属性情報は、プレイリストマーク情報により定義されたマークポイントが、リンクポイントであるか、エントリーマークであるかを示す。 
【０１１４】
リンクポイントは、リンクコマンドによるリンクが可能であるが、チャプタースキップ操作がユーザによりなされた場合の選択対象にはならないマークポイントである。 
【０１１５】
エントリーマークは、リンクコマンドによるリンクが可能であり、尚且つチャプタースキップ操作がユーザによりなされた場合の選択対象になるマークポイントである。 
【０１１６】
IGストリームのボタン情報内に組込まれたリンクコマンドは、プレイリストマーク情報を介した間接参照の形式で頭出し位置を指定している。 
【０１１７】
以上がプレイリスト情報を構成するプレイアイテム情報、サブプレイアイテム情報、プレイリストマーク情報についての説明である。続いて、基本ストリーム選択テーブルの詳細について説明する。 
【０１１８】
(3-5-4)基本ストリーム選択テーブル(STreamNumber＿table) 
基本ストリーム選択テーブルは、プレイリストを構成する複数のプレイアイテムのうち、その基本ストリーム選択テーブルを包含しているものがカレントプレイアイテムになった際、マルチパスのメインパスにて参照されているAVクリップに多重化されているES、及び、マルチパスのサブパスにて参照されているAVクリップに多重化されているESのうち、どれの再生を許可するかを、複数のストリーム種別毎に規定するテーブルである。ここでのストリーム種別とは、ピクチャインピクチャにおけるプライマリビデオストリーム、ピクチャインピクチャにおけるセカンダリビデオストリーム、サウンドミキシングにおけるプライマリオーディオストリーム、サウンドミキシングにおけるセカンダリオーディオストリーム、PG＿テキスト字幕ストリーム、IGストリームといった種別をいい、基本ストリーム選択テーブルは、これらのストリーム種別毎に、再生を許可すべきストリームを登録することができる。具体的には、基本ストリーム選択テーブルは、ストリーム登録の配列から構成される。ここでストリーム登録とは、基本ストリーム選択テーブルが帰属しているプレイアイテムがカレントプレイアイテムになった際、再生を許可すべきESがどのようなストリームであるかを、そのストリーム番号に対応付けて示すものであり、ストリーム登録は、論理的なストリーム番号に、ストリームエントリー及びストリーム属性の組合せを対応付けるというデータ構造になっている。 ストリーム登録におけるストリーム番号は、１、２、３というような整数値で表現され、ストリーム番号の最大数は、対応するストリーム種別のストリーム本数となる。 
【０１１９】
再生装置には、このストリーム種別毎に、ストリーム番号レジスタが存在しており、このストリーム番号レジスタに格納されたストリーム番号で指示されるエレメンタリストリームが、現在再生対象になっているエレメンタリストリーム、つまりカレントストリームになる。 
【０１２０】
このストリームエントリー内に、再生すべきエレメンタリストリーム(ES)のパケット識別子が記述される。ストリームエントリー内に、再生すべきESのパケット識別子を記述することができるので、ストリーム登録におけるストリーム番号を再生装置のストリーム番号レジスタに格納し、ストリーム登録におけるストリームエントリー内のパケット識別子に基づいて再生装置のPIDフィルタにパケットフィルタリングを再生装置に実行させる。こうすることで、基本ストリーム選択テーブルにおいて再生が許可されたESのTSパケットがデコーダに出力され、ESの再生がなされることになる。 
【０１２１】
基本ストリーム選択テーブルにおけるこれらのストリーム登録は、ストリーム番号の順序に従って並べられており、ストリーム番号の順序に基づくストリーム登録の順位は、「再生装置が再生することができる」、「ストリームの言語属性が再生装置の言語設定と一致する」の条件を満たすストリームが複数存在する場合、ストリーム登録列におけるストリーム番号の順位によって、選択対象となるストリームが決定される。 
【０１２２】
こうすることで、基本ストリーム選択テーブルにおけるストリーム登録の中に、再生装置が再生できないものが存在する場合、かかるストリームは再生から除外されることになり、また、「再生装置が再生することができる」、「ストリームの言語属性が再生装置の言語設定と一致する」との条件を満たすストリームが複数存在する場合は、それらのうちどれを優先的に選択すべきか、という指針をオーサリング者は再生装置に伝えることができる。 
【０１２３】
「再生装置が再生することができる」、「ストリームの言語属性が再生装置の言語設定と一致する」という条件を満たすストリームが存在するかどうかという判定や、「再生することができる」、「ストリームの言語属性が再生装置の言語設定と一致する」との条件を満たすストリームのうちどれを選択するかという選択手順は、ストリーム選択プロシージャと呼ばれる。ストリーム選択プロシージャは、カレントプレイアイテムが新しいものに切り替った際、また、ユーザからストリーム切り替えが要求された際、実行される。 
【０１２４】
カレントプレイアイテムが新しいものに切り替わる等、再生装置の状態変化が生じた際、上述したような判定や選択を行い、再生装置のストリーム番号レジスタにストリーム番号を設定する一連の手順を「状態変化時に実行すべきプロシージャ」という。ストリーム番号レジスタは、ストリーム種別毎に存在するから、上記プロシージャは、ストリーム種別ごとに実行されることになる。 
【０１２５】
ストリーム切り替え要求がユーザによってなされた場合、上述したような判定や選択を行い、再生装置のストリーム番号レジスタにストリーム番号を設定する一連の手順を「ストリーム変化が要求された際のプロシージャ」という。 
【０１２６】
ディスクが装填された際、ストリーム番号レジスタをストリーム登録列における初期値に設定しておくとの手順を、「初期化」という。 
【０１２７】
基本ストリーム選択テーブルにおけるストリーム登録列は、サブプレイアイテム情報によって指定されているストリームと、プレイアイテム情報によって指定されているストリームとに一律に優先順序を付与しているので、ビデオストリームとは多重化されていないストリームであっても、サブプレイアイテム情報によって指定されていれば、ビデオストリームと同期再生すべきストリームの選択にあたっての選択の対象となる。 
【０１２８】
そして、サブプレイアイテム情報にて指定されたストリームを再生装置が再生することができ、尚且つ、サブプレイアイテム情報にて指定されたストリームの優先順序がビデオストリームと多重化されたグラフィクスストリームの優先順序よりも高い場合は、ビデオストリームと多重化されたストリームの代わりに、サブプレイアイテム情報にて指定されたストリームを再生に供することができる。 
【０１２９】
基本ストリーム選択テーブルにおけるストリーム番号の用途を述べる。基本ストリーム選択テーブルに記載されたストリーム番号は、セットストリームコマンドのオペランドに使うことができる。 
【０１３０】
セットストリームコマンドとは、オペランドに指定されたストリーム番号をカレントストリーム番号としてストリーム番号レジスタに設定して、カレントストリームの切り替えを再生装置に命じるコマンドであり、コマンドベースのプログラムが、ストリームの切り替えを再生装置に実行させる際に用いられる。 
【０１３１】
また、ストリームチェンジUOの引き数やセットストリームAPIの引き数にも使用することができる。ストリームチェンジUOとは、引き数に指定されたストリーム番号をカレントストリーム番号としてストリーム番号レジスタに設定して、カレントストリームの切り替えを再生装置に命じるユーザ操作イベントである。 
【０１３２】
セットストリームAPIとは、引き数に指定されたストリーム番号をカレントストリーム番号としてストリーム番号レジスタに設定して、カレントストリームの切り替えを再生装置に命じるAPIであり、オブジェクト指向プログラミング言語ベースのプログラムが、ストリーム切り替えを再生装置に実行させる際に用いられる。 
【０１３３】
＜基本ストリーム選択テーブルの具体例＞ 
図８は、基本ストリーム選択テーブルの一例を示す。同図（ａ）は、ストリーム種別に、プライマリビデオストリーム、プライマリオーディオストリーム、PGストリーム、IGストリーム、セカンダリビデオストリーム、セカンダリオーディオストリームといった種別が存在する場合に、基本ストリーム選択テーブルに設けられる複数のストリーム登録列を示す。同図（ｂ）は、基本ストリーム選択テーブルにより、メインTS,サブTSから、どのようなESが分離されるかを示す。同図左側は、メインTS、サブTSを示し、真ん中は、基本ストリーム選択テーブルと、多重分離部とを示す。右側は、基本ストリーム選択テーブルに基づき分離されるプライマリビデオストリーム、プライマリオーディオストリーム、PGストリーム、IGストリーム、セカンダリビデオストリーム、セカンダリオーディオストリームを示す。以上が基本ストリーム選択テーブルについての説明である。続いて、エクステンションデータの詳細について説明する。図９は、エクステンションデータの内部構成を示す図である。エクステンションデータは、2Dモードにおいて不要であり、3Dモードのみ必要となる拡張データの総称である。図９に示すように、エクステンションデータは、ベースビューインディケータと、拡張ストリーム選択テーブルと、プレーン内有効化情報列とから構成される。
【０１３４】
(3-5-5)ベースビューインディケータ 
「ベースビューインディケータ」は、視点間の相関性を利用した圧縮符号化の基礎となるベースビュービデオストリームを、左目及び右目のどちらとして表示されるべきかを3D用プレイリスト毎に指定する。プレイリスト情報におけるベースビューインディケータを変化させることで、ベースビュービデオストリームを、左目及び右目用のうちどちらにするかという割り当てをプレイリストのレベルで変化させることができる。 
【０１３５】
ストリームの構造に依拠しないプレイリストのレベルで、上記割り当てを変化させることができるので、画像中の物体の位置及び角度がベースビュー＝左目、ディペンデントビュー＝右目用のように設定されているプレイリストが存在する場合、このプレイリストとは別バージョンとして、ベースビュー＝右目用、ディペンデントビュー＝左目のように設定されているプレイリストを作成することができる。 
【０１３６】
プレイリストのレベルで、ベースビュー、ディペンデントビューに対する左目、右目用の割り当てを逆転させれば、立体視効果を逆転させることができる。例えば、画面の手前に対象物が出現するような立体視効果を意図したプレイリストが既に作成されている場合、かかるプレイリストと別に、画面の奥に対象物が出現するような立体視効果を意図したプレイリストを作成することができる。よって3Dプレイリストでは、立体視効果が異なる、プレイリストのバリエーションを簡易に作成することがでるという効果を奏する。 
【０１３７】
(3-5-6)拡張ストリーム選択テーブル(STreamNumber＿table＿StereoScopic(SS)) 
拡張ストリーム選択テーブルは、3D用プレイリスト固有の情報であり、立体視出力モードにおいてのみ、ストリーム選択テーブルと共に使用されるストリーム選択テーブルである。プレイアイテムの再生や、これに関連するサブパスが再生されている際、選択することができるエレメンタリストリームを定義する。 
【０１３８】
拡張ストリーム選択テーブルは、立体視出力モードにおいてのみ再生を許可すべきエレメンタリストリームを示し、ストリーム登録列を含む。ストリーム登録列における個々のストリーム登録情報は、ストリーム番号と、そのストリーム番号に対応するストリームエントリーと、ストリーム属性とを含む。拡張ストリーム選択テーブルは、立体視出力モード固有の拡張を意味するので、各プレイアイテム情報に拡張ストリーム選択テーブル(STN＿table＿SS)が関連付けられているプレイリストを「3Dプレイリスト」という。 
【０１３９】
拡張ストリーム選択テーブルにおけるストリームエントリーは、再生装置が立体視出力モードに設定されている場合において、対応するストリーム番号が再生装置におけるストリーム番号レジスタに設定された際、再生装置が多重分離に用いるべきパケット識別子を示す。ここで、基本ストリーム選択テーブルとの違いは、拡張ストリーム選択テーブルにおけるストリーム登録列は、ストリーム選択プロシージャの対象にならない点である。つまり、基本ストリーム選択テーブルにおけるストリーム登録列におけるストリーム登録情報は、個々のESの優先順序と解釈され、何れかのストリーム登録情報内のストリーム番号が、ストリーム番号レジスタに書き込まれる。しかし拡張ストリーム選択テーブルにおけるストリーム登録列は、ストリーム選択プロシージャの対象とはならず、拡張ストリーム選択テーブルにおけるストリーム登録情報は、何れかのストリーム番号がストリーム番号レジスタに格納された際、そのストリーム番号に対応するストリームエントリー及びストリーム属性を取り出すという目的のみに用いられる。 
【０１４０】
平面視モードから立体視モードへと出力モードが切り替った際、対象となるストリーム選択テーブルが、基本ストリーム選択テーブルから拡張ストリーム選択テーブルに切り替ったために、ストリーム選択プロシージャを実行したとなると、ストリーム番号の同一性を維持することができず、強いては、言語属性の同一性も失われる可能性がある。 
【０１４１】
平面視モードから立体視モードへの切り替え時に、言語属性を始めとするストリーム属性の同一性を維持するため、拡張ストリーム選択テーブルの用途を、上記のものにも留めている。 
【０１４２】
拡張ストリーム選択テーブルにおけるストリーム番号の用途を述べる。拡張ストリーム選択テーブルに記載されたストリーム番号は、セットストリームコマンドやセット立体視ストリームコマンドのオペランドに使うことができる。 
【０１４３】
セット立体視ストリームコマンドとは、オペランドに指定された立体視のためのストリーム番号をカレントストリーム番号としてストリーム番号レジスタに設定して、カレントストリームの切り替えを再生装置に命じるコマンドであり、コマンドベースのプログラムが、立体視ストリームへの切り替えを再生装置に実行させる際に用いられる。 
【０１４４】
また、ストリームチェンジUOの引き数やセットストリームAPIの引き数にも使用することができる。拡張ストリーム選択テーブルは、ディペンデントビュービデオストリームのストリーム登録列、PGストリームのストリーム登録列、IGストリームのストリーム登録列から構成される。 
【０１４５】
拡張ストリーム選択テーブルにおけるストリーム登録列は、ストリーム選択テーブルにおける同じストリーム種別のストリーム登録列に結合される。この結合は、ストリーム選択テーブルにおけるプライマリビデオストリームのストリーム登録列に、拡張ストリーム選択テーブルにおけるディペンデントビュービデオストリームのストリーム登録列を結合し、ストリーム選択テーブルにおけるPGストリームのストリーム登録列に、拡張ストリーム選択テーブルにおけるPGストリームのストリーム登録列を結合し、IGストリームのストリーム登録列に、拡張ストリーム選択テーブルにおけるIGストリームのストリーム登録列を結合することでなされる。 
【０１４６】
上記の結合がなされれば、結合後のストリーム選択テーブルのうち、基本ストリーム選択テーブルにおけるストリーム登録列に対して上記プロシージャが実行される。 
【０１４７】
＜拡張ストリーム選択テーブルの詳細＞ 
図９における拡張ストリーム選択テーブルは、各プレイアイテムにおけるそれぞれのストリーム種別に対応するストリーム登録列から構成される。 
【０１４８】
ここでプレイアイテム#1〜#NというN個のプレイアイテムが存在する場合、プレイアイテム#1〜#Nのそれぞれに対応するストリーム登録列が、拡張ストリーム選択テーブルに設けられる。各プレイアイテムに対応するストリーム登録列は、ディペンデントビューストリーム登録列、PGストリーム登録列、IGストリーム登録列である。 
【０１４９】
図１０（ａ）は、拡張ストリーム選択テーブルにおけるPGストリームのストリーム登録列の内部構成を示す。PGストリームのストリーム登録列は、M個のストリーム登録情報から構成される。ここで、"M"とは、プレイアイテム情報#xの基本ストリーム選択テーブルにおいて、再生が許可されているPGストリームの本数である。 
【０１５０】
図中の引き出し線は、ストリーム登録列の共通の内部構成をクローズアップして示している。 
【０１５１】
『PG＿テキスト字幕オフセットシーケンスIDレファレンス情報(PGtextST＿offset＿sequence＿id＿ref)』は、PG＿テキスト字幕ストリームオフセットシーケンスレファレンス情報であり、1plane＋OffsetモードのPG＿テキスト字幕ストリームについてのオフセットシーケンスを指示する。 
【０１５２】
オフセットメタデータは、ディペンデントビュービデオストリームのアクセスユニットによって供給される。再生装置は、このフィールドによって提供されたオフセットを1plane＋Offsetモードタイプのプレゼンテーショングラフィクス(PG)プレーンに適用せねばならない。 
【０１５３】
このフィールドが不定値(FF)である場合、再生装置はPGプレーンに、このオフセットを適用しない。 
【０１５４】
『上端配置存否フラグ』は、上端配置字幕ストリームが存在するか否かを示す。 
【０１５５】
『下端配置存否フラグ』は、下端配置字幕ストリームが存在するか否かを示す。 
【０１５６】
『立体視存否フラグ』は、PGストリームにおける左目用IGのストリームエントリー、右目用IGのストリームエントリーが存在するか否かを示す。立体視PGストリームにおける構造が存在しない場合、このフィールドは0に設定されねばならない。立体視PGストリームにおける構造が存在する場合、このフィールドは1に設定されねばならない。 
【０１５７】
『上端字幕ストリームエントリー』は、上端配置字幕ストリームが定義されているサブパスや上端配置字幕ストリームが格納されているストリームファイル、当該ストリームファイルにおける上端配置字幕ストリームのパケット識別子のレファレンスを含む。 
【０１５８】
拡張ストリーム選択テーブルによって再生可能であると設定されている複数の字幕ストリームのうち、表示座標Y0,Y1が、グラフィクスプレーンの上端領域に設定されているものが、このストリームエントリーによって上端配置字幕ストリームであるとして指定されることになる。 
【０１５９】
『上端字幕ストリーム属性』は、上端配置字幕ストリームの符号化方式や言語属性を示す。 
【０１６０】
『上端字幕のオフセットシーケンスIDレファレンス』は、上端配置字幕ストリームを再生する場合に適用すべきオフセットシーケンスを示す。 
【０１６１】
『下端字幕ストリームエントリー』は、下端字幕ストリームが定義されているサブパスや下端字幕ストリームが格納されているストリームファイル、当該ストリームファイルにおける下端字幕ストリームのパケット識別子のレファレンスを含む。 
【０１６２】
拡張ストリーム選択テーブルによって再生可能であると設定されている複数の字幕ストリームのうち、表示座標Y0,Y1が、グラフィクスプレーンの下端領域に設定されているものが、このストリームエントリーによって下端字幕ストリームであるとして指定されることになる。 
【０１６３】
『下端字幕ストリーム属性』は、下端字幕ストリームの符号化方式や言語属性を示す。      
【０１６４】
『下端字幕のオフセットシーケンスIDレファレンス』は、下端字幕ストリームを再生する場合に適用すべきオフセットシーケンスを示す。 
【０１６５】
『左目PGのストリームエントリー』は、立体視における左目PGストリームが定義されているサブパスや左目PGストリームが格納されているストリームファイル、当該ストリームファイルにおける左目PGストリームのパケット識別子のレファレンスを含む。 
【０１６６】
『右目PGのストリームエントリー』は、立体視における右目PGストリームが定義されているサブパスや右目PGストリームが格納されているストリームファイル、当該ストリームファイルにおける右目PGストリームのパケット識別子のレファレンスを含む。 
【０１６７】
『立体視PGのストリーム属性』は、立体視PG再生時に再生されるべき字幕ストリームの符号化方式や言語属性を示す。
【０１６８】
『立体視PGのオフセットシーケンスIDレファレンス』は、立体視PG再生時に適用すべきオフセットシーケンスを示す。以上が拡張ストリーム選択テーブルについての説明である。
【０１６９】
(3-5-6)プレーン内有効化情報列
プレーン内有効化情報列は、プレイアイテム情報#1,#2〜#Nのそれぞれに対応するプレーン内有効化情報の集まりである。プレーン内有効化情報とは、左目ビデオプレーン及び右目ビデオプレーンにおける領域のうち、一部を有効化する情報である。図１０（ｂ）は、プレーン内有効化情報の内部構成を示す。プレーン内有効化情報は、対応するプレイリスト情報がカレントプレイリストとして選択されている場合、ビデオプレーンにおける画素領域のうち、どの部分を有効にするかを規定する情報でありbottom_margin、top_margin、top_down_offset、bottom_up_offsetから構成される。
【０１７０】
top_margin、bottom_marginは、通常レイアウトを採用する場合、画面の上端領域の縦幅、下端領域の縦幅がどれだけであるかを規定する。top_margin、bottom_marginには、画素数を2で割った値が記載されている。よって、再生時において、このtop_margin、bottom_marginに示される値に"2"を乗ずれば、通常レイアウト時においてビデオプレーンの上下端に設けるべき余白のサイズを算出することができる。top_margin、bottom_marginとしては、69と設定することが望ましい。この場合、top_margin、bottom_marginに2を乗じることで、138という画素数が、ビデオプレーンの上下端に確保される。
【０１７１】
top_down_offsetは、上端配置レイアウトを採用する場合、画面の上端領域の縦幅をどれだけにするかを規定する。
【０１７２】
bottom_up_offsetは、下端配置レイアウトを採用する場合、画面の下端領域の縦幅をどれだけにするかを規定する。top_down_offset、bottom_up_offsetには、画素数を2で割った値が記載されている。よって、再生時において、このtop_down_offset、bottom_up_offsetに示される値に"2"を乗ずれば、ビデオプレーンにおける画素の上下シフトに必要な画素数を算出することができる。top_down_offsetとしては、104と設定することが望ましい。この場合、top_down_offsetに2を乗じることで、208という画素数が、ビデオプレーンの下方向シフトに利用される。bottom_up_offsetとしては、34と設定することが望ましい。この場合、bottom_up_offsetに2を乗じることで、68という画素数が、ビデオプレーンの上方向シフトに利用される。bottom_up_offset、top_down_offsetにて指定された画面端部に、字幕を表示したり、またバイトコードアプリケーションがGUIを表示したりすることができる。
【０１７３】
これで、再生装置による再生処理の対象となる記録媒体についての説明を終える。続いて、再生装置の詳細について説明する。 
【０１７４】
(4-1)再生装置の内部構成 
図１１は、再生装置の内部構成を示す。本図に示すように再生装置は、読出部１、ビデオデコーダ２、ビデオプレーン３、字幕デコーダ４、グラフィクスプレーン５、合成部６、送受信部７、左右シフト部８a,８b、上下シフト部９、多重分離部１０、レジスタセット１１、プレイリスト情報メモリ１２、プロシージャ実行部１３、再生制御部１４、操作受付部１５、OSD処理部１６から構成される。 
【０１７５】
(4-1-1)読出部１ 
読出部１は、記録媒体からインデックステーブル、プログラムファイル、プレイリスト情報ファイル、ストリーム情報ファイル、ストリームファイルを読み出す。読出部２０１は、立体視インターリーブドストリームファイルの読み出しにあたって、3Dストリーム情報ファイルにおけるクリップベース情報内のエクステントスタートポイント情報と、クリップディペンデント情報内のエクステントスタートポイント情報とを用いて、立体視インターリーブドストリームファイルを、メインTSと、サブTSとに分割して、別々のリードバッファに格納するという処理を行う。この分割は、クリップディペンデント情報におけるエクステントスタートポイント情報に示されているソースパケット番号のパケット数だけ、立体視インターリーブドストリームファイルからソースパケットを取り出してメインTSに追加するという処理と、クリップベース情報におけるエクステントスタートポイント情報に示されているソースパケット番号のパケット数だけ、立体視インターリーブドストリームファイルからソースパケットを取り出してサブTSに追加するという処理とを繰り返すことでなされる。 
【０１７６】
(4-1-2)ビデオデコーダ２ 
ビデオデコーダ２は、コーデッドデータバッファ、デコードデータバッファを備え、ディペンデントビュービデオストリームを構成するビューコンポーネントをコーデッドデータバッファにプリロードした上、ベースビュービデオストリーム内のクローズGOPの先頭に位置するデコーダリフレッシュを意図したピクチャタイプ(IDRタイプ)のビューコンポーネントをデコードする。このデコードにあたって、コーデッドデータバッファ、デコードデータバッファを全クリアする。こうしてIDRタイプのビューコンポーネントをデコードした後、このビューコンポーネントとの相関性に基づき圧縮符号化されているベースビュービデオストリームの後続のビューコンポーネント、及び、ディペンデントビュービデオストリームのビューコンポーネントをデコードする。デコードによって当該ビューコンポーネントについての非圧縮のピクチャデータが得られれば、デコードデータバッファに格納し、かかるピクチャデータを参照ピクチャとする。 
【０１７７】
この参照ピクチャを用いて、ベースビュービデオストリームの後続のビューコンポーネント、及び、ディペンデントビュービデオストリームのビューコンポーネントについて、動き補償を行う。動き補償によって、ベースビュービデオストリームの後続のビューコンポーネント、及び、ディペンデントビュービデオストリームのビューコンポーネントについて、非圧縮のピクチャデータが得られれば、これらをデコードデータバッファに格納し参照ピクチャとする。以上のデコードは、個々のアクセスユニットのデコードタイムスタンプに示されているデコード開始時刻が到来時になされる。 
【０１７８】
(4-1-3)ビデオプレーン３ 
ビデオプレーン３は、左目用プレーンメモリ、右目用プレーンメモリから構成される。ベースビューのビューコンポーネントをデコードすることで得られた非圧縮のピクチャデータ、ディペンデントビューのビューコンポーネントをデコードすることで得られた非圧縮のピクチャデータが、これら左目用プレーンメモリ、右目用プレーンメモリに書き込まれる。この書き込みは、個々のアクセスユニットのプレゼンテーションタイムスタンプに示されている再生開始時刻の到来時になされる。 
【０１７９】
左目用のプレーンメモリ、右目用プレーンメモリのうち、どちらにデコード後のピクチャデータを書き込むかは、プレイリスト情報におけるベースビューインディケータに従う。ベースビューインディケータが、ベースビュービデオストリームを"左目用"として指定していれば、ベースビュービデオストリームのビューコンポーネントとなるピクチャデータが左目用プレーンメモリに書き込まれ、ディペンデントビュービデオストリームのビューコンポーネントとなるピクチャデータが右目用のプレーンメモリに書き込まれる。 
【０１８０】
ベースビューインディケータが、ベースビュービデオストリームを"右目用"として指定していれば、ベースビュービデオストリームのビューコンポーネントであるピクチャデータが右目用のプレーンメモリに書き込まれ、ディペンデントビュービデオストリームのビューコンポーネントであるピクチャデータが左目用のプレーンメモリに書き込まれる。そして、これらのビューコンポーネントは、順次表示装置に出力される。具体的にいうと、一個のフレーム期間において、左目用プレーンメモリのピクチャデータと、右目用プレーンメモリのピクチャデータとを同時に出力する。左目用ビデオプレーン及び右目用ビデオプレーンは、複数のラインメモリからなり、ビデオデータを構成する画素データは、ラインメモリを構成する３２ビット長の記憶素子にそれぞれ格納される。そしてピクチャデータを構成する画素データの画面上の座標は、例えばビデオプレーンにおけるラインメモリのアドレスであるROWアドレスと、ラインメモリにおける記憶素子の相対アドレスであるCOLUMNアドレスとの組みに対応する。 
【０１８１】
(4-1-4)字幕デコーダ４ 
字幕デコーダ４は、PG＿テキスト字幕ストリームをデコードして、デコードにより得られた非圧縮のビットマップやグラフィクスをグラフィクスプレーンに書き込む。 
【０１８２】
(4-1-5)グラフィクスプレーン５ 
グラフィクスプレーン５は、PGプレーン５a、GFXプレーン５bから構成される。PGプレーン５aは、字幕デコーダ４のデコードによって得られた字幕を格納する。GFXプレーン５bは、OSD処理部１６によって描画されたOSDを格納する。 
【０１８３】
(4-1-5-1)PGプレーン５a 
PGプレーン５aは、複数のラインメモリからなり、非圧縮の字幕を構成する画素データは、PGプレーンのラインメモリを構成するハーフワード(８ビット)長の記憶素子にそれぞれ格納される。そして字幕を構成する画素データの画面上の座標は、例えばPGプレーンにおける画素データのラインメモリを指示するROWアドレスと、そのラインメモリにおける記憶素子を指示するCOLUMNアドレスとの組みに対応する。PGプレーンに格納される画素データとは、８ビットのピクセルコードである。８ビットのピクセルコードは、カラールックアップテーブルを用いた色変換によって、Y値、Cr値、Cb値、α値に変換される。例えばピクチャデータの解像度が1920×1080に設定されている場合、PGプレーンは、横1920×縦1080の画素データを格納する。PGプレーンの背景部分にあたる記憶素子には、透明色を示すY値、Cr値、Cb値、α値とが格納されており、この部分には、左目用ビデオプレーン及び右目用ビデオプレーンとの合成時において、左目用ビデオプレーン及び右目用ビデオプレーンにおける動画像が透けて見えるようになる。一方、前景部分にあたる記憶素子には、透明色以外を示すY値、Cr値、Cb値、α値が格納されており、この透明色以外のY値、Cr値、Cb値、α値によって、字幕が描かれることになる。   
【０１８４】
(4-1-5-2)GFXプレーン５b 
GFXプレーン５bは、複数のラインメモリからなり、OSDを構成する画素データは、GFXプレーンのラインメモリを構成するダブルワード(３２ビット)長の記憶素子にそれぞれ格納される。そしてOSDを構成する画素データの画面上の座標は、例えばGFXプレーンにおける画素データのラインメモリを指示するROWアドレスと、そのラインメモリにおける記憶素子を指示するCOLUMNアドレスとの組みに対応する。GFXプレーンにおける画素データは、８ビットのR値、８ビットのG値、８ビットのR値、８ビットの透明度αから構成される。解像度が1920×1080に設定されている場合、GFXプレーンは横1920×縦1080の画素データを格納する。GFXプレーンの背景部分にあたる記憶素子には、透明色を示すR値、G値、B値、α値が格納されており、この部分には、左目用ビデオプレーン及び右目用ビデオプレーンとの合成時において、左目用ビデオプレーン及び右目用ビデオプレーンにおける動画像が透けて見えるようになる。一方、前景部分にあたる記憶素子には、透明色以外を示すR値、G値、B値、α値が格納されており、この透明色以外のR値、G値、B値、α値によって、字幕が描かれることになる。 
【０１８５】
(4-1-6)レイヤ合成部６ 
レイヤ合成部６は、複数のプレーンメモリにおけるレイヤ合成を行う。レイヤ合成の対象になるプレーンメモリには、左目用ビデオプレーン、右目用ビデオプレーン、PGプレーン、GFXプレーンがあり、これらは、左目用ビデオプレーン及び右目用ビデオプレーンが下位のレイヤに存在していて、その1つ上のレイヤにPGプレーンが存在し、更にその上のレイヤにGFXプレーンが存在するという階層構造を有している。レイヤ合成部６は、この階層構造に従ってレイヤ合成を行い、左目用ピクチャデータ及び右目用ピクチャデータのそれぞれに、字幕やOSDが合成された合成映像を得て、出力に供する。 
【０１８６】
(4-1-7)送受信部７ 
送受信部７は、ホームシアターシステムにおける他の機器とインターフェイスを介して接続された際、ネゴシエーションフェーズを経て、データ伝送フェーズに移行し、データ伝送を行う。このネゴシエーションフェーズは、相手側機器のケーパビリティ(デコード能力、再生能力、表示周波数を含む)を把握して、プレーヤ設定レジスタに設定しておき、以降の伝送のための伝送方式を定めるものであり、互いの装置の正当性を確認し合う相互認証フェーズを含む。このネゴシエーションフェーズを経て、レイヤ合成がなされたピクチャデータにおける一ライン分の非圧縮・平文形式の画素データを、表示装置における水平同期期間に従い表示装置に高い転送レートで転送する。一方、表示装置における水平帰線期間、及び、垂直帰線期間において、再生装置と接続された他の装置(表示装置のみならずアンプ、スピーカを含む)に、非圧縮・平文形式のオーディオデータを転送する。こうすることで、表示装置、アンプ、スピーカといった機器は、非圧縮・平文形式のピクチャデータ、非圧縮・平文形式のオーディオデータを受け取ることができ、再生出力を実現することができる。また、相手側機器にデコード能力が存在する場合、ビデオストリーム、オーディオストリームのパススルー伝送が可能になる。パススルー伝送では、ビデオストリーム、オーディオストリームを圧縮・暗号化形式のまま伝送することができる。 
【０１８７】
(4-1-8-1)左右シフト部８a 
左右シフト部８aは、PGプレーンにおける画素データのＸ座標に水平方向のオフセットを与えることで、立体視を実現する。上述したように、字幕を構成する画素データの画面上の座標は、PGプレーンにおける画素データのラインメモリを指示するROWアドレスと、そのラインメモリにおける記憶素子を指示するCOLUMNアドレスとの組みに対応する。PGプレーンにおける字幕の各画素データの記憶素子を指示するCOLUMNアドレスを、オフセットシーケンスのplane_offset_valueに相当するアドレスだけ、増減させれば、画素データの座標を左右方向に変位させることができる。画素データのアドレスシフトは、アドレス調整を伴う画素データのコピー処理によって実現できる。ここで、オフセットシーケンスのplane_offset_valueにて指定される画素数Xだけ、画素データのX座標を変更したい場合、画素データのコピー時において、そのコピー先となる記憶素子を指示するCOLUMNアドレスを、画素数Xに相当するアドレスだけ前後に調整しておく。このような調整を前提にしてコピーを実行すれば、画素データの座標は、左右方向にシフトすることになる。レイヤ合成部６がレイヤ合成を行う際、PGプレーンを構成するラインメモリと、レイヤ合成部６内のラインメモリとの間で、上記画素データのコピーはなされるので、このコピーの際、上述したようなアドレス調整を行えば、PGプレーンの左右シフトは可能になる。 
【０１８８】
(4-1-8-2)左右シフト部８b 
左右シフト部８bは、GFXプレーンにおける画素データのＸ座標に水平方向のオフセットを与えることで、立体視を実現する。上述したように、OSDを構成する画素データの画面上の座標は、GFXプレーンにおける画素データのラインメモリを指示するROWアドレスと、そのラインメモリにおける記憶素子を指示するCOLUMNアドレスとの組みに対応するので、GFXプレーンにおけるOSDの各画素データの記憶素子を指示するCOLUMNアドレスを、plane_offset_valueに相当するアドレスだけ、増減させれば、画素データの座標を左右方向に変位させることができる。画素データのアドレスシフトは、アドレス調整を伴う画素データのコピー処理によって実現できる。ここで、plane_offset_valueにて指定される画素数Xだけ、画素データのX座標を変更したい場合、画素データのコピー時において、そのコピー先となる記憶素子を指示するCOLUMNアドレスを、画素数Xに相当するアドレスだけ前後に調整しておく。このような調整を前提にしてコピーを実行すれば、画素データの座標は、左右方向にシフトすることになる。レイヤ合成部６がレイヤ合成を行う際、GFXプレーンを構成するラインメモリと、レイヤ合成部６内のラインメモリとの間で、上記画素データのコピーはなされるので、このコピーの際、上述したようなアドレス調整を行えば、GFXプレーンの左右シフトは可能になる。   
【０１８９】
(4-1-9)上下シフト部９ 
上下シフト部９は、ビデオプレーンにおける画素データを上下方向にシフトすることで、ビデオプレーンの上端又は下端に余白領域を設ける。上述したように、ピクチャデータを構成する画素データの画面上の座標は、ビデオプレーンにおけるラインメモリのアドレスと、ラインメモリにおける記憶素子を指示するCOLUMNアドレスとの組みに対応する。よって、ビデオプレーンにおける画素データのラインメモリを指示するROWアドレスを、top_down_offset、bottom_up_offsetに相当するアドレスだけ、シフトさせれば、画素データの座標を上下方向に変位させることができる。画素データのアドレスシフトは、アドレス調整を伴う画素データのコピー処理によって実現できる。ここで、予め定められた画素数Yだけ、画素データのY座標を変更したい場合、画素データのコピー時において、そのコピー先となるラインメモリを指示するROWアドレスを、Yライン上又はYライン下に調整しておく。このような調整を前提にして画素データコピーを実行すれば、画素データのラインメモリを指示するROWアドレスは変更することになり、この変更に伴い、画素データの座標は、上方向又は下方向にシフトすることになる。レイヤ合成部６がレイヤ合成を行う際、ビデオプレーンを構成するラインメモリと、レイヤ合成部６内のラインメモリとの間で、上記画素データのコピーはなされるので、このコピーの際、上述したようなアドレス調整を行えば、ビデオプレーンの上下シフトは可能になる。 
【０１９０】
(4-1-10)多重分離部１０ 
多重分離部１０は、ソースパケットをTSパケットに変換するソースデパケッタイザ、パケットフィルタリングを実行するPIDフィルタを備え、3Dプレイリスト情報の基本ストリーム選択テーブルのストリームエントリーに記述されているパケット識別子を有するソースパケットを、TSパケットに変換した上でデコーダに出力し、3Dプレイリスト情報の立体視ストリーム選択テーブルのストリームエントリーに記述されているパケット識別子を有するソースパケットを、TSパケットに変換した上でデコーダに出力する。基本ストリーム選択テーブルの複数のエントリー及び拡張ストリーム選択テーブルの複数のエントリーのうち、どれのパケット識別子をもちいるかは、プレーヤ状態レジスタのうち、ストリーム番号レジスタの設定に従う。 
【０１９１】
(4-1-11)レジスタセット１１ 
レジスタセット１１は、複数のプレーヤ状態レジスタ、複数のプレーヤ設定レジスタから構成される。個々のプレーヤ状態レジスタ、プレーヤ設定レジスタは何れも語長が３２ビットのレジスタであり、３２ビット長のレジスタのそれぞれにはレジスタ番号が与えられ、このレジスタ番号を用いてアクセスすべきレジスタが特定される。 
【０１９２】
各レジスタの一語(３２ビット)を構成する各ビットデータのビット位置は、b0〜b31と呼ばれる。最上位ビットはb31、最下位ビットはb0と呼ぶ。そして、32ビットのうち、bxビット目のビット位置からbyビット目のビット位置までのビット範囲は、[bx:by]という表記で表現される。 
【０１９３】
所定のレジスタ番号のプレーヤ設定レジスタ／プレーヤ状態レジスタに格納されている32ビット長のビット列であって、任意のビット範囲[bx:by]のものの値は、プログラムが動作を行うにあたっての動作システムの環境変数(システムパラメータ又はプレーヤ変数という)として扱われる。再生制御を行うプログラムは、システムプロパティやアプリケーションプログラミングインターフェイス(API)を通じて、システムパラメータを取得することができる。また、特に禁止されていない限り、これらのプレーヤ状態レジスタ、プレーヤ設定レジスタの値をプログラムは書き換えることができる。オブジェクト指向プログラミング言語ベースのプログラムについては、システムパラメータの取得や書き換えについて正当権限が与えられていることが要件になる。 
【０１９４】
プレーヤ状態レジスタは、再生装置のMPUが算術演算やビット演算を行う際、その被演算子となる数値を格納しておくためのハードウェア資源であり、光ディスクが装填された際に初期値が設定され、またカレントプレイアイテムの変更等、再生装置の状態が変化した際に、その格納値の有効性が判定されるレジスタである。この格納値としては、カレントのタイトル番号、カレントのプレイリスト番号、カレントのプレイアイテム番号、カレントのストリーム番号、カレントのチャプター番号等がある。光ディスクの装填時に初期値が格納されるので、この格納値は一時的なものであり、光ディスクがイジェクトされたり、また再生装置の電源が断たれれば、この格納値は有効性を失う。 
【０１９５】
プレーヤ設定レジスタは、電源対策が施されている点がプレーヤ状態レジスタとは異なる。電源対策が施されているので、再生装置の電源遮断時において、その格納値が不揮発性のメモリに退避され、再生装置の電源投入時において、その格納値が復帰される。再生装置の製造主体(マニファクチャ)が再生装置の出荷時に定めた再生装置の各種コンフィグレーションや、ユーザがセットアップ手順に従い設定した各種コンフィグレーション、そして、再生装置がTVシステムやステレオ、アンプ等のホームシアターシステムの機器と接続された際、接続相手となる機器とのネゴシエーションにより判明した相手側機器のケーパビリティがプレーヤ設定レジスタに設定される。 
【０１９６】
(4-1-12)プレイリスト情報メモリ１２ 
プレイリスト情報メモリ１２は、プレイリスト情報を構成する複数のプレイアイテム情報を格納すると共に、プレイアイテム情報に含まれる基本ストリーム選択テーブルと、拡張ストリーム選択テーブルとを結合することで得られた結合ストリーム登録列を格納する。 
【０１９７】
(4-1-13)プロシージャ実行部１３ 
プロシージャ実行部１３は、基本ストリーム選択テーブル及び拡張ストリーム選択テーブルの結合ストリーム登録情報に対してストリーム選択プロシージャを実行し、カレントの字幕ストリーム番号をレジスタセット１１内のストリーム番号レジスタに書き込む。そして、カレント字幕ストリームにとって最適なレイアウトを決定して、このレイアウトに対応するビデオプレーンのシフトを上下シフト部９に行わせる。字幕レイアウトには通常レイアウト、上端配置レイアウト、下端配置レイアウトがあり、カレント字幕ストリームのレイアウトとして、上端配置レイアウトを採用した場合は、上下シフト部９を制御してビデオプレーンを下方向にシフトさせる。カレント字幕ストリームのレイアウトとして、下端配置レイアウトを採用した場合、上下シフト部９を制御してビデオプレーンを上方向にシフトさせる。 
【０１９８】
(4-1-14)再生制御部１４ 
再生制御部１４は、ビデオストリームの時間軸における任意の時点からのランダムアクセスを実行する。具体的には、ビデオストリームの時間軸における任意の時点からの再生が命じられた場合、3Dストリーム情報ファイルにおける基本エントリーマップと、拡張エントリーマップとを用いて、その任意の時点に対応するアクセスユニットのソースパケット番号をサーチする。かかるアクセスユニットは、ベースビュービデオストリームのビューコンポーネント、及び、ディペンデントビュービデオストリームのビューコンポーネントの組みを含むものであり、上記サーチによって、当該アクセスユニットについてのアクセスユニットデリミターを格納したソースパケットのソースパケット番号が特定される。かかるソースパケット番号からの読み出し、及び、デコードを実行することでランダムアクセスがなされる。3Dプレイリスト再生にあたっては、3Dプレイリスト情報のメインパス情報にて規定されているインタイム、アウトタイムと、サブパス情報にて規定されているインタイム、アウトタイムとを用いて、メインTS、サブTSのそれぞれに対してランダムアクセスを実行することで、プレイリスト再生を開始する。 
【０１９９】
(4-1-15)操作受付部１５ 
操作受付部１５は、リモコンや再生装置１０２のフロントパネルといった入力機器に対してなされたユーザ操作を検知して、通知する。この通知は、これらの入力機器に対応するデバイスドライバ内の割込みハンドラが発生する割込みに従い、UOPを生成することでなされる。UOPとは、リモコンやフロントパネルに設けられたキーマトッリクスでキー押下を検知した際、発生するイベント（UOPイベント）であり、押下されたキーに対応した属性をもつ。具体的には、リモコンやフロントパネルに対応するデバイスドライバの割込みハンドルが、キーマトリックスに対するキーセンスでキー押下を検出した際、そのキー押下に基づき割込み信号を発生することで、UOPイベントは、生成される。 
【０２００】
(4-1-16)OSD処理部１６ 
OSD処理部１６は、操作受付部１５が受け付けた操作に従った処理を再生制御部１４が実行する際、その操作に応じた組込み用GUIを表示して、ユーザによる操作を視覚的にフィードバックし、そのユーザ操作に応じた処理を実行する。本実施形態では、組込み用GUIの一例としてOSDを用いる。 
【０２０１】
ユーザ操作により要求された処理がセットアップ処理であれば、セットアップメニューのOSDを画面に表示して、そのOSDに対する設定操作を受け付ける。その設定操作に従い、レジスタセット１１内のプレーヤ設定レジスタを更新する。再生、停止であれば、そのユーザ操作に従い、再生制御部１４にプレイリスト再生やプレイリスト再生の停止を行わせる。 
【０２０２】
一時停止、早送り、巻戻し、録画、音声選択、字幕選択であればそのユーザ操作が、プレイアイテム情報毎のユーザ操作マスクテーブルにて許可されているかどうかを判定する。許可されている操作がなされた場合、その操作を視覚的に表すOSDを表示し、禁止されている操作がなされた場合、その操作が禁止されている旨を視覚的に示すOSDを表示する。これらのOSDの表示にあたって、字幕デコーダ４が字幕表示に使用している配置レイアウトと同じレイアウトを選択する。 
【０２０３】
以上が再生装置の内部構成についての説明である。 
【０２０４】
(4-2)レジスタセット１１の内部構成 
続いて、レジスタセット１１内に存在するプレーヤ設定レジスタ、プレーヤ状態レジスタのうち、特に重要なものについて説明する。本願明細書で特に使用するのは、レジスタセットにおける２番目のプレーヤ状態レジスタ(PSR2)、２２番目のプレーヤ状態レジスタ(PSR22)である。図１２は、PSR2、PSR22の内部構成を示す図であり、これまでに示した内部構成やデータ構造から特に説明が必要な構成要素を抜き出して、構成要素間の関連を描いたものである 
下側に、多重分離部１０、字幕デコーダ４を示す。上側に、レジスタセット１１内の32ビット長のレジスタであるPSR2、PSR22と、拡張ストリーム選択テーブルを格納したメモリを描いている。図中の矢印Py1,Py2は、多重分離部１０によるPSR2、ストリーム登録情報における上端字幕のストリームエントリー、下端字幕のストリームエントリーの参照を模式的に示す。図中の矢印Py3,Py4,Py5は、字幕デコーダ４による上端配置存否フラグ／下端配置存否フラグの参照と、上シフト／下シフトステータスレジスタの参照と、立体視ステータスレジスタの参照とを模式的に示す。 
【０２０５】
PSR2の[b11:b0]は、ストリーム番号レジスタを構成する。ストリーム番号レジスタは、１〜２５５の値をストリーム番号として格納する。0XFFFを格納することで、字幕非選択状態を示す。 
【０２０６】
PSR22の[b0]は、立体視ステータスレジスタを構成する。立体視ステータスレジスタは、0に設定されることで、2D再生モードであるである旨を示す。1に設定されることで、3D再生モードであるである旨を示す。 
【０２０７】
PSR22の[b2:b1]は、上シフト／下シフトステータスレジスタを構成する。上シフト／下シフトステータスレジスタは、b2,b1が0,0に設定されることで、上シフト、下シフトのケーパビリティが存在しない旨を示す。b2,b1が1,0に設定されることでビデオプレーンの下シフトのケーパビリティが存在する旨を示す。b2,b1が1,1に設定されることでビデオプレーンの上シフトのケーパビリティが存在する旨を示す。 
【０２０８】
(4-3)字幕及びOSDのレイアウト 
字幕のレイアウトと同じものを、OSDのレイアウトとして選択する場合、OSDのXY座標は、字幕のレイアウトから決める必要がある。ここでOSDが取りうる座標のうち、上側座標をY0とし、下側座標をY1とした場合、これらのY0、Y1をどのようにして決定すべきかについて、図１３を参照しながら説明する。 
【０２０９】
図１３（ａ）は、通常レイアウトを示す。本図に示すように、字幕の上端側にはtop_marginの高さの余白が存在する。下端側にはbottom_marginの高さの余白が存在する。かかるレイアウトで動画像を表示する場合、動画像の縦幅は、Frame_Height-(top_margin+bottom_margin)の大きさになる。この場合、OSDのY0、Y1は、下端側余白に確保する。 
【０２１０】
これらのbottom_margin、top_marginの値は、プレイリスト情報におけるプレーン内有効化情報のbottom_marginフィールド、top_marginフィールドに記載されたオフセットを2倍することで得られる値である。 
【０２１１】
図１３（ｂ）は、上端配置レイアウトを示す。この場合、画面の上端側にはtop_down_offsetの余白領域が存在する。Y0、Y1は、この上端側余白の余白領域に確保される。 
【０２１２】
グラフィクスプレーンの座標系において、上側の余白領域は、０からtop_down_offsetまでに存在する。Y0、Y1はこの上端側余白になる。よってY0は、０になり、Y1はtop_down_offsetになる。このtop_down_offsetの値は、プレイリスト情報におけるプレーン内有効化情報のtop_down_offsetフィールドに記載されたオフセットを2倍することで得られる値である。 
【０２１３】
図１３（ｃ）は、下端配置レイアウトを示す。この場合、上端側にはbottom_up_offsetの余白が存在する。グラフィクスプレーンの座標系において、下側の余白領域の上端座標は、bottom_up_offsetに、動画像枠の縦幅であるFrame_Height-(top_margin+bottom_margin)を足し合わせた座標となる。このbottom_up_offsetの値は、プレイリスト情報におけるプレーン内有効化情報のbottom_up_offsetフィールドに記載されたオフセットを2倍することで得られる値である。また下側の余白領域の下端座標は、Frame_Heightとなる。Y0、Y1はこの下端側余白になる。よってY0は、bottom_up_offset+Frame_Height-(top_margin+bottom_margin)になり、Y1はFrame_Heightになる。 
【０２１４】
特に映画作品の映像においては、シネスコサイズ（１：２.３５）のアスペクト比が一般的であり、BD-ROMなどの光ディスクに映像を格納する場合には、アスペクト比は変更せずに本編映像を１６：９のHDTV映像の中央に配置し、図１３（ａ）のように、画面上下に黒枠を挿入することが一般的である。そのため、図１３（ｂ）（ｃ）のレイアウトを採用すれば、映像の上下にある黒枠をビデオプレーンの上又は下に集めた広い字幕表示領域に、字幕を表示することが可能となる。よって画面の利用効率を向上させることができ、立体視効果を向上させることができる。 
【０２１５】
(4-4)ビデオプレーンとのレイヤ合成 
以降、上下方向のシフトがなされたビデオプレーンと、グラフィクスプレーンとのレイヤ合成について説明する。図１４は、下方向シフトがなされたビデオプレーンの内容と、グラフィクスプレーンとのレイヤ合成を示す。 
【０２１６】
本図において、ビデオプレーンは図１３（ｂ）のレイアウトになっており、上端側に余白領域が存在し、Y0=0、Y1＝top_down_offsetに設定されている。図１４（ａ）は、字幕を手前側に見せるためのシフトがなされるケースであり、図１４（ｂ）は、字幕を奥手に見せるためのシフトがなされるケースである。図１４（ａ）、（ｂ）のそれぞれで、奥手側がビデオプレーンであり、手前がグラフィクスプレーンである。ビデオプレーンは、下方向シフトがなされることで、図１４（ｂ）に示すような上端配置レイアウトになっている。（ａ）では、手前側のグラフィクスプレーンに対して、字幕を手前に見せるためのプレーンシフトがなされており、グラフィクスプレーン内の画素のＸ座標に、左右方向のオフセットが作り出されることで、グラフィクスプレーンが手前に見えるようになっている。 
【０２１７】
図１５は、上方向シフトがなされたビデオプレーンの内容と、グラフィクスプレーンとのレイヤ合成を示す。本図において、ビデオプレーンは、図１３（ｃ）のレイアウトになっており、下端側に余白領域が存在し、Y0がbottom_up_offset+Frame_Height-(top_margin+bottom_margin)に設定されている。 
【０２１８】
図１５（ａ）は、字幕を手前側に見せるためのシフトがなされるケースであり、図１５（ｂ）は、字幕を奥手に見せるためのシフトがなされるケースである。図１５（ａ）、（ｂ）のそれぞれで、奥手側がビデオプレーンであり、手前がグラフィクスプレーンである。ビデオプレーンは、上方向シフトがなされることで、図１３（ｂ）に示すような下端配置レイアウトになっている。図１５（ａ）では、手前側のグラフィクスプレーンに対して、字幕を手前に見せるためのプレーンシフトがなされており、グラフィクスプレーン内の画素のＸ座標に、左右方向のオフセットが作り出されることで、グラフィクスプレーンが手前に見えるようになっている。 
【０２１９】
図１６（ａ）は、図１４のレイヤ合成で得られる立体視映像を示す。図１６（ｂ）は、図１５のレイヤ合成で得られる立体視映像を示す。以上がビデオプレーンとのレイヤ合成についての説明である。 
【０２２０】
(4-5)グラフィクスプレーンレイアウトの時間的遷移 
続いて、グラフィクスプレーンレイアウトの時間的遷移の詳細について説明する。図１７は、PGプレーンのレイアウトと、OSDのレイアウトとの時間的な変遷を示す。第１段目は、複数のピクチャと、各ピクチャに合成されたOSDとを示す。第２段目は、プレイアイテム情報#1,#2,#3を示す。第３段目は、各プレイアイテム情報に対応する拡張ストリーム選択テーブルにおけるストリーム登録情報の記述内容を示す。ここで再生装置のストリーム番号レジスタがストリーム番号"=1"に設定されており、プレイアイテム情報#1の拡張ストリーム選択テーブルにおけるストリーム番号"=1"についてのストリーム登録情報が、上端配置存否フラグ"=1"、下端配置存否フラグ"=0"に設定されている場合、PGプレーンのレイアウトは上端配置レイアウトとなる。そうすると、OSDのレイアウトは、上端配置レイアウトとして選択される。 
【０２２１】
プレイアイテム情報#2の拡張ストリーム選択テーブルにおけるストリーム番号"=1"についてのストリーム登録情報が、上端配置存否フラグ"=0"、下端配置存否フラグ"=0"に設定されている場合、PGプレーンのレイアウトは通常レイアウトとなる。そうすると、OSDのレイアウトは、通常レイアウトとして選択される。 
【０２２２】
プレイアイテム情報#3の拡張ストリーム選択テーブルにおけるストリーム番号"=1"についてのストリーム登録情報が、上端配置存否フラグ"=1"、下端配置存否フラグ"=0"に設定されている場合、PGプレーンのレイアウトは上端配置レイアウトとなる。そうすると、OSDのレイアウトは、上端配置レイアウトとして選択される。 
【０２２３】
図１８は、PGプレーンのレイアウトと、OSDのレイアウトとの時間的な変遷を示す。第１段目は、複数のピクチャと、各ピクチャに合成されたOSDとを示す。第２段目は、プレイアイテム情報を示す。第３段目は、各プレイアイテム情報に対応する拡張ストリーム選択テーブルにおけるストリーム登録情報の記述内容を示す。ここで再生装置のストリーム番号レジスタがストリーム番号"=1"に設定されており、プレイアイテム情報#1の拡張ストリーム選択テーブルにおけるストリーム番号"=1"についてのストリーム登録情報が、上端配置存否フラグ"=0"、下端配置存否フラグ"=1"に設定されている場合、PGプレーンのレイアウトは下端配置レイアウトとなる。そうすると、OSDのレイアウトは、下端配置レイアウトとして選択される。 
【０２２４】
プレイアイテム情報#2の拡張ストリーム選択テーブルにおけるストリーム番号"=1"についてのストリーム登録情報が、上端配置存否フラグ"=0"、下端配置存否フラグ"=0"に設定されている場合、PGプレーンのレイアウトは通常レイアウトとなる。そうすると、OSDのレイアウトは、通常レイアウトとして選択される。 
【０２２５】
プレイアイテム情報#3の拡張ストリーム選択テーブルにおけるストリーム番号"=1"についてのストリーム登録情報が、上端配置存否フラグ"=0"、下端配置存否フラグ"=1"に設定されている場合、PGプレーンのレイアウトは下端配置レイアウトとなる。そうすると、OSDのレイアウトは、下端配置レイアウトとして選択される。 
【０２２６】
以上が字幕レイアウト及びOSDレイアウトについての説明である。 
【０２２７】
(4-6)プレイリスト再生の制御手順   
以上の字幕ストリームの選択や字幕表示のためのレイアウト選択は、プレイリストの再生と連動してなされる。字幕ストリーム選択や字幕レイアウトの選択の前提となる、プレイリスト再生の制御手順について説明する。 
【０２２８】
以上の再生制御は、図１９から図２４までのフローチャートに示される処理手順をオブジェクト指向型コンパイラ言語で記述してコンピュータに実行させることで実現することができる。 
【０２２９】
図１９は、プレイリスト再生手順を示す。本フローチャートは、ステップＳ１においてカレントプレイアイテム番号を１に設定した後、ステップＳ２〜ステップＳ６の処理を繰り返すループを構成する。このループでは、Procedure when playback condition is changedによりストリーム番号を決定して(ステップＳ２)、ストリーム番号に対応するESを格納したストリームファイルをオープンしてソースパケット列を読み出し(ステップＳ３)、読み出されたソースパケット列のうち、ストリーム番号に対応しているものの多重分離を指示し(ステップＳ４)、読み出されたソースパケットをプレイアイテムのインタイムからアウトタイムまで、サブプレイアイテムのインタイムからアウトタイムまで再生するようデコーダに命じる(ステップＳ５)という処理を、カレントプレイアイテム番号が最終番号になるまで繰り返すものである。ここで最終番号でなければ(ステップＳ６でNo)、カレントプレイアイテム番号がインクリメントされて、ステップＳ７に移行する。 
【０２３０】
この際、ステップＳ７においてストリーム選択要求があったかどうかを判定し、もし要求があれば、要求されたストリーム番号をxにして、Procedure when stream change is requestedを実行する(ステップＳ８)。最終番号であれば、処理を終了する(ステップＳ６でYes)。 
【０２３１】
(4-7)カレントストリーム及びその再生タイプ決定 
PSR2のPG＿テキスト字幕ストリーム番号によって参照されるPG＿テキスト字幕ストリームは、出力モード（PSR22）、PSR24における立体視PGケーパビリティと、is＿SS＿PGを用いて選択される。 
【０２３２】
図２０は、PGtestSTストリームについてのProcedure when playback condition is changedについての処理手順を示すフローチャートである。本フローチャートのうち、ステップＳ１１〜ステップＳ２２の処理は、立体視モード及び平面視モードの共通処理となる。ステップＳ２３〜ステップＳ２４が、立体視モード特有の処理となる。 
【０２３３】
ステップＳ１１においてPSR2からカレントPG＿テキスト字幕ストリーム番号を取得し、ステップＳ１２において、カレントPG＿テキスト字幕ストリーム番号は、PGストリームについてのものかテキスト字幕ストリームについてのものかを判定する。ステップＳ１３は、カレントPG＿テキスト字幕ストリーム番号に対応するPGストリームが、条件(A)、条件(B)を満たすか否かをチェックする。 
【０２３４】
ここで条件(A),条件(B)は、以下のように規定される。 
【０２３５】
条件(A)：カレントPG＿テキスト字幕ストリーム番号から特定されるPGストリームをデコードする能力が再生装置に存在する。 
【０２３６】
条件(B)：カレントPG＿テキスト字幕ストリーム番号から特定されるPGストリームの言語属性と、再生装置の言語設定とが同一である。 
【０２３７】
一方ステップＳ１４では、カレントPG＿テキスト字幕ストリーム番号に対応するテキスト字幕ストリームが、条件(A)、条件(B)を満たすか否かをチェックするものである。 
【０２３８】
条件(A):カレントPG＿テキスト字幕ストリーム番号のテキスト字幕ストリームのキャラクターコードをビットマップに展開する能力が再生装置に存在すること。かかる再生能力は、レジスタセット２３におけるPSR30に示されている。 
【０２３９】
条件(B):カレントPG＿テキスト字幕ストリーム番号のテキスト字幕ストリームの言語特性をサポートする能力が再生装置に存在すること。 
【０２４０】
ここで、ある言語の字幕がテキスト字幕ストリームで表現されている場合、その言語のテキスト字幕ストリームを、「デコードすることができる」といえるには、その言語における文字コードを、ビットマップに展開する能力と、その言語の特性をサポートするサポート能力とが再生装置側に存在する必要がある。 
【０２４１】
ビットマップ展開について説明する。テキスト字幕からビットマップへの展開能力が再生装置に存在するといえるには、ある言語のテキストコードを、ビットマップに展開できる処理能力が存在する必要がある。世界には、BIG5キャラクターコード,GB2312用のCN-GB符号化方式、GB18030-2000キャラクターコード、KSC5601-1987用のEUC-KR符号化方式、Shift-JISキャラクターコード・符号化方式といった種別が現存する。そして、テキスト字幕ストリームをビットマップに展開することができるかどうかは、対象となるテキスト字幕ストリームのテキストコードが、これらのキャラクタコード・符号化方式のうちどれに該当するかによって異なる。ここで、再生装置の30番目のプレーヤ設定レジスタ(PSR30)には、BIG5キャラクターコード,GB2312用のCN-GB符号化方式、GB18030-2000キャラクターコード、KSC5601-1987用のEUC-KR符号化方式、Shift-JISキャラクターコード・符号化方式のそれぞれについて、テキストコードをビットマップに展開するという処理能力が再生装置に存在するか否かを設定できるようになっている。よって、対象となるテキスト字幕ストリームをデコードすることができるかどうかは、PSR30に示されているキャラクターコード・符号化方式毎の処理能力のうち、そのテキスト字幕ストリームのテキストコードの種別に該当するものを参照することによって判断が可能になる。
【０２４２】
言語特性のサポート能力について説明する。英語、日本語、アラビア語を例にとってみると、英語の字幕表示は、「横書き」,「カーニング」,「合字・抱き字」という機能がサポートされて初めて、言語特性がサポートされていると判断することができる。 
【０２４３】
日本語の字幕表示は、「横書き」,「縦書き」,「行末禁則」,「ルビ」という機能がサポートされて初めて、言語特性がサポートされていると判断することができる。 
【０２４４】
アラビア語の字幕表示は、「右から左の描画」、「合字・抱き字」という機能がサポートされて初めて、言語特性がサポートされていると判断することができる。 
【０２４５】
ある言語のテキスト字幕ストリームをビットマップに展開することができ、その言語の特性をサポートすることができる場合、上記条件(A)、条件(B)は、満たされているということができる。その言語のテキスト字幕ストリームをビットマップに展開することができるが、その言語の特性をサポートすることができない場合、上記条件(B)は満たされず、条件(A)のみが、満たされているということができる。 
【０２４６】
言語毎のサポート能力は、レジスタセットにおけるPSR48〜61の各ビットにおいて、言語毎に設定されている。具体的には、PSR48〜61には、IS0639-2/Tで規定された３バイトの言語コードのそれぞれに対応するフラグが存在しており、これらのフラグに、各言語コードに対応するテキスト字幕の表示能力の有無が設定されている。 
【０２４７】
IS0639-2/Tで規定された３バイトの言語コードにおいて「ita」という3バイトのコードはイタリア語を示し、「jpn」という3バイトのコードは日本語を示す。「jav」という3バイトのコードはジャワ語を示す。IS0639-2/Tで規定された言語コードは、このようは３バイトのコードによって430言語を網羅するから、カレントPG＿テキスト字幕ストリームの決定において、ストリーム番号テーブルに記載されたテキスト字幕ストリームがデコードできるかどうかの判定にあたって、このPSR48〜61におけるフラグを参照する。こうすることで、少数派の言語であっても、デコードできるかどうかを適格に判断可能となる。 
【０２４８】
以上の判定を経た後、ステップＳ１５を実行する。ステップＳ１５は、再生装置は、条件(Z)を満たすか否かを判定するものである 
ここで条件(Z)とは、言語特性のサポートがないアンサポート言語の字幕を、再生することをユーザが意図していることであり、かかる意図は、レジスタセットにおけるPSR30に示されている。 
【０２４９】
その後、ステップＳ１６の判定ステップを実行する。これは、カレントプレイアイテムのストリーム選択テーブルにおけるPG＿テキスト字幕ストリームの本数が=0であるか否かを判定するものである。ストリーム選択テーブルに再生が許可されているPG＿テキスト字幕ストリームが存在しない場合、PSR2におけるPG＿テキスト字幕ストリームの番号を維持する(ステップＳ１７)。 
【０２５０】
カレントストリーム選択テーブルにおいて再生が許可されているPG＿テキスト字幕ストリームが少なくとも1つ存在する場合、ステップＳ１８を実行する。これは、カレントPG＿テキスト字幕ストリーム番号の有効性を問うステップであり、カレントPG＿テキスト字幕ストリーム番号がストリーム選択テーブルにおけるstream＿entryの総数以下であり、且つ、条件(A)、条件(B)を満たすかどうかを判定する。 
【０２５１】
もしステップＳ１８で満たさないと判定されたなら、ステップＳ２０の判定を実行する。これは、カレントPG＿テキスト字幕ストリーム番号がストリーム選択テーブルにおけるstream＿entryの総数以下であり、且つ、条件(A)(Z)を満たすかどうかを判定するものである。もし満たすなら、PSR2には、アンサポート言語のテキスト字幕のPG＿テキスト字幕ストリーム番号が設定されているが、ユーザはアンサポート言語の再生を意図しているので、PSR2を変化させない(ステップＳ２１)。ステップＳ２０において満たさないと判定されたなら、カレントプレイアイテムについて最適なストリームを選択する(ステップＳ２２)。 
【０２５２】
次のステップＳ２３では、PSR22のPG＿テキスト字幕ストリームのストリーム登録情報を、カレントPG＿テキスト字幕ストリームを拡張ストリーム選択テーブルから取得する。その後、ステップＳ２４において、カレントPG＿テキスト字幕ストリームの再生タイプを決定する。 
【０２５３】
以上が、PG＿テキスト字幕ストリームにおけるProcedure when playback condition is changedについての説明である。 
【０２５４】
図２１は、カレントプレイアイテムについて最適なPG＿テキスト字幕ストリームを選択する処理手順を示すフローチャートである。 
【０２５５】
ステップＳ３０において、全てのPG＿テキスト字幕ストリームについて、条件(a)〜条件(c)を満たすかどうかをチェックする。 
【０２５６】
チェック対象となるPGストリームを、PGストリームiとした場合、条件(a)〜条件(c)は、以下のように規定される。 
【０２５７】
条件(a)：PGストリームiをデコードする能力が再生装置に存在する。 
【０２５８】
条件(b):PGストリームiのPG＿language＿codeが、再生装置における言語設定と一致している。ここで、再生装置における言語設定は、レジスタセットにおけるPSR17に示されている。 
【０２５９】
チェック対象となるテキスト字幕ストリームを、テキスト字幕ストリームiとした場合、条件(a)〜条件(c)は、以下のように規定される。 
【０２６０】
条件(a):テキスト字幕ストリームiのキャラクターコードをビットマップに展開する能力が再生装置に存在すること。 
【０２６１】
条件(b):テキスト字幕ストリームiの言語属性をサポートする能力が再生装置に存在すること。 
【０２６２】
条件(c):テキスト字幕ストリームiのtextST＿language＿codeが、再生装置における言語設定と一致していること。   
【０２６３】
以上のチェックを経た後、ステップＳ３１では、再生装置が、前のフローチャートで述べた条件(Z)(：アンサポート言語の再生)を満たすかどうかを判定する。みたさない場合、ステップＳ３２において、条件(a)〜条件(c)を満たすPG＿テキスト字幕ストリームが存在するかを判定する。存在するなら、条件(a)〜条件(c)を満たすPG＿テキスト字幕ストリームのうち、対応するストリームエントリーがストリーム選択テーブルにおいて先頭順位に位置するものを選択して、選択したPG＿テキスト字幕ストリーム番号を、PSR2に設定する(ステップＳ３３)。 
【０２６４】
条件(a)〜条件(c)を満たすPG＿テキスト字幕ストリームが存在しないなら、ステップＳ３４において、より緩和された条件を満たすテキスト字幕ストリームが存在するか否かを判定する。緩和された条件とは、条件(a)、条件(b)を満たすことであり、これを満たすテキスト字幕ストリームが存在するかが、ステップＳ３４で判定される。存在するなら、条件(a)、条件(b)を満たすPG＿テキスト字幕ストリームのうち、対応するストリームエントリーがストリーム選択テーブルにおいて先頭順位に位置するものを選択して、選択したPG＿テキスト字幕ストリーム番号を、PSR2に設定する(ステップＳ３６)。 
【０２６５】
存在しないなら、0xFFFであるPG＿テキスト字幕ストリーム番号をPSR2に設定する(ステップＳ３５)。ステップＳ３１において、条件(Z)を満たすと判定されたなら、ステップＳ３７において、別の緩和された条件を満たすPG＿テキスト字幕ストリームが存在するかを判定する。別の緩和された条件とは、条件(a)、条件(c)を満たすものであり、ステップＳ３７では、これらを満たすPG＿テキスト字幕ストリームが存在するか否かが判定される。
【０２６６】
もし存在するなら、条件(a)、条件(c)を満たすPG＿テキスト字幕ストリームのうち、対応するストリームエントリーがストリーム選択テーブルの最初に位置するものを選択して、選択したもののPG＿テキスト字幕ストリーム番号を、PSR2に設定する(ステップＳ３８)。 
【０２６７】
存在しない場合、ステップＳ３９において、条件(a)を満たすPG＿テキスト字幕ストリームが存在するかを判定する。存在する場合、条件(a)を満たすPG＿テキスト字幕ストリームのうち、対応するストリームエントリーがストリーム選択テーブルにおいて先頭順位に位置するものを選択して、選択したもののPG＿テキスト字幕ストリーム番号を、PSR2に設定する(ステップＳ４０)。存在しない場合、0xFFFをPSR2に設定する(ステップＳ３５)。 
【０２６８】
以上が、最適なPG＿テキスト字幕ストリームの選択手順についての説明である。 
【０２６９】
(4-8)ストリーム変化が要求された際の手順 
図２２は、セット立体視ストリームコマンド(SetstreamSSCommand)によってストリーム変化が要求された場合に実行すべきProcedure when stream change is requestedの処理手順を示すフローチャートである。 
【０２７０】
ステップＳ４１では、セット立体視ストリームコマンドにおいて、オペランドで指定された番号Xは、PGストリームについてのストリーム番号を意味するか、テキスト字幕ストリームについてのストリーム番号を意味するかを判定する。ステップＳ４２は、番号Xに対応するPGストリーム(PGx)が、以下の条件(A)、条件(B)を満たすか否かをチェックする。 
【０２７１】
条件(A)：番号Xから特定されるPGストリームをデコードする能力が再生装置に存在すること。 
【０２７２】
条件(B)：特定されたPGストリームの属性となる言語が、再生装置の言語設定に一致すること。 
【０２７３】
ステップＳ４３は、番号Xに対応するテキスト字幕ストリーム(textSTx)が、以下の条件(A)、条件(B)を満たすか否かをチェックする。 
【０２７４】
条件(A):番号Xに対応するテキスト字幕ストリームXのキャラクターコードをビットマップに展開する能力が再生装置に存在すること。 
【０２７５】
条件(B):番号Xに対応するテキスト字幕ストリームXの言語属性をサポートする能力が再生装置に存在すること。 
【０２７６】
ステップＳ４４では、再生装置は、条件(Z)を満たすか否かをチェックし、ステップＳ４５の判定を行う。この判定は、番号がストリーム選択テーブルにおけるstream＿entryの総数以下であり、且つ、条件(A)(B)を満たすかどうかを判定する。もし満たすなら、番号XにあたるPG＿テキスト字幕ストリーム番号のPG＿テキスト字幕ストリームを選択して、PSR2に設定する(ステップＳ４６)。 
【０２７７】
ステップＳ４５において満たさないと判定されたなら、ステップＳ４７の判定を実行する。この判定は、番号がストリーム選択テーブルにおけるstream＿entryの総数以下であり、且つ、条件(A)(Z)を満たすかどうかを判定するものである。満たすなら、番号XにあたるPG＿テキスト字幕ストリームを選択して、そのPG＿テキスト字幕ストリーム番号をPSR2に設定する(ステップＳ４８)。 
【０２７８】
満たさないなら、ステップＳ４９の判定を行う。この判定は、番号Xが、0xFFFであるか否かを判定するものである。そうでないなら、ストリーム選択テーブルに再生が許可されているPG＿テキスト字幕ストリームが存在しないとして、PSR2の値を維持する(ステップＳ５０)。 
【０２７９】
0xFFFであるなら、カレントプレイアイテムについて最適なPG＿テキスト字幕ストリームを選択する(ステップＳ５１)。この最適なPG＿テキスト字幕ストリームの選択は、図２３に示したものと同じである。 
【０２８０】
以降のステップＳ５２〜ステップＳ５５は立体視モード特有の処理である。具体的には、PGストリーム番号Xによって特定されるPGストリームXのis＿SS＿PGを拡張ストリーム選択テーブルにおけるストリーム登録情報から取得する(ステップＳ２３)。 
【０２８１】
図２３は、セットストリームコマンド、又は、ストリーム番号変更を要求するユーザ操作によってストリーム変化が要求された場合に実行すべきProcedure when stream change is requestedの処理手順を示すフローチャートである。本フローチャートでは、ステップＳ５６において、セットストリームコマンドのオペランドで指定されたストリーム番号、又は、ストリーム番号変更を要求するユーザ操作で指定されたストリーム番号を番号Xに設定した上で、ステップＳ４１〜ステップＳ５０、Ｓ２３、Ｓ２４の処理を実行する。このステップＳ４１〜ステップＳ５０、Ｓ２３、Ｓ２４の処理内容は、図２２と同一のものであるから、同一の参照符号を付してその説明を省略する。 
【０２８２】
(4-9)カレント字幕ストリームの再生タイプ決定 
以上のストリーム選択プロシージャの処理手順において、カレント字幕ストリームの再生タイプは、再生装置における字幕表示のケーパビリティと、プレイリスト情報におけるプレイアイテム情報毎の拡張ストリーム選択テーブルの内容とに応じて決定にする必要がある。図２０〜図２３のサブルーチンとして、カレント字幕ストリームの再生タイプ決定の処理手順を示したのが、図２４のフローチャートである。 
【０２８３】
図２４は、カレントストリームタイプの再生タイプ決定の処理手順を示すフローチャートである。本フローチャートは、ステップＳ６２、ステップＳ６３、ステップＳ６４の判定ステップにおける判定結果の組合せに応じて、ステップＳ６５〜ステップＳ６７、ステップＳ６８〜ステップＳ７０、ステップＳ７２、Ｓ７３、ステップＳ７１の何れかに、処理を分岐させる構造になっている。ステップＳ６２は、カレント字幕ストリーム番号に対応する上端配置存否フラグがオンに設定されていて、ビデオプレーンの下シフトケーパビリティフラグにおいて、"ケーパビリティ有り"と示されているかどうかの判定であり、このステップＳ６２がYesであれば、ステップＳ６５においてカレント字幕の再生タイプを、上端配置レイアウトの再生タイプとし、ステップＳ６６において、ビデオプレーンをtop_down_offsetだけ下にシフトする。 
【０２８４】
ステップＳ６７では、拡張ストリーム選択テーブルにおける複数のストリーム登録情報のうち、PSR2に格納されたカレントストリームのストリーム番号に対応するものの上端字幕オフセットシーケンスIDレファレンス情報で指示されているオフセットシーケンスを用いたプレーンシフトをグラフィクスプレーンで実行する。つまり、オフセットシーケンスのoffset_directionに示される方向に、オフセットシーケンスのoffset_valueに示される画素数だけ、PGプレーン及びGFXプレーンの画素を左方向又は右方向にシフトさせる。 
【０２８５】
ステップＳ６３は、ステップＳ６２がNoであることを前提にして実行されるステップである。つまり、ステップＳ６３は、カレント字幕ストリーム番号に対応する下端配置存否フラグがオンに設定されていて、上シフトケーパビリティフラグが存在するかどうかの判定であり、このステップＳ６３がYesであれば、ステップＳ６８においてカレント字幕の再生タイプを、下端配置レイアウトの再生タイプとし、ステップＳ６９において、ビデオプレーンをbottom_up_offsetだけ上にシフトする。ステップＳ７０では、拡張ストリーム選択テーブルにおける複数のストリーム登録情報のうち、PSR2に格納されたカレントストリームのストリーム番号に対応するものの下端字幕オフセットシーケンスIDレファレンス情報で指示されているオフセットシーケンスを用いたプレーンシフトをグラフィクスプレーン上で実行する。 
【０２８６】
ステップＳ６４は、カレント字幕ストリーム番号に対応する立体視存否フラグがオンに設定されており、かつ、PSR24におけるb2の立体視PGケーパビリティが"1"であるか否かを判定する。ステップＳ６４がYesであれば、カレント字幕ストリームの再生タイプを左目PGストリーム及び右目PGストリームを用いる立体視PGとする(ステップＳ７１)。 
【０２８７】
再生タイプを立体視PGとした場合、拡張ストリーム選択テーブルにおける複数のストリーム登録情報のうち、PSR2に格納されたカレントストリームのストリーム番号に対応するものの右目ストリームエントリー及び左目ストリームエントリー内のパケット識別子レファレンスを用いて、立体視再生を行う。具体的には、PSR2に格納されたカレントストリームのストリーム番号に対応するものの右目ストリームエントリー及び左目ストリームエントリー内のパケット識別子レファレンスで指示されているパケット識別子のTSパケットの多重分離を多重分離部に行わせる。 
【０２８８】
ステップＳ６４がNoであれば、再生タイプを1plane＋Offsetとする(ステップＳ７２)。ステップＳ７３では、拡張ストリーム選択テーブルにおける複数のストリーム登録情報のうち、PSR2に格納されたカレントストリームのストリーム番号に対応するもののPG＿テキスト字幕オフセットシーケンスIDレファレンス情報で指示されているオフセットシーケンスを用いたプレーンシフトをグラフィクスプレーンで実行する。 
【０２８９】
ステップＳ６７、ステップＳ７０、ステップＳ７３において、これらのプレーンシフト方向情報、プレーンオフセット値に基づく左右方向のシフトを左右シフト部８に実行させるので、字幕の飛出し量・引っ込み量は、ベースビュービデオストリームの時間軸におけるGOPの個々のフレーム期間において、最適なものになる。 
【０２９０】
以上がカレント字幕ストリームの再生タイプ決定についての説明である。これまでの説明は、プレイリスト情報に基づく再生処理の説明が中心であったが、これ以降は、OSD描画部の詳細の説明となる。 
【０２９１】
(5-1)OSDの類型 
次に、OSD処理部１６によって描画されるOSDの類型を示す。 
【０２９２】
図２５（ａ）は、タイトル名、チャプター名、再生経過時刻の表示ガイダンスを示す。以降で使用する画面例では、タイトル名をTxと表記し、チャプター名をCxとして表記し、再生経過時刻をXX:YY:ZZと表記する。 
【０２９３】
同図（ｂ）は、ユーザ操作に対する視覚フィードバックのためのOSDを示す。再生マークmk1、ポーズマークmk2、早送りマークmk3、巻戻しマークmk4、録画マークmk5は、何れも、ユーザが該当する操作を行った場合、これらの操作が再生装置によって受理されたことを視覚的にフィールドするものである。禁止マークmk6は、上述したような操作のうち、禁止されているものをユーザが行った場合、その禁止の旨をユーザにフィードバックするためのものである。EGマークmk7は、英語字幕への選択が要求されたことを視覚的にフィードバックする。JPマークmk8は、日本語字幕への選択が要求されたことを視覚的にフィードバックする。 
【０２９４】
同図（ｃ）は、メニューコールをした場合に表示されるメニューOSDを示す。音声のボタン部材、字幕のボタン部材、リピート再生のボタン部材から構成され、音声のボタン部材については、日本語、英語などの言語種を設定できるようになっている。字幕についてのボタン部材については、日本語、英語などの言語種を設定できるようになっている。リピート再生のボタン部材については、リピート再生をチャプター単位で行うか、タイトル単位で行うかを具体的に設定できるようになっている。かかるメニューOSDは、表示時間の制限がなく、ユーザによってメニューコールがなされれば、ユーザによってメニューを閉じる操作がない限り、メニューは表示されたままになる。 
【０２９５】
同図（ｄ）は、OSDを格納したGFXプレーンと、字幕を格納したPGプレーン、ビデオプレーンとのレイヤ合成を示す。OSDを格納したGFXプレーンは、一番手前側になるように、レイヤ合成に供される。 
【０２９６】
以上がOSD処理部１６によって表示されるOSDの類型である。 
【０２９７】
(5-2)OSD処理部１６におけるソフトウェアのレイヤ階層 
次に、ソフトウェアのレイヤ階層の観点から、OSD処理部１６について説明する。図２６（ａ）は、OSD処理部１６におけるソフトウェアのレイヤ階層を示す図である。本図に示すように、OSD処理部１６は、OSD情報のデータベース１８と、メニューコールに応じてOSDのメニューを表示しユーザ操作を受け付けて、そのユーザ操作を処理するプログラム１９と、OSD情報の検索要求を受け付けて、OSD情報データベースを検索し、検索要求に合致するOSD情報を表示するOSD表示プログラム２０とから構成される。 
【０２９８】
(5-3)OSD処理部１６の機能ブロック 
これらOSD処理部１６を構成するプログラムは、再生装置内のフラッシュROMに格納され、CPUによって読み出されて実行に供される。このプログラムを構成する様々な実行モジュールを機能的な構成要素として捉えて、機能的な側面から、OSD処理部１６の内部構成を描いたのが図２６（ｂ）のブロック図である。以降、このブロック図を参照しながら、OSD処理部１６の機能的な構成要素について説明する。 
【０２９９】
本図に示すようにOSD処理部１６は、機能的にOSDレイアウト選択部２１、OSD深度調整部２２、特殊字幕判定部２３、余白領域検出部２４、OSD配置決定部２５、縮小部２６から構成される。 
【０３００】
(5-3-1)OSDレイアウト選択部２１ 
OSDレイアウト選択部２１は、字幕のレイアウトとして上端配置レイアウト又は下端配置レイアウトが選択されれば、同じレイアウトを機器組込みのGUIのレイアウトとして選択する。ここで、字幕のレイアウトが上端配置レイアウト、下端配置レイアウト、通常レイアウトのうちどれであるかは、拡張ストリーム選択テーブルの上端配置存否フラグ、下端配置存否フラグと、PSR２２における上端配置ステータスフラグ、下端配置ステータスフラグを参照することでなされる。 
【０３０１】
(5-3-2)OSD深度調整部２２ 
OSD深度調整部２２は、機器組込みのGUIを1plane＋Offsetモードで表示させるにあたって、機器組込みのGUIの深度を調整する。このOSD深度調整部２２による調整は、PGストリーム、テキスト字幕ストリームを1plane＋Offsetモードで再生する場合の水平方向のオフセットやシフト方向を、機器組込みのGUIを1plane＋Offsetモードで表示させる場合の水平方向のオフセットとして採用する。つまりOSD深度調整部２２は、字幕を1plane＋Offsetモードで表示する場合に、ベースビュービデオストリーム及びディペンデントビューストリームの個々のGOPの個々のフレーム期間毎に定義されているオフセットシーケンスであって、図２４の再生タイプ決定で選択されたものの制御パラメータに基づいて、機器組込みのGUIを1plane＋Offsetモードで表示させる場合における、各フレーム期間毎のシフト方向(offset_direction)と、シフト量(offset_value)とを定める。このように定めたシフト方向、シフト量で、GFXプレーンにおけるプレーンシフトを左右シフト部８bに実行させる。こうすることでGFXプレーンにおけるOSDは、字幕と同じ方向及び同じ量だけ、立体的に再生されることになる。 
【０３０２】
(5-3-3)特殊字幕判定部２３ 
特殊字幕判定部２３は、再生対象となるカレント字幕ストリームが、文字数が通常の字幕よりも多い特殊字幕であるか否かを判定する。特殊字幕判定部２３による判定は、同じ言語属性の2以上の字幕ストリームであって、その優先順位が、ストリーム選択テーブルにおいて２番目以下に設定されているものを、特殊な字幕のための字幕ストリームであると判定することでなされる。 
【０３０３】
(5-3-4)余白領域検出部２４ 
余白領域検出部２４は、上端配置レイアウト又は下端配置レイアウトにおいて、カレントの字幕ストリームがテキスト字幕ストリームである場合、画面の上端又は下端に確保された字幕領域の余白領域を検出する。上端配置レイアウト又は下端配置レイアウトにおける字幕領域における字幕の配置は、右寄り、左寄り、中央寄せの何れであり、余白領域検出部２４による余白領域の検出は、字幕領域における字幕の配置と、字幕の文字数とに基づいてなされる。 
【０３０４】
(5-3-5)OSD配置決定部２５ 
OSD配置決定部２５は、機器組込みのGUIであるOSDの配置を決定する。ここで、字幕ストリームが特殊な字幕であると判定した場合、余白領域検出部２４により余白領域が検出されるので、機器組込みのGUIの配置位置は、余白領域検出部２４により検出された余白領域内となる。 
【０３０５】
(5-3-6)縮小部２６ 
縮小部２６は、字幕領域に表示すべき機器組込みのGUIを縮小する。 
【０３０６】
以上がOSD処理部１６についての説明である。 
【０３０７】
(5-4)OSD情報 
続いて、これらのOSDを定義するための情報(OSD情報)の詳細について説明する。図２５に示したOSDは、何れも図２７（ａ）に示すような共通の具体的なデータ構造をもつOSD情報によって定義される。この共通のデータ構造について説明する。 
【０３０８】
図２７（ａ）は、OSD情報の共通のデータ構造を示す。 
【０３０９】
本図に示すように、ID、output position、output size、minimum scalling size、output_duration、output_dataから構成される。 
【０３１０】
IDは、個々のOSDに付与された番号である。output positionは、GFXプレーンにおけるOSDの配置座標(x,y)を示す。output sizeは、GFXプレーンにおけるwidth、heightを示す。minimum scalling sizeは、GFXプレーンにOSDを配置する場合において、最小となるOSDサイズを示す。output_durationは、ビデオストリームの時間軸において、OSDの表示をどれだけ継続させるかを示す。output_dataは、OSDの画像を表す画像ビットマップ、テキストである。 
【０３１１】
(5-5)OSDデータベース 
図２５における様々なOSDは、図２７（ａ）における共通のデータ構造で定義されて、再生装置において、データベースを構築する。 
【０３１２】
図２７（ｂ）は、OSDデータベースと、GFXプレーンとの対応を示す。データベースには、上述したような共通のデータ構造で定義されるOSD情報から構築されており、このデータベースにおけるOSD情報は、番号の指定によって、呼び出すことができる。そして、呼び出されたOSD情報のoutput_positionにおいて、OSDは、OSD情報のwidth、heightに示される大きさで表示されることになる。以上が、OSDを実現するためのOSD情報と、このOSD情報によって再生装置内に構築されるデータベースについての説明である。 
【０３１３】
(5-6)OSD処理部１６における処理手順 
続いて、OSD処理部１６の処理手順の詳細について説明する。OSD処理部１６の処理としては、ユーザ操作による要求に応じて要求された処理を実行するかどうかを判定し、要求された処理の実行が禁止されていなければ、視覚的なフィードバックを行い、その処理を実行し、要求された処理の実行が禁止されていれば、かかる処理が禁止されている旨をユーザに視覚的にフィードバックするというものである。 
【０３１４】
上述した2つのプログラムによる処理手順のうち、ユーザ操作に応じた処理の処理手順、及び、OSD表示の処理手順を示したのが、図２８のフローチャート、図２９のフローチャートである。
【０３１５】
(5-6-1)ユーザ操作に応じた処理 
図２８は、ユーザ操作に応じた処理の処理手順を示すフローチャートである。ステップＳ７１は、再生開始待ちのステップであり、再生装置の起動時において、かかるループを繰り返すことになる。再生が開始されれば、再生マークのOSDを一定期間だけ表示して(ステップＳ７２)、ステップＳ７３、ステップＳ７４、ステップＳ７５の判定ステップから構成される判定ステップ列に移行する。 
【０３１６】
ステップＳ７３は、早送り／巻戻し／一時停止／音声・字幕切替が要求されたかどうかの判定、ステップＳ７４は、タイトル／チャプター／時刻表示の表示操作がなされたかどうかの判定、ステップＳ７５は、停止操作がなされたかどうかの判定である。早送り／巻戻し／一時停止／音声・字幕切替が要求された場合、ステップＳ７３がYesになりステップＳ７８に移行する。ステップＳ７８は、指定された操作がユーザ操作マスクテーブルで禁止されているかどうかの判定であり、禁止されている場合、ステップＳ７９において禁止マークのOSD表示を行った後、ステップＳ７３〜ステップＳ７５のループに戻る。 
【０３１７】
禁止されていない場合、ステップＳ８０において、早送り／巻戻し／一時停止／音声・字幕切替えのOSD表示を行い、ステップＳ８１において、UOPに対応する処理を行う。 
【０３１８】
ステップＳ７４においてYesと判定された場合、ステップＳ７７に移行する。ステップＳ７７は、タイトル／チャプター／時刻のOSD表示を行い、ステップＳ７３〜ステップＳ７５のループに戻る。 
【０３１９】
(5-6-2)OSD表示の処理手順 
図２９は、OSD表示の処理手順を示すフローチャートである。ステップＳ８２において、表示すべきOSDの識別でOSDデータベースを検索してOSD情報を得て、ステップＳ８３において字幕レイアウトを判定する。ステップＳ８４では、カレントの字幕レイアウトのY0〜Y1から余白領域を検出し、ステップＳ８６において、現在選択されているカレントのPG＿テキスト字幕ストリームが、通常の字幕であるか、文字数が多い特殊な字幕であるかの判定を行う。特殊な字幕には、聴覚障害者用字幕(SDH:Subtitle for Defect Hearing)や、映画監督のコメンタリが存在する。説明の簡略化を図るため、「文字数が多い特殊な字幕」は、特に断らない限り、SDHであるものとする。ステップＳ８７では、OSDの配置について、配置位置や配置方法の選択を行い、ステップＳ８５において、OSD描画可能な(X0,Y0)〜(X1,Y1)からOSD情報のx,y,height,width、倍率、サイズ、表示時間を設定する。そしてステップＳ８９において、指定されたIDのOSDを、GFXプレーンにレンダリングする。 
【０３２０】
字幕のレイアウトは、図１３（ａ）〜（ｃ）の通常レイアウト、上端レイアウト、下端レイアウトに示した3通りのものがあり、これらの何れがカレント字幕ストリームのレイアウトとして設定されるかを判定せねばならない。このカレント字幕ストリームのレイアウト判定の処理手順は、図３０のフローチャートに示されるものとなる。 
【０３２１】
(5-7)OSDのレイアウト選択 
図３０は、OSDレイアウト選択の処理手順を示すフローチャートである。図２６（ｂ）に示したOSDレイアウト選択部２１の実体は、この図３０におけるサブルーチンとなる。 
【０３２２】
本フローチャートに示される処理手順は、サブルーチン化されたものであり、サブルーチンコール時において、1つ以上の引数を受け付けた上で本フローチャートに示される処理を実行し、当該処理の実行後、戻り値を返す。ステップＳ９１においてPSR22を取得して、ステップＳ９２、ステップＳ９３の判定に移行する。ステップＳ９２は、PSR22における表示状態の判定であり、2Dなら、ステップＳ９４において通常レイアウトに設定する。3Dなら、ステップＳ９３の判定を行う。 
【０３２３】
ステップＳ９３は、字幕レイアウトの判定であり、ビデオプレーンのシフトケーパビリティを示すPSR22のb2-b1が00ならば、ステップＳ９４において通常レイアウトとする。PSR22のb2-b1が11ならば、ステップＳ９５において下端配置レイアウトとする。PSR22のb2-b1が10ならばステップＳ９６において上端配置レイアウトとする。 
【０３２４】
字幕レイアウトには、上述したような3つのタイプがあり、またそれぞれのレイアウトにおいて字幕領域の上側Y座標であるY0、下側Y座標であるY1は変化する。 
【０３２５】
(5-8)余白領域の検出手順 
字幕のレイアウトがカレント字幕ストリーム毎に変化するのと同様に、カレント字幕のレイアウトにおいて、画面上の余白の位置も、カレント字幕ストリーム毎に変化する。字幕ストリームのレイアウトにおいて、OSDの配置に適した余白領域が何処に存在するかの検出手順を規定したのが、図３１のフローチャートである。図２６（ｂ）に示した余白領域検出部２４の実体は、この図３１におけるサブルーチンとなる。 
【０３２６】
図３１は、余白領域の検出手順を示すフローチャートである。本フローチャートに示される処理手順は、サブルーチン化されたものであり、サブルーチンコール時において、1つ以上の引数を受け付けた上で本フローチャートに示される処理を実行し、当該処理の実行後、戻り値を返す。本サブルーチンの第１引数は、再生されている字幕レイアウト、第２引数は、再生されている3D映像の基本サイズ、第３引数は、字幕種別である。戻り値は、OSD描画可能な余白情報(領域、位置、字幕種別)である。ステップＳ１０１は、字幕レイアウトの判定であり、字幕レイアウトが上端配置レイアウトならば、ステップＳ１０２において、Y0"=0"からY1=top_down_offsetの範囲を字幕領域とする。通常レイアウトであるなら、ステップＳ１０３においてY0＝Frame_Height−bottom_marginからY1＝Frame_Heightの範囲までを字幕領域とする。上端配置レイアウトであるなら、ステップＳ１０４においてY0＝bottom_up_offset＋（Frame_Heightーtop_margin＋bottom_margin）からY1＝Frame_Heightまでの範囲を字幕領域とする。ステップＳ１０５は、字幕種別の判定であり、字幕種別がテキスト字幕ストリームであるなら、テキスト字幕ストリームの余白検出を行い、その余白座標を、OSD配置のX座標であるX0として確定する(ステップＳ１０６)。
【０３２７】
PGであるならステップＳ１０６をスキップする。ステップＳ１０７では、X1をFrame_Widthとして、X0,Y0,X1,Y1をOSD配置可能な領域(x0,y0)〜(x1,y1)とする。 
【０３２８】
以上のように本実施形態によれば、字幕のレイアウトが上端配置レイアウト、下端配置レイアウトに変化した場合、字幕のレイアウトと同じものを機器組込みのGUIのレイアウトとして選択するので、機器組込みのGUIと字幕とが同じ表示領域に配置されることになり、機器組込みのGUIのみが動画像と重複するような位置に配置されることはない。 
【０３２９】
(第２実施形態) 
第２実施形態では、字幕デコーダと、この字幕デコーダのデコードの対象となるストリームの内部構成について説明する。 
【０３３０】
PGストリームにおけるデコーダの構成は、1plane＋Offset方式を採用する場合、１デコーダ＋１プレーン構成になる。3D-立体視モードを採用する場合、２デコーダ＋２プレーン構成になる。 
【０３３１】
テキスト字幕ストリームにおけるデコーダ構成では3D-立体視モードが存在せず、1plane＋Offsetモードである場合、１デコーダ＋１プレーン構成になる。 
【０３３２】
始めに、PGストリームの内部構成と、PGストリームをデコードする字幕デコーダであるPGデコーダの内部構成とについて説明する。 
【０３３３】
(6)PGストリームの内部構成 
左目用PGストリーム、右目用PGストリームは、何れも複数のディスプレイセットを含む。ディスプレイセットとは、一個の画面表示を構成する機能セグメントの集まりのことである。機能セグメントは、約2KバイトのPESパケットのペイロードに格納されてデコーダに供給され、DTS、PTSを用いて、再生制御がなされる処理単位のことである。 
【０３３４】
各ディスプレイセットは、複数の機能セグメントを含む。この複数の機能セグメントには以下のものがある。 
【０３３５】
(6-1)オブジェクト定義セグメント 
オブジェクト定義セグメントは、グラフィクスオブジェクトを定義する機能セグメントである。グラフィクス定義セグメントは、コード値と、そのコード値のランレングスとを用いることで、グラフィクスオブジェクトを定義している。 
【０３３６】
(6-2)パレット定義セグメント 
パレット定義セグメントは、各コード値と、輝度、赤色差・青色差との対応関係を示したパレットデータを含む。左目用グラフィクスストリームのパレット定義セグメントと、右目用グラフィクスストリームのパレット定義セグメントとでは、コード値と、輝度及び色差との対応関係が同一の内容に設定されている。 
【０３３７】
(6-3)ウィンドゥ定義セグメント 
ウィンドゥ定義セグメントは、非圧縮のグラフィクスオブジェクトを画面上に展開するためのプレーンメモリにおいて、ウィンドゥと呼ばれる矩形枠を定義する機能セグメントである。グラフィクスオブジェクトの描画は、このプレーンメモリの内部で制限されており、このウィンドゥの外部では、グラフィクスオブジェクトの描画は行えない。 
【０３３８】
プレーンメモリの一部をグラフィクスの表示のためのウィンドゥとして指定するので、再生装置は、プレーン全体のグラフィクス描画を行う必要はない。ある限られた大きさのウィンドゥに対してのみ、グラフィクス描画を行えばよい。表示用の平面のうち、ウィンドゥ以外の部分の描画を省くことができるので、再生装置側のソフトウェアの負担は遥かに軽くなる。 
【０３３９】
(6-4)画面構成セグメント 
画面構成セグメントは、グラフィクスオブジェクトを用いた画面構成を規定する機能セグメントであり、グラフィクスデコーダにおけるコンポジションコントローラに対する複数の制御項目を含む。画面構成セグメントは、グラフィクスストリームにおけるディスプレイセットの詳細を規定すると共に、グラフィクスオブジェクトを用いた画面構成を規定する機能セグメントである。かかる画面構成には、Cut-In/Out、Fade-In/Out、Color  Change、Scroll、Wipe-In/Outといったものがあり、画面構成セグメントによる画面構成を伴うことにより、ある字幕を徐々に消去しつつ、次の字幕を表示させるという表示効果が実現可能になる。 
【０３４０】
(6-5)エンドセグメント 
1つのディスプレイセットに属する複数の機能セグメントの最後尾に位置する機能セグメントである。再生装置は、画面構成セグメントからこのエンドセグメントまでが、1つのディスプレイセットを構成する機能セグメントであるとして解釈する。 
【０３４１】
PGストリームにおいてディスプレイセットの開始時点は、画面構成セグメントを格納したPESパケットのDTSによって特定され、ディスプレイセットの終了時点は、画面構成セグメントを格納したPESパケットのPTSによって特定される。 
【０３４２】
左目用グラフィクスストリーム及び右目用グラフィクスストリームは、パケッタイズドエレメンタリストリーム(PES)であり、画面構成セグメントは、PESパケットに格納され、画面構成セグメントを格納したPESパケットのPTSは、画面構成セグメントが属するディスプレイセットによる表示を何時実行するかを示す。
【０３４３】
画面構成セグメントを格納したPESパケットのPTSの値は、左目用ビデオストリームと、右目用ビデオストリームとで同一の内容になっている。 
【０３４４】
(6-2)PGデコーダのデコーダモデル 
PGデコーダは、PGストリームから読み出される機能セグメントを格納する「コーデッドデータバッファ」と、画面構成セグメントをデコードしてグラフィクスオブジェクトを得る「ストリームグラフィクスプロセッサ」と、デコードにより得られたグラフィクスオブジェクトを格納する「オブジェクトバッファ」と、画面構成セグメントを格納する「コンポジションバッファ」と、コンポジションバッファに格納された画面構成セグメントを解読して、これらの画面構成セグメントにおける制御項目に基づき、オブジェクトバッファに得られたグラフィクスオブジェクトを用いてグラフィクスプレーン上で画面構成を行う「コンポジションコントローラ」とを含む。 
【０３４５】
このグラフィクスプレーンの前段には、機能セグメントを構成するTSパケットの入力速度を調整するためのトランスポートバッファが存在する。 
【０３４６】
グラフィクスデコーダの後段には、グラフィクスプレーンと、パレット定義セグメントに基づいて、グラフィクスプレーンに格納されたグラフィクスオブジェクトを構成する画素コードを、輝度・色差に変換するCLUT部と、プレーンシフトのためのシフト部とが存在する。 
【０３４７】
PGストリームにおけるパイプラインは、グラフィクスデコーダあるディスプレイセットに属するオブジェクト定義セグメントをデコードしてグラフィクスオブジェクトをオブジェクトバッファに書き込む処理と、先行するディスプレイセットに属するオブジェクト定義セグメントをデコードすることにより得られたグラフィクスオブジェクトをオブジェクトバッファからプレーンメモリに書き込む処理とを同時に実行することでなされる。 
【０３４８】
図３２は、PGデコーダの内部構成を示す。同図（ａ）は、1plane＋Offsetモード方式で表示するためのデコーダモデルである。同図（ｂ）は、立体視モードのデータを表示する場合のデコーダモデルである。 
【０３４９】
本図において、PGデコーダの本体にあたる部分は黒枠で囲こみ、PGデコーダ後段にあたる部分は一点鎖線で囲っている。 
【０３５０】
同図（ａ）では、PGデコーダは１デコーダ構成になっており、グラフィクスプレーンも1プレーン構成になっている。しかしグラフィクスプレーンの出力が、左目用、右目用のそれぞれに別れていて、個々の左目用出力、右目用出力に対して、シフト部が付加される。 
【０３５１】
同図（ｂ）では、トランスポートバッファ−PGデコーダ−グラフィクスプレーン−CLUT部が2組み存在していて、左目用ストリーム、右目用ストリームをそれぞれ独立に処理することができる。 
【０３５２】
オフセットシーケンスは右目用ビデオストリームに含まれているので、プレーンオフセット形式では、PGデコーダは１デコーダ構成になり、この1つのPGデコーダの出力が、左目用と右目用とに切り替えられる。 
【０３５３】
PGデコーダの2D/3D切り替え時の動作は以下の通りである。 
【０３５４】
１.1plane＋Offsetモードと平面視モードとの相互切り替え時は、シームレスに切り替えられる。これは、Offsetを無効化することでなされる。 
【０３５５】
２.立体視モードと、平面視モードとでは、PID切り替えが伴うため、一端字幕が消える。これはストリーム切り替えと同じである。 
【０３５６】
以上がPGデコーダについての説明である。 
【０３５７】
続いて、テキスト字幕ストリームと、テキスト字幕ストリームをデコードするテキスト字幕デコーダとの詳細について説明する。 
【０３５８】
(7-1)テキスト字幕デコーダのデコーダモデル 
テキスト字幕ストリームは、複数の字幕記述データから構成される。 
【０３５９】
テキスト字幕デコーダは、字幕記述データから、テキストコードと、制御情報とを分離する「字幕プロセッサ」と、字幕記述データから分離されたテキストコードを格納する「管理情報バッファ」と、制御情報を格納する「制御情報バッファ」と、フォントデータを用いて、管理情報バッファ内のテキストコードをビットマップに展開する「テキストレンダー」と、展開により得られたビットマップを格納する「オブジェクトバッファ」と、字幕記述データから分離された制御情報を用いて、時間軸に沿ったテキスト字幕再生の制御を実行する「描画制御部」とを含む。 
【０３６０】
テキスト字幕デコーダの前段には、フォントデータのプリロードを行う「フォントプリロードバッファ」、テキスト字幕ストリームを構成するTSパケットの入力速度を調整する「トランスポートストリーム(TS)バッファ」、プレイアイテムの再生に先立ち、テキスト字幕ストリームをプリロードしておくための「字幕プリロードバッファ」が存在する。 
【０３６１】
テキスト字幕デコーダの後段には、「グラフィクスプレーン」と、パレット定義セグメントに基づいて、グラフィクスプレーンに格納されたグラフィクスオブジェクトを構成する画素コードを、輝度・色差に変換する「CLUT部」と、プレーンシフトのための「シフト部」とが存在する。 
【０３６２】
図３３は、テキスト字幕デコーダの内部構成を示す。同図（ａ）は、1plane＋Offsetモードにおけるテキスト字幕デコーダのデコーダモデルを示し、同図（ｂ）は、立体視モードにおけるテキスト字幕デコーダのデコーダモデルを示す。本図において、テキスト字幕デコーダ本体にあたる部分は黒枠で囲こみ、テキスト字幕デコーダ後段にあたる部分は一点鎖線で囲んでいる。テキスト字幕デコーダ前段にあたる部分は、破線枠で囲んでいる。
【０３６３】
同図（ａ）では、グラフィクスプレーンの出力が、左目用、右目用のそれぞれに別れていて、個々の左目用出力、右目用出力に対して、シフト部が付加される。 
【０３６４】
同図（ｂ）では、左目用のグラフィクスプレーンと、右目用のグラフィクスプレーンとが存在していて、テキスト字幕デコーダによって展開されたビットマップを、これらのそれぞれのグラフィクスプレーンに書き込む。 
【０３６５】
テキスト字幕ストリームは、PGストリームと異なり、グラフィクスデータをビットマップとして送るのではなく、フォントデータと文字コードを送ることにより、レンダリングエンジンで字幕を生成するから、字幕の立体視は、1plane＋Offsetモードによって実現する。 
【０３６６】
以上がテキスト字幕ストリーム及びテキスト字幕デコーダについての説明である。続いて、これらのPGデコーダ、テキスト字幕デコーダの出力を合成して出力するための、出力段の内部構成について説明する。 
【０３６７】
(8)再生装置における出力段の内部構成 
図３４は、これらのデコーダモデルの出力を合成し、1plane＋Offsetモード方式で出力するための内部構成を示している。   
【０３６８】
左目ビデオプレーン、右目ビデオプレーン、PGプレーン、IGプレーンのレイヤモデルは黒枠で囲こみ、プレーンメモリ後段にあたる部分は一点鎖線で囲んでいる。本図からも明らかなように、上述したようなレイヤモデルは、１組みだけが存在していることがわかる。また、プレーンメモリ後段にあたる部位は、２組み存在している。 
【０３６９】
1plane＋Offsetモード方式では、ビデオプレーンは、左目用のものと、右目用のものとが準備されている。PGプレーン、IGプレーンについては、左目用、右目用のそれぞれに別れておらず、左目用、右目用で共通の１枚のプレーンメモリのみが存在する。そして、これらの左目用出力、右目用出力のそれぞれに対して上述したようなレイヤ合成がなされるようになっている。 
再生装置は、B−Dプレゼンテーションモード、1plane＋Offsetモードの双方をサポートにする必要があるので、再生装置のハードウェア構成としては、基本的に2デコーダ＋2プレーンの構成になっていて、1plane＋Offsetモード、平面視モードに再生装置が切り替った際、１デコーダ＋１プレーンの組みのうち一方を無効化して、１デコーダ＋１プレーン構成になる。 
【０３７０】
以上のように本実施形態によれば、立体視モード、1plane＋Offsetモードのそれぞれにおいて、適切な字幕デコーダの構成を採用することができる。 
【０３７１】
(第３実施形態) 
第１実施形態においては、カレントの字幕ストリームがテキスト字幕ストリームであり、このテキスト字幕ストリームがSDHを構成するなら、字幕の配置領域を最適なものに決定するとした。本実施形態では、テキスト字幕ストリームがカレントの字幕ストリームである場合における、OSD配置領域の決定の仕方の詳細について説明する。 
【０３７２】
カレントテキスト字幕ストリームがテキスト字幕ストリームである場合、このカレントテキスト字幕ストリームがSDHであるか否かは、基本ストリーム選択テーブルにおいてそのカレントテキスト字幕ストリームがどのような位置付けになっているかを解析することで静的に検出することができる。この特殊字幕であるSDHの静的な検出の処理手順を示したのが、図３５のフローチャートである。図３５は、特殊字幕であるSDH検出のフローチャートである。本フローチャートに示される処理手順は、サブルーチン化されたものであり、1つ以上の引数を受け付けて処理を行い、戻り値を返す。このサブルーチンにおける第１引数は、再生中の字幕ストリームのストリーム番号が格納されているストリーム番号レジスタ、第２引数は、基本ストリーム選択テーブルである。戻り値は、選択されているカレント字幕ストリームは、SDHであるか否かの判断結果である。 
【０３７３】
このフローチャートは、ストリーム選択テーブルにおける番号"=1"のストリーム番号をストリーム番号ｘとして、ストリーム番号"=1"の字幕から、カレントストリーム番号の字幕まで、ステップＳ１１５〜ステップＳ１１９の処理を繰り返すループになっている(ステップＳ１１３、Ｓ１１４)。字幕番号＝ｘの字幕ストリームについての言語属性を取得して(ステップＳ１１５)、その番号＝ｘの字幕ストリームの言語属性が、カレント字幕ストリームの言語属性と同じであり(ステップＳ１１６)、カレント字幕ストリームのストリーム番号が、字幕ストリームxのストリーム番号よりも大きいかどうかを判定するものである(ステップＳ１１７)。 
【０３７４】
番号＝ｘの字幕ストリームの言語属性が、カレント字幕ストリームの言語属性と同じであるのに、カレント字幕ストリームのストリーム番号が、字幕ストリームxのストリーム番号よりも大きいということは、同じ言語属性をもつ2以上の字幕ストリームが、ストリーム選択テーブルに2つ以上存在しており、その2以上の字幕ストリームのうち、ストリーム選択テーブルにおけるエントリー順位が低いものが、カレント字幕ストリームとして選択されていることを意味する。 
【０３７５】
SDHは、同じ言語属性の2以上の字幕ストリームの中で、ストリーム選択テーブルにおけるエントリー順位が低く設定されており、このようなエントリー順位が低い字幕ストリームがカレント字幕ストリームとして選択されているということは、ストリーム選択コマンドやストリーム選択APIを通じて、SDHの字幕ストリームが選択されていると考えられる。      
【０３７６】
同じ言語属性でありながら、再生中の字幕番号が大きい場合は、SDHであると判定して、ループを抜ける。そして字幕ストリームxはSDHの字幕ストリームであるとして、SDHの字幕ストリームの再生中であるとして処理を終了する。言語属性が異なれば、ステップＳ１１７〜ステップＳ１１９のスキップして、次の番号の字幕ストリームを判定対象とする。以上の処理によって、テキスト字幕ストリームを静的に解析することで、SDHか否かの検出を好適に実現することができる。 
【０３７７】
＜OSD配置決定の手順＞ 
OSD配置決定の単純としては、上述したようなテキスト字幕ストリームがSDHかどうか、OSDの表示に使用することができる領域の大きさがどれだけであるかによって、選択すべきである。この、最適なOSDの配置決定の手順を示したのが図３６のフローチャートである。図２６（ｂ）に示したOSD配置決定部２５の実体は、この図３６におけるサブルーチンとなる。 
【０３７８】
図３６は、OSD配置決定のフローチャートである。本フローチャートに示される処理手順は、サブルーチン化されたものであり、サブルーチンコール時において、1つ以上の引数を受け付けた上で本フローチャートに示される処理を実行し、当該処理の実行後、戻り値を返す。第１引数は、OSD描画が可能な余白領域、第２引数は、SDHを再生しているかどうかという判断結果、第３引数は、表示すべきOSDについてのOSD情報である。戻り値は、表示するOSDに関する情報であり、余白領域、SDHの表示領域によって調整されたOSD情報である表示位置、サイズ、表示時間、縮小倍率となる。 
【０３７９】
ステップＳ１２１は、OSD表示時間の確認である。以降、ステップＳ１２２〜ステップＳ１２６の判定結果の組合せによって、ステップＳ１２７〜ステップＳ１３０の処理を選択的に実行する。ステップＳ１２２は、表示時間設定の判定であり、ステップＳ１２３は、SDH再生中かどうかの判定である。ステップＳ１２４は、字幕種別の判定であり、ステップＳ１２５は、OSDサイズが余白領域サイズ以下であるか否かの判定である。ステップＳ１２６は、OSDサイズ×限界縮小率が余白領域サイズ以下かどうかの判定である。 
【０３８０】
ステップＳ１２２がYesであれば、OSDの表示時間は無限時間であり、すぐに消えることはないから、ステップＳ１２７において標準の表示位置を選択する。 
【０３８１】
有限時間だが、通常の字幕である場合、ステップＳ１２３がNoになり、ステップＳ１２９に移行する。ステップＳ１２９において通知された余白領域内から表示位置を選択する。有限時間だが、SDHである場合、ステップＳ１２５の判定がなされる。ステップＳ１２５は、OSDサイズが余白領域以下であるか否かの判定である。OSDサイズが余白領域以下であればステップＳ１２５がYesになり、ステップＳ１２９において通知された余白領域からOSDの表示位置を選択する。 
【０３８２】
OSDサイズが余白領域を上回る場合、ステップＳ１２６に移行する。ステップＳ１２６は、OSDサイズに限界縮小率を乗じたサイズが余白領域サイズ以下であるか否かの判定である。OSDサイズに限界縮小率を乗じたサイズが余白領域サイズ以下であれば、ステップＳ１２６がYesになり、ステップＳ１２８に移行する。ステップＳ１２８においてOSD最適縮小率を算出した上で、ステップＳ１２９において通知された余白領域からOSDの表示位置を選択する。 
【０３８３】
ステップＳ１２４においてカレント字幕がPGであると判定された場合、ステップＳ１３０において選択された余白領域以外を選択する。 
【０３８４】
OSDサイズに限界縮小率を乗じたサイズが余白領域サイズを上回る場合、ステップＳ１２６がNoになるから、ステップＳ１３０において選択された余白領域以外を選択する。以上がOSD配置決定の処理手順についての説明である。続いて、OSDの配置位置決定手順の詳細について説明する。 
【０３８５】
＜OSD配置位置決定手順＞ 
テキスト字幕ストリームは、1つの画面に、複数の字幕領域を定義することができ、これらの字幕領域の右端座標は、字幕領域毎に異なる。よってOSDを画面上に配置する際に関しては、グラフィクスプレーンのうち、最も右側に存在するテキスト字幕を基準として、OSD配置のための余白を決定せねばならない。 
【０３８６】
字幕領域における余白領域の検出は、グラフィクスプレーン内の複数の字幕領域を定義する領域情報が存在することを前提にしている。字幕領域における余白領域検出の前提として、テキスト字幕ストリームにおける字幕の配置領域がどのように定義されるかについて説明する。 
【０３８７】
＜テキスト字幕ストリームにおける配置領域の定義＞ 
図３７（ａ）は、テキスト字幕ストリームにおいて、複数の領域情報を定義するための領域フォーマット情報のシンタックスを示す。図３７（ａ）のシンタックスにおいて、for(i=0;i＜number_of_area_format;i++)は、領域情報area_infoと、領域におけるテキスト文字列の水平位置であるcharacter_horizontal_position、領域におけるテキスト文字列の垂直位置であるcharacter_vertivcal_position、テキスト文字列の横幅であるcharacter_width、テキスト文字列の縦幅であるcharacter_height、テキスト文字列のフロー制御を規定するCharacter_flow、テキスト文字列の水平方向の位置調整の仕方を示すcharacter_horizontal_verification、テキスト文字列の垂直方向の位置調整の仕方を指定するcharacter_vertivcal_verificationとをメンバー変数とするデータ構造を、予め定められた数(number_of_area_format)だけ繰り返す構造になっており、この繰り返し構造により、予め定められた数(number_of_area_format)だけ、図３７（ａ）のメンバー変数からなる領域フォーマット情報のインスタンスが生成されることになる。
【０３８８】
上記領域情報(area_info)は、領域の水平開始位置であるarea_horizontal_position、領域の垂直開始位置であるare_vertivcal_position、水平幅であるarea_width、垂直幅であるarea_heightから構成される。 
【０３８９】
領域内にテキスト文字列をどのように配置するかは、領域情報におけるcharacter_horizontal_verificationによって規定される。そして、個々の領域内でテキスト文字列が占有する領域の右端座標は、character_horizontal_verificationによって、テキスト文字列がどのように配置されるかで決まる。 
【０３９０】
図３７（ｂ）〜（ｄ）は、テキスト文字列が占有する領域の右端座標が、グラフィクスプレーンにおける複数の領域のそれぞれでどのように決まるかを示す。図３７（ｂ）〜（ｄ）のそれぞれにおいて全体枠はグラフィクスプレーンを示し、全体枠内部の枠は領域である。 
【０３９１】
図３７（ｂ）は、左寄せ配置時におけるテキスト文字列列の右端座標(Lx,Ly)を示す。Ｌxは、area_horizontal_position＋character_widthとなり、Ｌyは、are_vertivcal_positionと同じになる。 
【０３９２】
図３７（ｃ）は、右寄せ配置時におけるテキスト文字列列の右端座標(Ｒx、Ｒy)を示す。Ｒxは、area_horizontal_position＋area_widthとなり、Ｒyは、are_vertivcal_positionになる。 
【０３９３】
図３７（ｄ）は、中央寄せ配置時におけるテキスト文字列列の右端座標(Ｃx、Ｃy)を示す。Ｃxは、area_horizontal_position＋area_width−（area_width−character_width）／２となり、Ｃyは、are_vertivcal_positionになる。 
【０３９４】
グラフィクスプレーン内の個々の領域におけるテキスト文字列の占有範囲の右端座標を検出すれば、この右端座標を、余白領域の基準にすることができる。以上のようなテキスト字幕ストリームの領域情報のシンタックスを用いれば、図３８のフローチャートの処理手順を実行するようなプログラムを記述してCPUに実行させることで、再生装置に余白領域検出を実行させることができる。以上がテキスト字幕ストリームによる領域定義についての説明である。続いて、テキスト字幕ストリームの余白領域検出手順の詳細について説明する。 
【０３９５】
＜テキスト字幕ストリームの余白領域検出手順＞ 
図３８は、テキスト字幕ストリームにおける余白領域検出のフローチャートである。本フローチャートに示される処理手順は、サブルーチン化されたものであり、サブルーチンコール時において、1つ以上の引数を受け付けた上で本フローチャートに示される処理を実行し、当該処理の実行後、戻り値を返す。この引数は、テキスト字幕ストリームの再生のために、グラフィクスプレーンに確保された複数の字幕表示領域のそれぞれとなる。戻り値は、複数の字幕表示領域におけるテキスト字幕のうち、最も右側に位置するもののX座標になる。 
【０３９６】
ステップＳ１３１は、領域数確認であり、その後、ステップＳ１３２〜ステップＳ１３３のループに移行する。このループは、グラフィクスプレーンに存在する複数の字幕表示領域のそれぞれを処理対象として選んで、この処理対象となる字幕表示領域の右端座標Ｘ０をステップＳ１３４〜ステップＳ１３８の手順で検出し、こうして算出した字幕表示領域のＸ０が、これまでに算出された字幕表示領域の右端座標の最大値よりも大きいかどうかをステップＳ１４０で判定して、大きければ、領域の右端座標の最大値を更新する(ステップＳ１４１)という処理を繰り返すものである。 
【０３９７】
ステップＳ１３４は、字幕の配置仕方の確認であり、字幕配置が左寄せならステップＳ１３６、中央寄せならステップＳ１３７、右寄せならステップＳ１３８を実行する。字幕を左寄せする場合、ステップＳ１３６においてarea_horizontal_position＋character_horizontal_position＋character_widthをＸ０とする。 
【０３９８】
字幕を中央寄せする場合、ステップＳ１３７においてarea_horizontal_position＋area_width−(area_width−character_width)／２をＸ０とする。字幕を右寄せする場合、ステップＳ１３８においてarea_horizontal_position＋area_widthをＸ０とする。 
【０３９９】
以上がテキスト字幕ストリームの余白領域検出手順についての説明である。 
【０４００】
まとめとして、字幕の配置レイアウトに応じた場合分けを行い、通常レイアウト、上端レイアウト、下端レイアウトの個々のレイアウト毎の最適なOSD配置について説明する。 
【０４０１】
＜レイアウト毎の最適なOSD配置＞ 
図３９（ａ）は、標準状態で画面上部にOSDが配置されるケースを示す。この標準状態は、上下に黒帯が存在する状態である。 
【０４０２】
（ｂ）は、ビデオプレーンが下シフトされ、且つ、通常字幕を表示するケースである。この場合、字幕とOSDとが干渉する。この際、OSDのレイアウトとして、通常字幕と同一のレイアウトを選択するので、OSDは字幕領域で表示され、OSDには字幕深度が反映される。      
【０４０３】
図３９（ｃ）は、ビデオプレーンが下シフトであり、字幕がSDHテキスト字幕であり、OSDをビデオの表示領域に配置するケースを示す。これにより、OSDと、字幕との干渉を回避することができる。 
【０４０４】
図３９（ｄ）は、ビデオプレーンが下シフトであり、字幕がSDHテキスト字幕であり、OSDを縮小表示するケースを示す。 
【０４０５】
この場合、字幕とOSDとが干渉する。そこで、OSDの縮小を行い、SDH字幕領域の余白に、OSDを配置する。これにより字幕深度を反映させつつ、OSDを字幕領域で縮小表示する。  
【０４０６】
図４０（ａ）においては、ビデオプレーンが下シフトであり、字幕がSDHテキスト字幕であるケースを想定している。この場合、字幕とOSDとが干渉する。また縮小して表示するだけの余白もない。そこで、SDHテキスト字幕領域を回避して、映像領域での表示を選択する。これにより字幕深度を反映させつつ、OSDを映像領域で表示する。 
【０４０７】
（ｂ）は、表示タイムアウトがないOSDを表示させるケースを示す。この場合、3D映像と、OSDとが長時間干渉する。この場合、標準表示位置を選択する。そして設定OSDを、映像領域と、字幕領域とに配置する。 
【０４０８】
テキスト字幕ストリームは、プレイアイテムの再生時においてテキスト字幕デコーダにプリロードされ、デコードに供されるから、このプリロード時にテキスト字幕ストリームにおける領域フォーマット情報、領域情報を解析することで、SDHやコメンタリ字幕が表示される際の余白領域を好適に検出することができる。
【０４０９】
以上のように本実施形態によれば、デコード時に字幕デコーダにプリロードされることが予定されているテキスト字幕ストリームから領域フォーマット情報を取り出して、解析することで、字幕の余白領域を適切に解析することができる。また、あるテキスト字幕ストリームがSDHであるか、コメンタリ字幕であるかの判定は、ストリーム選択テーブルにおいて、対象となるテキスト字幕ストリームにどのような優先順序が与えられているかを参考にしてなされるので、余白領域解析の対象を、一部の字幕ストリームに絞り込むことができる。よって余白領域検出のためのテキスト字幕ストリーム解析が余剰になされることは無いから、テキスト字幕の再生を大きく遅延させることはない。
【０４１０】
(第４実施形態) 
本実施形態では、OSD表示アプリケーションの作成について述べる。これまでの実施形態で述べた再生装置の再生制御部は、いわゆるBD-Jプラットフォームとして構成することができる。この場合、OSD表示アプリケーションは、BD-Jプラットフォーム上で動作するシステムアプリケーションとして実装することができる。
【０４１１】
BD-Jプラットフォームは、バイトコードをネイィティブコードに変換するバイトコードインタプリタ、クラスロードのためのクラスローダやアプリケーションシグナリングのためのアプリケーションマネージャ、HAViデバイス、Javaメディアフレームワークによるプレイリスト再生のための再生制御エンジン、キャッシュイン・キャッシュアウト管理のためのキャッシュマネージャ、イベント処理のためのイベントマネージャといったソフトウェア群、つまり、デジタル放送のマルチメディアホームプラットフォーム端末(DVB-MHP)におけるソフトウェア群と良く似たソフトウェア群が動作主体になる。 
【０４１２】
BD-Jプラットフォーム上で動作するシステムアプリケーションとして、OSD表示アプリケーションを実装する場合、BD-Jプラットフォームにおいて立体視再生の実現に利用できるAPIには、Java2Micro＿Edition(J2ME) Personal Basis Profile(PBP 1.0)と、Globally Executable MHP specification(GEM1.0.2)for package media targetsがある。これらのAPIを利用すれば、ネットワーク処理のためのjava.net、GUI処理のためのjava.awt、言語処理のためのjava.lang、記録媒体に対するI/O処理のためのjava.io、ユーティリティであるjava.util、メディアフレームワークのためのjavax.mediaといったクラスのメソッド、コンストラクタ、インターフェイス、イベントを用いた構造化プログラミングで、OSD表示に関する処理の記述が可能になる。 
【０４１３】
BD-JプラットフォームのためのエクステンションAPI(BD-Jエクステンションと呼ばれる)を用いることで、これまでの実施形態で述べた立体視再生のためのデータ構造、立体視再生における再生単位を用いた制御を実現する。このBD-Jエクステンションはjava.net、java.awt、java.lang、java.io、java.util、javax.mediaクラスのメソッドからのインへリッドメソッドを含み、これらのクラスのインターフェイスをエンベデッドインターフェイス、スーパーインターフェイスとしているので、java.net、java.awt、java.lang、java.io、java.util、javax.mediaクラスを用いたプログラミング技法の延長線上で、立体視再生を前提にしたOSD表示アプリケーションを作成することができる。 
【０４１４】
例えばBD-JプラットフォームにおけるエクステンションAPIは、レジスタセットにおける立体視ステータスレジスタ、上シフト／下シフトステータスレジスタの状態設定や状態取得を命じる設定取得クラスを含む。かかる設定取得クラスは、立体視ステータスレジスタ、上シフト／下シフトステータスレジスタの保持値を示すコンスタントフィールドと、PSRの保持値の取得を命じる取得メソッドと、プレーヤ設定レジスタ、プレーヤ状態レジスタの保持値の設定を命じる設定メソッドとから構成される。 
【０４１５】
設定取得クラスのメソッドは、java.lang.objectクラスのメソッドのインヘリッドメソッドを含む。また、メソッドコールの際の引数が不正であれば、java.langクラスのイベントであるjava.lang.IlleghalArgumentExceptionイベントをスロウする。本クラスは、java.lang.objectのメソッドやイベントを継承しているので、プログラマは、java.lang.objectの延長線で、立体視ステータスレジスタ、上シフト／下シフトステータスレジスタの保持値を利用したプログラムを作成することができる。 
【０４１６】
(第５実施形態)
これまでの実施形態において、3Dコンテンツは、記録媒体に記録され、読み出されることで再生に供されたが、本実施形態は、3Dコンテンツが"3Dデジタル放送コンテンツ"であり、デジタル放送システムで放送されて再生装置に供給されるケースを想定する。
【０４１７】
図４１は、3Dデジタル放送コンテンツを再生装置に供給するためのトランスポートストリームの内部構成を示す。
【０４１８】
第１段目は、トランスポートストリームを構成する複数のTSパケットを示す。このトランスポートストリームは、先頭にPATを格納したTSパケットが存在し、その次に、PMTを格納したTSパケット、その次にPCRを格納したTSパケットが存在する。これ以降に、マルチストリームのTSパケット群が存在する。
【０４１９】
PAT(Program Association Table)は、PIDが0であるテーブルであり、PMTのPIDを示す。
【０４２０】
PMT(Program Map Table)は、あるサービスに含まれるビデオストリーム、オーディオストリーム、字幕ストリームなどのPIDを格納したテーブルである。
【０４２１】
PCR(Program Clock Reference)は、再生装置におけるクロックの初期値を示す。
【０４２２】
マルチストリームパケット群は、ビデオストリーム、オーディオストリーム、字幕ストリームを構成するTSパケット、字幕情報テーブル、プレーン内有効化情報テーブルを格納したTSパケットが多重化されたものである。
【０４２３】
第２段目はビデオストリーム、第３段目はオーディオストリーム、第４段目は字幕ストリームを示す。この第２段目におけるビデオストリームは、複数のピクチャデータから構成されるが、個々のピクチャデータは、サイドバイサイド形式になっている。サイドバイサイド形式のピクチャデータとは、左目画像及び右目画像を横方向に結合することで得れられる多視点画像である。第４段目における字幕ストリームは、ランレングス符号化されたグラフィクス字幕を再生装置に提供する。第５段目における字幕情報テーブルは、字幕ストリームについての詳細を再生装置に提供する。第５段目のプレーン内有効化情報テーブルは、ビデオプレーンの内部領域のうち、どの部分を有効にするかを再生装置に指示する。
【０４２４】
図４２（ａ）は、字幕ストリームの内部構成を示す。本図に示すように、字幕ストリームは、Page Composition Segment(PCS)、Region Composition Segment(RCS)、Pallet Define Segment(PDS)、Object Define Segmentt(ODS)といった複数種別の機能セグメントから構成される。
【０４２５】
以降、字幕ストリームについて説明する。3Dデジタル放送コンテンツにおける字幕ストリームにも"エポック"という単位が存在する。この3Dデジタル放送コンテンツにおけるエポックは、デコーダのメモリ使用の完全記述をその開始点で渡すものである。したがって、エポック境界は保証されたサービスアクジッションポイントを提供する。あるセグメントが述べる「モード変更」のページの構成法でエポック境界のシグナリングはなされる。
【０４２６】
図４２（ｂ）は、PCSと、RCSと、字幕情報テーブルとの関係を示す。本図の左側はPCSの内部構成を示し、真ん中は、RCSの内部構成を示す。右側は、字幕情報テーブルの内部構成を示す。
【０４２７】
Page Composition Segment(PCS)は、sync_byte,segment_type,page_id,segment_length,page_time_out,page_version_number,region_id,region_horizontal_address,region_vertical_addressから構成される。
【０４２８】
Region Composition Segments(RCS)は、sync_byte,segment_type,page_id,region_id,region_version_number,region_fill_flag,region_width,region_height,region_depth.clut_id,pixel_code,object_id,object_type,pbject_provider_flag,object_horizontal_position,object_vertical_position,foreground_pixel_code,background_pixel_codeから構成され、1つ以上の領域リストを伝送する。領域リストは、PTSによって関連付けられた時刻で表示されるべき領域の集合を定義する。
【０４２９】
Region Composition Segments(RCS)の完全記述のセットに続く、「モード変更」か「アクジッションポイント」のディスプレイセットにおけるRCSは、領域を導入して、それらのためのメモリを割り当てる。ページアップデートをもたらすディスプレイセットはコンテンツが変更される領域だけを含む。以上がPCS,RCSについての説明である。続いて、字幕情報テーブルの詳細について説明する。
【０４３０】
字幕情報テーブルは、「上端配置存否フラグ」、「下端配置存否フラグ」、「region_vertical_address」、「region_height」から構成される。これらのうち、region_vertical_addressは、PCSに記述されていたものと同じであり、region_heightは、RCSに記述されていたものと同じである。図中の矢印cf1,cf2は、字幕情報テーブルにおける「region_vertical_address」、「region_height」と、PCSにおける「region_vertical_address」、RCSにおける「region_height」との同一性を示す。つまり、region_vertical_address、及び、region_heightが字幕情報テーブルに記述されているので、再生装置は、PCS、RCSの内部を解析することなく、字幕が上端に配置されるのか、下端に配置されるのか、字幕の配置領域の位置及び大きさがどれだけであるのかを知得することができる。
【０４３１】
図４２（ｃ）は、プレーン内有効化情報テーブルの内部構成を示す。本図に示すように、プレーン内有効化情報テーブルとして、図１０（ｂ）と同一の情報要素が規定されているので、第１実施形態で説明したような字幕の上端配置、下端配置が可能になる。
【０４３２】
図４３は、第５実施形態に係る再生装置の構成を示す機能ブロック図である。本図は、第１実施形態における図１１の内部構成図をベースとして作図されており、このベースとなる内部構成図と比較して、読出部１がサービス受付部１０１と、受信部１０２とに置き換えられ、多重分離部１０が多重分離部１０３に置き換えられ、ビデオデコーダ２がビデオデコーダ１０４に置き換えられ、グラフィクスプレーン５が字幕ラインメモリ１０５に置き換えられ、GFXプレーンがOSDラインメモリ１０６に置き換えられ、字幕デコーダ４が字幕デコーダ１０７に置き換えられている点が異なる。以下、本実施形態における新規の構成要素(サービス受付部１０１、受信部１０２、多重分離部１０３、ビデオデコーダ１０４、字幕ラインメモリ１０５、OSDラインメモリ１０６、字幕デコーダ１０７)について説明する。
【０４３３】
サービス受付部１０１は、サービス選択を管理する。具体的には、リモコン信号からのユーザの指示やアプリからの指示によるサービスの変更要求を受け取り、受信部１０２に通知する。
【０４３４】
受信部１０２は、選択されたサービスが配信されているTSの搬送波の周波数における信号をアンテナやケーブルから受信し、復調する。そして多重分離部１０３に復調したTSを送出する。
【０４３５】
多重分離部１０３は、受信部１０２より送出されたトランスポートストリームを受け取ると、トランスポートストリームに多重化されているビデオ・オーディオデータと、字幕ストリームと、オブジェクトカルーセルと、字幕情報テーブルと、プレーン内有効化情報テーブルとに分離する。
【０４３６】
ビデオデコーダ１０４は、3Dデジタル放送コンテンツのビデオストリームを構成するサイドバイサイド形式のピクチャデータをデコーダして、非圧縮の左目画像及び右目画像の組みを左目ビデオプレーン３a及び右目ビデオプレーン３bに書き込む。
【０４３７】
字幕ラインメモリ１０５は、複数のラインメモリからなる。個々のラインメモリには、一行分の字幕を構成する画素データが格納される。
【０４３８】
OSDラインメモリ１０６は、複数のラインメモリからなる。個々のラインメモリには、一行分のOSDを構成する画素データが格納される。
【０４３９】
字幕デコーダ１０７は、コーデッドデータバッファ、ピクセルバッファという2つのバッファメモリを具備していて、3Dデジタル放送コンテンツにおける字幕ストリームのデコードを行う。コードデータバッファは、符号化された状態のオブジェクト定義セグメントを格納する。
【０４４０】
ピクセルバッファは、オブジェクト定義セグメントを復号することで得られるグラフィクスオブジェクトを格納する。そして字幕デコーダ１０７は、PCSに従い、ピクセルバッファからラインメモリへの転送を行う。以下、ピクセルバッファからラインメモリへの転送について説明する。この転送にあたって、ピクセルバッファにはRegionのリストが定義される。Regionとは、字幕のデコーダモデルにおいて、字幕のデコード処理(Subtitle Processing)にて得られたグラフィクスが格納されるバッファ(Pixel Buffer)上に定義される領域である。
【０４４１】
Pixel Buffer上に定義されているRegionのうち、表示すべきものを、PCS(Page Composition Segment)に記述することで、グラフィクス表示は、実現される。
【０４４２】
例えば「Shall We?」という字幕を包含したRegion1と、「Said the fly on the mirror」という字幕を包含したRegion2とがPixel Bufferに定義されていて、このうちRegion1の識別子が、PCSに記述されれば、その識別子の記述に基づき、「Shall We?」という字幕を構成する非圧縮のグラフィクスが、ピクセルバッファから動画像との合成のためのバッファ(Display)に転送される。これにより、「Shall We?」が、表示される。またRegion2の識別子が、PCSに記述されれば、非圧縮のグラフィクスが、ピクセルバッファからビデオプレーンに転送される。そうすると、その識別子の記述に基づき、「Said the fly on the mirror」という字幕が表示される。このように、コーデッドデータバッファ、ピクセルバッファというバッファメモリをデコーダに設け、このピクセルバッファ中のRegionを、動画像との合成のためのバッファ("Display"のためのラインメモリ)に転送することで、字幕表示がなされる。
【０４４３】
以上が新規の構成要素についての説明である。これらの新規な構成要素が存在するため、既存の構成要素のうち、OSD処理部１６について改良が加えられている。以下、既存の構成要素(OSD処理部１６)における改良内容について説明する。
【０４４４】
OSD処理部１６が3Dデジタル放送コンテンツにおける字幕レイアウトを判定する場合、留意すべきは、3Dデジタル放送コンテンツにおいては、ピクチャデータの上端側の表示領域となるRegion、下端側の表示領域となるRegionが定義されることで、図１３（ａ）（ｃ）に示したような字幕の上端配置、下端配置がなされる点である。具体的には、字幕ストリームのPCSには、region_vertical_addressというフィールドがあり、このregion_vertical_addressフィールドで、Regionにおける左上座標が規定される。またRCSには、region_width,region_heightというフィールドがあり、region_heightフィールドによって、Regionの縦幅が規定される。
【０４４５】
そこで本実施形態では、字幕が上端側に配置されるか、下端側に配置されるかを示す情報(上端配置存否フラグ、下端配置存否フラグ)と、上端側Region又は下端側Regionが表示されるにあたっての左上座標を示すregion_vertical_addressと、上端側Region又は下端側Regionの縦幅を示すregion_heightとを、別途の字幕情報テーブルとして記述しておき、OSD処理部１６は、この字幕情報テーブルに従い、字幕レイアウト判定を行う。そして、ピクチャデータの上端側表示領域、及び、下端側表示領域を定義するRCSにおいて、Regionの左上座標及び縦幅を示す情報を用いて、字幕領域を算出する。
【０４４６】
レイアウト毎の字幕領域の左上座標Y0、及び、左下座標Y1の算出について説明する。
【０４４７】
下端配置レイアウトでは、下端側Regionの左上座標を示すregion_vertical_addressを、下端側の字幕領域の左上座標Y0とする。このregion_vertical_address(=Y0)に下端側Regionにおけるregion_heightフィールドを足した値(region_vertical_address+region_height)を下端側の字幕領域の左下座標Y1とする。
【０４４８】
上端配置レイアウトでは、上端側Regionの左上座標を示すregion_vertical_addressを、上端側の字幕領域の左上座標Y0とする。このregion_vertical_address(=Y0)に下端側Regionにおけるregion_heightフィールドを足した値(region_vertical_address+region_height)を上端側の字幕領域の左下座標Y1とする。
【０４４９】
通常配置レイアウトでも同様であり、Regionの左上座標を示すregion_vertical_addressを、下端側の字幕領域の左上座標Y0とする。このregion_vertical_address(=Y0)に下端側Regionにおけるregion_heightフィールドをたした値(region_vertical_address+region_height)を下端側の字幕領域の左下座標Y1とする。
【０４５０】
以上の過程を経て、RCS及びPCSから字幕領域のレイアウトが何れのレイアウトであるかを判定すれば、OSD処理部１６は、字幕レイアウトと同じレイアウトを、OSDの表示レイアウトとして採用する。また、デジタル放送3Dコンテンツで、プレーン内有効化情報テーブルが送信される場合、第１実施形態と同様の手順で、字幕の上端配置時、下端配置時における配置領域の座標を取得してもよい。
【０４５１】
以上のように本実施形態によれば、3Dデジタル放送コンテンツを再生装置が再生しているケースにおいて、字幕のレイアウトが上端配置レイアウト、下端配置レイアウトに変化した場合、字幕のレイアウトと同じものを機器組込みのGUIのレイアウトとして選択するので、機器組込みのGUIと字幕とが同じ表示領域に配置されることになり、機器組込みのGUIのみが動画像と重複するような位置に配置されることはない。 
【０４５２】
（第６実施形態）
本実施形態は、BD-ROMに格納されるべきエレメンタリストリームを、3Dデジタル放送コンテンツのトランスポートストリームで伝送すると共に、BD-ROMのディレクトリ構成及びファイル構成を、オブジェクトカルーセルで伝送する改良である。
【０４５３】
図４４は、第１実施形態における記録媒体として、BD-ROMを選んだ場合におけるディレクトリ構成及びファイル構成を示す図である。本図のディレクトリ構成とは、ルートディレクトリの配下にBDMVディレクトリが存在し、当該BDMVディレクトリに、インデックステーブルを格納したファイル(index.bdmv)が存在する。BDMVディレクトリの配下には、オブジェクトディレクトリ(図中のBDJOディレクトリ)、プレイリストディレクトリ(図中のPLAYLISTディレクトリ)、クリップ情報ディレクトリ(図中のclipinfディレクトリ)、ストリームディレクトリ(図中のSTREAMディレクトリ)がある。BDJOディレクトリには、動作モードオブジェクトのファイル(00001.bdjo)が格納され、PLAYLISTディレクトリには、プレイリスト情報のファイル(00001.mpls)が格納される。clipinfディレクトリには、ストリーム管理情報のファイル(00001.clpi)が格納され、STREAMディレクトリには、デジタルストリームのファイル(00001.m2ts)が格納される。
【０４５４】
図４５は、第６実施形態にかかるトランスポートストリームの内部構成を示す。本図におけるトランスポートストリームのマルチストリームパケット群は、第１段目に示すベースビュービデオストリーム、第２段目に示すディペンデントビュービデオストリーム、第３段目に示す32本のプレゼンテーショングラフィクスストリーム、第４段目に示す32本のインタラクティブグラフィクスストリーム、第５段目に示す32本のオーディオストリーム、第６段目に示すプログラム情報ファイルストリームを多重化したものである。
【０４５５】
第７段目は、プログラム情報ファイルストリームによって伝送されるオブジェクトカルーセルを示す。オブジェクトカルーセルには、「index」、「object」、「Playlist」、「clipinf」という一連のものがある。
【０４５６】
「index」は、BD-ROMのBDMVディレクトリ及び当該ディレクトリに格納されるべきインデックステーブルを格納したオブジェクトカルーセルである。
【０４５７】
「object」は、BDJOディレクトリ及び当該ディレクトリに格納されるべき動作モードオブジェクトを格納したオブジェクトカルーセルである。
【０４５８】
「playlist」は、BD-ROMのplaylistディレクトリ及び当該ディレクトリに格納されるべきプレイリスト情報ファイルを一体化したオブジェクトカルーセルである。
【０４５９】
「clipinfo」は、BD-ROMのclipinfOディレクトリ及び当該ディレクトリに格納されるべきストリーム情報ファイルを一体化したオブジェクトカルーセルである。図４４の破線枠は、図４５における個々のオブジェクトカルーセルが、どのディレクトリ及びファイルを格納しているかを模式的に示す。
【０４６０】
これらのindex、object、playlist、clipinfという一連のオブジェクトカルーセルは、複数回送信される。これにより、伝送路上で発生するエラーに対して耐性を高めている。
【０４６１】
以上が3Dデジタル放送コンテンツにおけるトランスポートストリームについての説明である。次に、本実施形態に係る再生装置について説明する。トランスポートストリームが新規な内容になっているため、既存の構成要素のうち、受信部１０２について改良が加えられている。以下、既存の構成要素である受信部１０２における改良内容について説明する。
【０４６２】
本実施形態に係る再生装置の受信部１０２は、選択されたサービスに対応するオブジェクトカルーセルを受信して、オブジェクトカルーセルに格納されているディレクトリ及び当該ディレクトリ配下のファイルのキャッシュインを行う。図４５のオブジェクトカルーセルを全て受信してキャッシュインすることにより、BD-ROMのディレクトリ構成及びファイル構成がキャッシュ上で再現される。
【０４６３】
キャッシュに存在するプレイリスト情報、ストリーム管理情報を用いて第１実施形態の処理を行うことにより、立体視再生モードにおいて、OSDを字幕と同じレイアウトで表示することができる。
【０４６４】
以上のように本実施形態によれば、BD-ROMのディレクトリ及びファイルを構成するためのオブジェクトカルーセルを受信して、キャッシュインすることにより、第１実施形態の記録媒体で供給されるべきディレクトリやファイルを取得することができる。
【０４６５】
(備考) 
以上、本願の出願時点において、出願人が知り得る最良の実施形態について説明したが、以下に示す技術的トピックについては、更なる改良や変更実施を加えることができる。各実施形態に示した通り実施するか、これらの改良・変更を施すか否かは、何れも任意的であり、実施する者の主観によることは留意されたい。 
【０４６６】
(字幕ストリームの種別) 
字幕ストリームがテキスト字幕ストリームであること、再生装置が図３７のテキスト字幕余白検出を行うことは、本願発明の必須の要件ではない。テキスト字幕余白検出を行わず、PGストリームによる字幕又はテキスト字幕を画面の余白領域の右端に配置するという定型化又は簡略化された処理を実現するとしても、字幕とOSDとの重複を回避することができ、本願の課題解決を図ることができるからである。 
【０４６７】
(集積回路の実施形態) 
本発明にかかる集積回路は、システムLSIであり、再生装置のハードウェア構成のうち、記録媒体のドライブ部や、外部とのコネクタ等、機構的な部分を排除して、論理回路や記憶素子に該当する部分、つまり、論理回路の中核部分を内蔵したものである。システムLSIとは、高密度基板上にベアチップを実装し、パッケージングしたものをいう。複数個のベアチップを高密度基板上に実装し、パッケージングすることにより、あたかも1つのLSIのような外形構造を複数個のベアチップに持たせたものはマルチチップモジュールと呼ばれるが、このようなものに、システムLSIに含まれる。 
【０４６８】
ここでパッケージの種別に着目するとシステムLSIには、QFP(クッド フラッド アレイ)、PGA(ピン グリッド アレイ)という種別がある。QFPは、パッケージの四側面にピンが取り付けられたシステムLSIである。PGAは、底面全体に、多くのピンが取り付けられたシステムLSIである。 
【０４６９】
これらのピンは、電源供給やグランド、他の回路とのインターフェイスとしての役割を担っている。システムLSIにおけるピンには、こうしたインターフェイスの役割が存在するので、システムLSIにおけるこれらのピンに、他の回路を接続することにより、システムLSIは、再生装置の中核としての役割を果たす。 
【０４７０】
システムLSIのアーキテクチャは、「フロントエンド部」と、「信号処理部」と、「バックエンド部」と、「メディアインターフェイス」と、「メモリコントローラ」と、「主制御部」とから構成され、メディアインターフェイス、メモリコントローラを通じて、再生装置におけるドライブやメモリ、送受信部と接続されている。再生装置におけるドライブには、BD-ROMのドライブ、ビルドインメディアのドライブ、リムーバブルメディアのドライブ等がある。また、再生装置のメモリには、リードバッファ、各種プレーンメモリ、ビデオデコーダにおけるコーデッドデータバッファ、デコーデッドデータバッファが確保される。 
【０４７１】
「フロントエンド処理部」は、プリプログラムされたDMAマスタ回路等から構成され、ストリーム処理全般を実行する。このストリーム処理には、立体視インターリーブドストリームファイルからATCシーケンスを復元する処理、多重分離部によるソースパケットデパケッタイザの処理、PIDフィルタの処理が該当する。再生装置のメモリに確保された、リードバッファ、各種プレーンメモリ、ビデオデコーダにおけるコーデッドデータバッファ、デコーデッドデータバッファ間でDMA転送を実現することにより、上述したようなストリーム処理を実現する。 
【０４７２】
「信号処理部」は、SIMDプロセッサ等から構成され、信号処理全般を実行する。信号処理には、ビデオデコーダによるデコードやオーディオデコーダによるデコードがある。 
【０４７３】
「バックエンド部」は、AV出力処理全般を行う。AV出力処理は、画素処理を含み、かかる画素処理によってレイヤ合成のための画像重畳、リサイズ、画像フォーマット変換がなされる。また、デジタル／アナログ変換等を併せて実行する。 
【０４７４】
「メディアインターフェイス」は、ドライブ、ネットワークとのインターフェイスである。   
【０４７５】
「メモリコントローラ」は、メモリアクセスのためのスレーブ回路であり、フロントエンド部、信号処理部、バックエンド部の要求に応じて、パケットやピクチャデータの読み書きを実現する。 
【０４７６】
「主制御部」は、ホストマイコンに該当する構成要素であり、メディアインターフェイス、フロントエンド部、信号処理部、バックエンド部に対して、全体制御を実行する。この全体制御には、再生制御エンジン、BD-Jプラットフォーム、HDMVコマンドインタプリタ、モジュールマネージャとしての制御がある。また、PGデコーダによるデコードやテキスト字幕デコーダの機能を兼ねる場合もある。この主制御部におけるマイコンは、ROM、命令RAM、命令キャッシュ、データRAM、データキャッシュ、MPUから構成され、このMPUは、命令フェッチ部、デコーダ、実行ユニット、レジスタファイルを有している。そして、これまでの実施形態で述べた各種処理を実行するプログラムは、組込プログラムとして、基本入出力プログラム(BIOS)、様々なミドルウェア(オペレーションシステム)がと共に、この主制御部におけるマイコン内のROMに記憶されている。よって再生装置の主たる機能は、このシステムLSI内に組込んでおくことができる。 図４６は、集積回路の外観を示す図である。本発明にかかる集積回路は、再生装置の本体基板のソケットに取り付けることことができる。
【０４７７】
図４７は、集積回路のアーキテクチャを示す図である。本図に示すように、システムLSIである集積回路７０のアーキテクチャは、フロントエンド部７１と、信号処理部７２と、バックエンド部７３と、メディアI/O７４と、メモリコントローラ７５と、ホストマイコン７６とから構成され、メディアI/O７４、メモリコントローラ７５を通じて、再生装置におけるドライブやメモリ、送受信部と接続されている。再生装置におけるドライブには、BD-ROMのドライブ、ローカルストレージのドライブ、リムーバブルメディアのドライブ等がある。
【０４７８】
フロントエンド処理部７１は、プリプログラムされたDMAマスタ回路やI/Oプロセッサ等から構成され、パケット処理全般を実行する。このパケット処理には、デマルチプレクサによるソースパケットデパケッタイザの処理、PIDフィルタの処理が該当する。再生装置のメモリに確保された、トラックバッファ、各種プレーンメモリ、各種バッファ間でDMA転送を実現することにより、上述したようなパケット処理を実現する。 
【０４７９】
信号処理部７２は、信号処理プロセッサやSIMDプロセッサ等から構成され、信号処理全般を実行する。信号処理には、ビデオデコーダによるデコードやオーディオデコーダによるデコードがある。 
【０４８０】
バックエンド部７３は、加算器、フィルタから構成され、AV出力処理全般を行う。AV出力処理には画素処理があり、かかる画素処理によってレイヤ合成のための画像重畳、リサイズ、画像フォーマット変換がなされる。また、デジタル／アナログ変換等を併せて実行する。 
【０４８１】
メディアインターフェイス７４は、ドライブ、ネットワークとのインターフェイスである。   
【０４８２】
メモリコントローラ７５は、メモリアクセスのためのスレーブ回路であり、フロントエンド部、信号処理部、バックエンド部の要求に応じて、パケットやピクチャデータのメモリの読み書きを実現する。 このメモリコントローラ７５を通じたメモリの読み書きによって、メモリは、トラックバッファやビデオプレーン、グラフィクスプレーン、ビデオデコーダにおける各種バッファとして機能することになる。
【０４８３】
ホストマイコン７６は、MPU,ROM,RAMから構成され、メディアインターフェイス、フロントエンド部、信号処理部、バックエンド部に対して、全体制御を実行する。この全体制御には、再生制御部、バイトコード処理モジュール、コマンド処理モジュール、モード管理モジュールとしての制御がある。このホストマイコンにおけるCPUは、命令フェッチ部、デコーダ、実行ユニット、レジスタファイル、プログラムカウンタを有している。そして、これまでの実施形態で述べた各種処理を実行するプログラムは、組込プログラムとして、基本入出力システム(BIOS)、様々なミドルウェア(オペレーションシステム)と共に、このホストマイコンにおけるマイコン内のROMに記憶されている。よって再生装置の主たる機能は、このシステムLSI内に組込んでおくことができる。
【０４８４】
（プログラムの実施形態） 
各実施形態に示したプログラムは、以下のようにして作ることができる。先ず初めに、ソフトウェア開発者は、プログラミング言語を用いて、各フローチャートや、機能的な構成要素を実現するようなソースプログラムを記述する。この記述にあたって、ソフトウェア開発者は、プログラミング言語の構文に従い、クラス構造体や変数、配列変数、外部関数のコールを用いて、各フローチャートや、機能的な構成要素を具現するソースプログラムを記述する。 
【０４８５】
記述されたソースプログラムは、ファイルとしてコンパイラに与えられる。コンパイラは、これらのソースプログラムを翻訳してオブジェクトプログラムを生成する。 
【０４８６】
コンパイラによる翻訳は、構文解析、最適化、資源割付、コード生成といった過程からなる。構文解析では、ソースプログラムの字句解析、構文解析および意味解析を行い、ソースプログラムを中間プログラムに変換する。最適化では、中間プログラムに対して、基本ブロック化、制御フロー解析、データフロー解析という作業を行う。資源割付では、ターゲットとなるプロセッサの命令セットへの適合を図るため、中間プログラム中の変数をターゲットとなるプロセッサのプロセッサが有しているレジスタまたはメモリに割り付ける。コード生成では、中間プログラム内の各中間命令を、プログラムコードに変換し、オブジェクトプログラムを得る。 
【０４８７】
ここで生成されたオブジェクトプログラムは、各実施形態に示したフローチャートの各ステップや、機能的構成要素の個々の手順を、コンピュータに実行させるような1つ以上のプログラムコードから構成される。ここでプログラムコードは、プロセッサのネィティブコード、JAVAバイトコードというように、様々な種類がある。プログラムコードによる各ステップの実現には、様々な態様がある。外部関数を利用して、各ステップを実現することができる場合、この外部関数をコールするコール文が、プログラムコードになる。また、1つのステップを実現するようなプログラムコードが、別々のオブジェクトプログラムに帰属することもある。命令種が制限されているRISCプロセッサでは、算術演算命令や論理演算命令、分岐命令等を組合せることで、フローチャートの各ステップを実現してもよい。 
【０４８８】
オブジェクトプログラムが生成されるとプログラマはこれらに対してリンカを起動する。リンカはこれらのオブジェクトプログラムや、関連するライブラリプログラムをメモリ空間に割り当て、これらを１つに結合して、ロードモジュールを生成する。こうして生成されるロードモジュールは、コンピュータによる読み取りを前提にしたものであり、各フローチャートに示した処理手順や機能的な構成要素の処理手順を、コンピュータに実行させるものである。かかるプログラムを非一時的なコンピュータプログラムとしてコンピュータ読取可能な記録媒体に記録してユーザに提供してよい。 
【０４８９】
(記録媒体のバリエーション) 
各実施の形態における記録媒体は、光ディスク、半導体メモリーカード等、パッケージメディア全般を含んでいる。本実施の形態の記録媒体は予め必要なデータが記録された光ディスク（例えばBD-ROM、DVD-ROMなどの既存の読み取り可能な光ディスク）を例に説明をするが、これに限定される必要はなく、例えば、放送またはネットワークを経由して配信された本発明の実施に必要なデータを含んだ3Dコンテンツを光ディスクへ書き込む機能を有する端末装置（例えば左記の機能は再生装置に組み込まれていても良いし、再生装置とは別の装置であってもよい）を利用して書き込み可能な光ディスク（例えばBD-RE、DVD-RAMなどの既存の書き込み可能な光ディスク）に記録し、この記録した光ディスクを本発明の再生装置に適用しても本発明の実施は可能である。 
【０４９０】
（半導体メモリカード記録装置及び再生装置の実施形態） 
各実施の形態で説明をしたデータ構造を半導体メモリーに記録する記録装置、及び、再生する再生装置の実施形態について説明する。 
【０４９１】
まず、前提となる技術として、BD-ROMに記録されているデータの著作権保護の仕組みについて説明する。 
【０４９２】
BD-ROMに記録されたデータのうち、例えば著作権の保護、データの秘匿性の向上の観点からデータの一部が、必要に応じて暗号化されている場合がある。 
【０４９３】
例えば、BD-ROMに記録されたデータのうち、暗号化されているデータは、例えばビデオストリームに対応するデータ、オーディオストリームに対応するデータ、またはこれらを含むストリームに対応するデータであったりする。 
【０４９４】
以後、BD-ROMに記録されたデータのうち、暗号化されているデータの解読について説明をする。 
【０４９５】
半導体メモリカード再生装置においては、BD-ROM内の暗号化されたデータを解読するために必要な鍵に対応するデータ（例えばデバイスキー）が予め再生装置に記憶されている。 
【０４９６】
一方、BD-ROMには暗号化されたデータを解読するために必要な鍵に対応するデータ（例えば上述のデバイスキーに対応するMKB（メディアキーブロック））と、暗号化されたデータを解読するための鍵自体を暗号化したデータ（例えば上述のデバイスキー及びMKBに対応する暗号化タイトルキー）が記録されている。ここで、デバイスキー、MKB、及び暗号化タイトルキーは対になっており、さらにBD-ROM上の通常コピーできない領域（BCAと呼ばれる領域）に書き込まれた識別子（例えばボリュームID）とも対応付けがされている。この組み合わせが正しくなければ、暗号の解読ができないものとする。組み合わせが正しい場合のみ、暗号解読に必要な鍵（例えば上述のデバイスキー、MKB及びボリュームIDを元に、暗号化タイトルキーを復号して得られるタイトルキー）を導き出すことができ、この暗号解読に必要な鍵を用いて、暗号化されたデータの解読が可能となる。 
【０４９７】
装填されたBD-ROMを再生装置において再生する場合、例えばBD-ROM内の暗号化タイトルキー、MKBと対になっている（または対応する）デバイスキーが再生装置内になければ、暗号化されたデータは再生がなされない。何故ならば、暗号化されたデータの解読に必要な鍵（タイトルキー）は、鍵自体が暗号化されて（暗号化タイトルキー）BD-ROM上に記録されており、MKBとデバイスキーの組み合わせが正しくなければ、暗号の解読に必要な鍵を導き出すことができないからである。 
【０４９８】
逆に暗号化タイトルキー、MKB、デバイスキー及びボリュームIDの組み合わせが正しければ、例えば上述の暗号解読に必要な鍵（デバイスキー、MKB及びボリュームIDを元に、暗号化タイトルキーを復号して得られるタイトルキー）を用いてビデオストリームがデコーダにてデコードされ、オーディオストリームがオーディオデコーダにてデコードされるように再生装置は構成されている。 
【０４９９】
以上が、BD-ROMに記録されているデータの著作権保護の仕組みであるが、この仕組みは、BD-ROMに必ずしも限定されるのではなく、例えば、読込み/書込み可能な半導体メモリー（例えばSDカードなどの可搬性を有する半導体メモリーカード）に適用した場合においても、実施が可能である。 
【０５００】
半導体メモリーカード再生装置の再生手順について説明する。光ディスクでは例えば、光ディスクドライブを介してデータを読み出すように構成していたのに対し、半導体メモリーカードを用いた場合には、半導体メモリーカード内のデータを読み出すためのI/Fを介してデータを読み出すように構成すればよい。 
【０５０１】
より詳細には、再生装置のスロットに半導体メモリーカードが挿入されると、半導体メモリーカードI/Fを経由して再生装置と半導体メモリーカードが電気的に接続される。半導体メモリーカードに記録されたデータは半導体メモリーカードI/Fを介して読み出すように構成すれば良い。 
【０５０２】
(受信装置としての実施形態) 
各実施形態で説明した再生装置は、本実施の形態で説明をしたデータに相応するデータ（配信データ）を電子配信サービスの配信サーバから受信し、半導体メモリカードに記録する端末装置としても実現することができる。 
【０５０３】
かかる端末装置は、各実施形態で説明した再生装置がそのような動作を行なえるように構成をされていても良いし、本実施の形態の再生装置とは別に半導体メモリーに配信データを記憶することを行う専用の端末装置にて行なうような形態であっても良い。ここでは再生装置が行なう例について説明をする。また記録先の半導体メモリーとしてSDカードを例に説明をする。 
【０５０４】
再生装置が備えるスロットに挿入されたSDメモリーカードに配信データを記録する場合、まず配信データを蓄積する配信サーバへ配信データの送信を要求する。このとき再生装置は挿入したSDメモリーカードを一意に識別するための識別情報（例えば個々のSDメモリーカード固有の識別番号、より具体的には、例えばSDメモリーカードのシリアル番号等）をSDメモリーカードから読み出して、読み出した識別情報を配信要求とともに、配信サーバへ送信する。 
【０５０５】
この、SDメモリーカードを一意に識別するための識別情報は例えば上述のボリュームIDに相当する。 
【０５０６】
一方、配信サーバでは、配信するデータのうち必要なデータ（例えばビデオストリーム、オーディオストリーム等）が暗号解読に必要な鍵（例えばタイトルキー）を用いて暗号の解除ができるように暗号化がなされてサーバ上に格納されている。 
【０５０７】
例えば配信サーバは、秘密鍵を保持しており、半導体メモリーカードの固有の識別番号のそれぞれに対して異なる公開鍵情報が動的に生成できるように構成されている。 
【０５０８】
また、配信サーバは、暗号化されたデータの解読に必要な鍵（タイトルキー）自身に対して暗号化ができるように構成されている（つまり暗号化タイトルキーを生成できるように構成されている）。 
【０５０９】
生成される公開鍵情報は例えば上述のMKB、ボリュームID及び暗号化タイトルキーに相当する情報を含む。暗号化されたデータは例えば半導体メモリー固有の識別番号、後述する公開鍵情報に含まれる公開鍵本体、および再生装置に予め記録されたデバイスキーの組み合わせが正しければ、暗号解読に必要な鍵（例えばデバイスキー、MKB及び半導体メモリー固有の識別番号を元に、暗号化タイトルキーを復号して得られるタイトルキー）が得られ、この得られた暗号解読に必要な鍵（タイトルキー）を用いて、暗号化されたデータの解読ができるものである。 
【０５１０】
次に、再生装置は、受信した公開鍵情報と配信データをスロットに挿入した半導体メモリーカードの記録領域に記録する。 
【０５１１】
次に、半導体メモリーカードの記録領域に記録した公開鍵情報と配信データに含まれるデータのうち暗号化したデータを復号して再生する方法の一例について説明をする。 
【０５１２】
受信した公開鍵情報は例えば公開鍵本体（例えば上述のMKB及び暗号化タイトルキー）、署名情報、半導体メモリーカードの固有の識別番号、および無効にすべきデバイスに関する情報を示すデバイスリストが記録されている。 
【０５１３】
署名情報には例えば、公開鍵情報のハッシュ値を含む。 
【０５１４】
デバイスリストには例えば、不正に再生がなされる可能性があるデバイスに関する情報が記載されている。これは例えば再生装置に予め記録されたデバイスキー、再生装置の識別番号、または再生装置が備えるデコーダの識別番号といったように、不正に再生される可能性がある装置、装置に含まれる部品、または機能（プログラム）といったものを一意に特定するための情報である。 
【０５１５】
半導体メモリーカードの記録領域に記録した配信データのうち、暗号化されたデータの再生に関し、説明をする。 
【０５１６】
まず、公開鍵本体を利用して暗号化したデータを復号する前に復号鍵本体を機能させてよいかどうかに関するチェックを行う。 
【０５１７】
具体的には、（１） 公開鍵情報に含まれる半導体メモリー固有の識別情報と半導体メモリーカードに予め記憶されている固有の識別番号とが一致するかどうかのチェック（２） 再生装置内で算出した公開鍵情報のハッシュ値と署名情報に含まれるハッシュ値が一致するかのチェック（３） 公開鍵情報に含まれるデバイスリストに示される情報に基づいて、再生を行う再生装置が不正な再生が可能かどうかのチェック（例えば公開鍵情報に含まれるデバイスリストに示されるデバイスキーと、再生装置に予め記憶されたデバイスキーが一致するかどうかのチェック） 
を行なう。これらのチェックを行なう順番は、どのような順序で行なってもよい。 
【０５１８】
上述の（１）〜（３）のチェックにおいて、公開鍵情報に含まれる半導体メモリー固有の識別情報と半導体メモリーに予め記憶されている固有の識別番号とが一致しない、再生装置内で算出した公開鍵情報のハッシュ値と署名情報に含まれるハッシュ値が一致しない、または、再生を行う再生装置が不正に再生される可能性があると判断した、のいずれかを満足すれば、再生装置は、暗号化されたデータの解読がなされないように制御する。 
【０５１９】
また、公開鍵情報に含まれる半導体メモリーカードの固有の識別情報と半導体メモリーカードに予め記憶されている固有の識別番号とが一致し、かつ再生装置内で算出した公開鍵情報のハッシュ値と署名情報に含まれるハッシュ値が一致し、かつ再生を行う再生装置が不正に再生される可能性がないと判断したのであれば、半導体メモリー固有の識別番号、公開鍵情報に含まれる公開鍵本体、および再生装置に予め記録されたデバイスキーの組み合わせが正しいと判断し、暗号解読に必要な鍵（デバイスキー、MKB及び半導体メモリー固有の識別番号を元に、暗号化タイトルキーを復号して得られるタイトルキー）を用いて、暗号化されたデータの解読を行なう。 
【０５２０】
例えば暗号化されたデータがビデオストリーム、オーディオストリームである場合、ビデオデコーダは上述の暗号解読に必要な鍵（暗号化タイトルキーを復号して得られるタイトルキー）を利用してビデオストリームを復号し（デコードし）、オーディオデコーダは、上述の暗号解読に必要な鍵を利用してオーディオストリームを復号する（デコードする）。 
【０５２１】
このように構成をすることにより、電子配信時において不正利用される可能性がある再生装置、部品、機能（プログラム）などが分っている場合、これらを識別するための情報をデバイスリストに示して、配信するようにすれば、再生装置側がデバイスリストに示されているものを含むような場合には公開鍵情報（公開鍵本体）を用いた復号を抑止できるようにできるため、半導体メモリー固有の識別番号、公開鍵情報に含まれる公開鍵本体、および再生装置に予め記録されたデバイスキーの組み合わせが、たとえ正しくても、暗号化されたデータの解読がなされないように制御できるため、不正な装置上での配信データの利用を抑止することが可能となる。 
【産業上の利用可能性】
【０５２２】
本発明は、立体視ビデオストリームを再生する再生装置２００において、立体視ビデオストリーム上に字幕やグラフィックスを重ね合わせて表示する技術に関し、特に、立体視ビデオストリームだけでなく字幕やグラフィックも合わせて立体的に出力し、重ね合わせる立体視ビデオ再生装置に適用可能である。 
【符号の説明】
【０５２３】
１００  記録媒体 
２００  再生装置 
３００  操作装置 
４００  表示装置 
５００  眼鏡 
【図１】
2012017603.tif 000003
【図２】
2012017603.tif 000004
【図３】
2012017603.tif 000005
【図４】
2012017603.tif 000006
【図５】
2012017603.tif 000007
【図６】
2012017603.tif 000008
【図７】
2012017603.tif 000009
【図８】
2012017603.tif 000010
【図９】
2012017603.tif 000011
【図１０】
2012017603.tif 000012
【図１１】
2012017603.tif 000013
【図１２】
2012017603.tif 000014
【図１３】
2012017603.tif 000015
【図１４】
2012017603.tif 000016
【図１５】
2012017603.tif 000017
【図１６】
2012017603.tif 000018
【図１７】
2012017603.tif 000019
【図１８】
2012017603.tif 000020
【図１９】
2012017603.tif 000021
【図２０】
2012017603.tif 000022
【図２１】
2012017603.tif 000023
【図２２】
2012017603.tif 000024
【図２３】
2012017603.tif 000025
【図２４】
2012017603.tif 000026
【図２５】
2012017603.tif 000027
【図２６】
2012017603.tif 000028
【図２７】
2012017603.tif 000029
【図２８】
2012017603.tif 000030
【図２９】
2012017603.tif 000031
【図３０】
2012017603.tif 000032
【図３１】
2012017603.tif 000033
【図３２】
2012017603.tif 000034
【図３３】
2012017603.tif 000035
【図３４】
2012017603.tif 000036
【図３５】
2012017603.tif 000037
【図３６】
2012017603.tif 000038
【図３７】
2012017603.tif 000039
【図３８】
2012017603.tif 000040
【図３９】
2012017603.tif 000041
【図４０】
2012017603.tif 000042
【図４１】
2012017603.tif 000043
【図４２】
2012017603.tif 000044
【図４３】
2012017603.tif 000045
【図４４】
2012017603.tif 000046
【図４５】
2012017603.tif 000047
【図４６】
2012017603.tif 000048
【図４７】
2012017603.tif 000049
【国際調査報告】
2012017603.tif 000050
2012017603.tif 000051