(57)【特許請求の範囲】
【請求項１】
ビデオフレームの立体視再生を行う3Dモード、及び、ビデオフレームの平面視再生を行う2Dモードのどちらにでも、再生モードを切り替えることができる再生装置であって、
左目用のビデオストリーム及び右目用のビデオストリームを含むデジタルストリームを記録媒体から読み出す読み出し手段と、
現在の再生モードを記憶しているモード記憶部と、
前記記録媒体から読み出されたデジタルストリームが3Dモードに対応しているか否かを判定する次元判定部と、
前記デジタルストリームが前記3Dモードに対応していて、尚且つ、前記現在の再生モードが前記3Dモードであるとの条件が成立する場合、前記デジタルストリームから前記右目用のビデオストリーム及び前記左目用のビデオストリームを分離し、前記条件が不成立である場合、前記デジタルストリームから前記右目用のビデオストリーム及び前記左目用のビデオストリームのいずれか一方を分離する、デマルチプレクサと、
前記分離されたビデオストリームをデコードすることで、立体視又は平面視のためのビデオフレームを得るビデオデコーダと、
前記ビデオデコーダから得られたビデオフレームを格納するビデオプレーンと、
バイトコードアプリケーションを実行するプラットフォーム部と、
前記再生装置と接続された表示装置に、ビデオフレームを伝送することで、ビデオフレームの出力を前記表示装置に実行させる伝送手段とを備え、
前記現在の再生モードが3Dモードであって通常再生を行う場合、前記ビデオプレーンから前記左目用のビデオストリームをデコードすることにより得られた左目用のビデオフレーム及び前記右目用のビデオストリームをデコードすることにより得られた右目用のビデオフレームをそれぞれ出力し、
前記現在の再生モードが3Dモード時であって特殊再生を行う場合、前記再生モードを3Dモードに維持したまま、前記デジタルストリームから分離された右目用のビデオストリーム及び左目用のビデオストリームのうちの一方をデコードして得られる同じビデオフレームを新たな左目用のビデオフレームおよび新たな右目用のビデオフレームとして前記ビデオプレーンからそれぞれ出力し、
前記モード記憶部に記憶されている再生モードが、2Dモードから3Dモードに切り替えられた場合、又は3Dモードから2Dモードに切り替えられた場合、伝送手段は表示装置の再認証を行い、
前記再認証後、切り替え後のモードに応じた出力ができる旨の通知を受けた場合に、前記プラットフォーム部によって実行されているバイトコードアプリケーションに対して前記切り替え後のモードに応じた出力ができる旨を通知する
ことを特徴とする再生装置。
【請求項２】
前記左目用のビデオフレーム、前記右目用のビデオフレームをそれぞれ前記再生装置と接続する表示装置へ出力する周期は、前記新たな左目用のビデオフレーム、前記新たな右目用のビデオフレームをそれぞれ前記再生装置と接続する表示装置へ出力する周期と同じであることを特徴とする請求項１記載の再生装置。
【請求項３】
前記ビデオプレーンは、右目用のビデオプレーン、左目用のビデオプレーンを有し、
前記現在の再生モードが3Dモード時である場合にて特殊再生が要求された際、前記再生モードを3Dモードに維持したまま、前記ビデオデコーダから出力される同じビデオフレームを前記右目用のビデオプレーン、前記左目用のビデオプレーンのそれぞれに書き込むように前記ビデオデコーダを制御する再生制御手段を備え、
前記新たな右目用のビデオフレーム、前記新たな右目用のビデオフレームとして前記ビデオプレーンからそれぞれ出力される対象となるビデオフレームは、
デジタルストリームから分離された右目用のビデオストリーム及び左目用のビデオストリームの何れか一方をデコードすることで得られたビデオフレームであり、前記再生制御手段は、前記ビデオデコーダから出力される同じビデオフレームを右目用のビデオプレーン、左目用のビデオプレーンのそれぞれに繰り返し書き込めるように構成した
ことを特徴とする請求項１または２記載の再生装置。
【請求項４】
前記特殊再生の指示とは、早送り、巻戻しの何れかである
ことを特徴とする請求項１または２に記載の再生装置。
【請求項５】
前記特殊再生は、再生速度の変化を伴うものがあり、
前記再生制御手段は、
前記再生速度の変化を伴う特殊再生の要求があった際、変化後の再生速度で、前記左目用のビデオストリームのビデオフレーム及び前記右目用のビデオストリームのビデオフレームの交互出力を実行することができるかどうかの判定を行い、
前記再生制御手段が前記ビデオデコーダから出力される同じビデオフレームを前記右目用のビデオプレーン、前記左目用のビデオプレーンのそれぞれに繰り返し書き込むのは、変化後の再生速度において、前記左目用のビデオストリームから得られた左目用のビデオフレーム及び前記右目用のビデオストリームから得られた右目用のビデオフレームをそれぞれ前記ビデオプレーンから出力できないと再生制御手段が判定した場合になされる
ことを特徴とする請求項３記載の再生装置。
【請求項６】
前記左目用のビデオストリームから得られた左目用のビデオフレーム及び右目用のビデオストリームから得られた左目用のビデオフレームの出力が可能な再生速度とは、
前記特殊再生が早見再生である場合の再生速度、前記特殊再生がコマ送りである場合の再生速度、前記特殊再生がコマ戻しである場合の再生速度
の何れかであることを特徴とする請求項５記載の再生装置。
【請求項７】
前記3Dモードにおいてビデオストリームの再生が停止又は一時停止した際、前記モード記憶部は、前記再生モードが3Dモードであるとの設定を維持し、
前記ビデオデコーダは、
再生停止位置の左目用のビデオストリームをデコードすることで得られた左目用のビデオフレーム及び再生停止位置の右目用のビデオストリームをデコードすることで得られた右目用のビデオフレームを出力する
ことを特徴とする請求項１記載の再生装置。
【請求項８】
前記再生装置は、コマンドによって記述されたプログラムを解釈して実行するコマンドインタプリタを備え、
前記ビデオ再生が停止又は一時停止するのは、更に
前記コマンドインタプリタによって実行されるオブジェクトプログラムから指示があった場合、または
前記左目用のビデオストリーム又は右目用のビデオストリームが終端まで再生された場合
である
ことを特徴とする請求項１記載の再生装置。
【請求項９】
再生装置における再生制御が通常再生からスライド再生に変化した際、
前記左目用のビデオストリームをデコードすることで得られた左目用のビデオフレーム及び前記右目用のビデオストリームをデコードすることで得られた右目用のビデオフレームをそれぞれ出力する
ことを特徴とする請求項１記載の再生装置。
【請求項１０】
前記記録媒体には、ユーザからの特殊再生の指示又はコンテンツからの特殊再生の指示をマスクするか否かを設定するマスク情報が記録されており、
前記再生装置は、
前記3Dモードにおいて特殊再生が要求された場合、前記マスク情報が、ユーザからの特殊再生の指示をマスクする旨を示しているかどうかの判定を行う再生制御手段を備え、
前記再生制御手段は、
前記マスク情報がマスクしている旨を示す場合、前記特殊再生を実行せずに左目用のビデオストリームをデコードすることで得られた左目用のビデオフレーム及び右目用のビデオストリームをデコードすることで得られた右目用のビデオフレームを前記ビデオプレーンからそれぞれに出力させることを行わせる、
前記マスク情報がマスクしていない旨を示す場合、前記モード記憶部における再生モードを前記3Dモードに維持したまま、前記デジタルストリームから分離された右目用のビデオストリーム及び左目用のビデオストリームのうちの一方をデコードして得られる同じビデオフレームを前記ビデオプレーンからそれぞれ出力する
ことを特徴とする請求項１記載の再生装置。
【請求項１１】
ビデオフレームの立体視再生を行う3Dモード、及び、ビデオフレームの平面視再生を行う2Dモードのどちらにでも、再生モードを切り替えることができる再生装置に組込むことができる集積回路であって、
前記再生装置が備える読み出し手段から読み出した左目用のビデオストリーム及び右目用のビデオストリームを含むデジタルストリームが3Dモードに対応しているか否かを判定する次元判定部と、
前記デジタルストリームが前記3Dモードに対応していて、尚且つ、現在の再生モードが前記3Dモードであるとの条件が成立する場合、前記デジタルストリームから前記右目用のビデオストリーム及び前記左目用のビデオストリームを分離し、前記条件が不成立である場合、前記デジタルストリームから前記右目用のビデオストリーム及び前記左目用のビデオストリームのいずれか一方を分離する、デマルチプレクサと、
前記分離されたビデオストリームをデコードすることで、立体視又は平面視のためのビデオフレームを得るビデオデコーダと、
前記ビデオデコーダにより得られたビデオフレームを格納するビデオプレーンと、
バイトコードアプリケーションを実行するプラットフォーム部と、
前記再生装置と接続された表示装置に、ビデオフレームを伝送することで、ビデオフレームの出力を前記表示装置に実行させる伝送手段とを備え、
前記現在の再生モードが3Dモードであって通常再生を行う場合、前記ビデオプレーンから前記左目用のビデオストリームをデコードすることにより得られた左目用のビデオフレーム及び前記右目用のビデオストリームをデコードすることにより得られた右目用のビデオフレームをそれぞれ出力し、
前記現在の再生モードが3Dモード時であって特殊再生を行う場合、前記再生モードを3Dモードに維持したまま、前記デジタルストリームから分離された右目用のビデオストリーム及び左目用のビデオストリームのうちの一方をデコードして得られる同じビデオフレームを新たな左目用のビデオフレームおよび新たな右目用のビデオフレームとして前記ビデオプレーンからそれぞれ出力し、
前記再生モードが、2Dモードから3Dモードに切り替えられた場合、又は3Dモードから2Dモードに切り替えられた場合、伝送手段は表示装置の再認証を行い、
前記再認証後、切り替え後のモードに応じた出力ができる旨の通知を受けた場合に、前記プラットフォーム部によって実行されているバイトコードアプリケーションに対して前記切り替え後のモードに応じた出力ができる旨を通知する
ことを特徴とする集積回路。
【請求項１２】
ビデオフレームの立体視再生を行う3Dモード、及び、ビデオフレームの平面視再生を行う2Dモードのどちらにでも、再生モードを切り替えることができるコンピュータに用いられる再生方法であって、
左目用のビデオストリーム及び右目用のビデオストリームを含むデジタルストリームを記録媒体から読み出す読出ステップと、
前記記録媒体から読み出されたデジタルストリームが3Dモードに対応しているか否かを判定する次元判定ステップと、
前記デジタルストリームが前記3Dモードに対応していて、尚且つ、現在の再生モードが前記3Dモードであるとの条件が成立する場合、前記デジタルストリームから前記右目用のビデオストリーム及び前記左目用のビデオストリームを分離し、前記条件が不成立である場合、前記デジタルストリームから前記右目用のビデオストリーム及び前記左目用のビデオストリームのいずれか一方を分離する分離ステップと、
前記分離されたビデオストリームをデコードすることで、立体視又は平面視のためのビデオフレームを得るデコードステップと、
前記デコードステップにより得られたビデオフレームをビデオプレーンに格納する格納ステップと、
バイトコードアプリケーションを実行する実行ステップと、
前記コンピュータと接続された表示装置に、ビデオフレームを伝送することで、ビデオフレームの出力を前記表示装置に実行させる伝送ステップを含み、
前記現在の再生モードが3Dモードであって通常再生を行う場合、前記ビデオプレーンから前記左目用のビデオストリームをデコードすることにより得られた左目用のビデオフレーム及び前記右目用のビデオストリームをデコードすることにより得られた右目用のビデオフレームをそれぞれ出力し、
前記現在の再生モードが3Dモード時であって特殊再生を行う場合、前記再生モードを3Dモードに維持したまま、前記デジタルストリームから分離された右目用のビデオストリーム及び左目用のビデオストリームのうちの一方をデコードして得られる同じビデオフレームを新たな左目用のビデオフレームおよび新たな右目用のビデオフレームとして前記ビデオプレーンからそれぞれ出力し、
前記再生モードが、2Dモードから3Dモードに切り替えられた場合、又は3Dモードから2Dモードに切り替えられた場合、伝送ステップは表示装置の再認証を行い、
前記再認証後、切り替え後のモードに応じた出力ができる旨の通知を受けた場合に、前記実行されているバイトコードアプリケーションに対して前記切り替え後のモードに応じた出力ができる旨を通知する
ことを特徴とする再生方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、立体視ビデオと、字幕やグラフィックスとの重ね合わせ技術の技術分野に属する発明である。
【背景技術】
【０００２】
上記重合せ技術とは、ビデオストリーム、字幕、グラフィックスのために、それぞれ別々の表示プレーンを再生装置に持たせて、高画質なビデオストリームの個々のビデオフレームに字幕やグラフィックスを重ね合わせ、接続された表示装置などの機器に出力する技術であり、高い臨場感を実現する技術として広く普及している。
【０００３】
接続相手となる表示デバイスの中では、フラットな映像だけではなく、飛び出るような映像を楽しむ、立体視表示装置の普及が近い将来予測される。立体視表示装置には、さまざまな方式があるが、基本的な原理として左目と右目に異なる絵を見せる仕組みを導入し、その両目間の視差を利用することにより、立体的な映像を擬似的に作る。
【０００４】
たとえば、よく使われる方式の一つにシャッターメガネを利用した方式がある。この方式では、視聴者の左目と右目の視野を、メガネによって交互に高速にふさぎ、このメガネの動作と同期して表示装置の表示画像も左目用・右目用と高速で更新することによって、結果的に表示装置で表示される左目用の画像はシャッターメガネにより左目だけが見え、逆に右目用の画像は右目だけが見える仕組みを実現できる。
【０００５】
通常のフラットな映像と同等のフレームレートで立体化された映像を視聴者に見せようとすると、表示装置側は、通常の２倍の応答性能が必要であり、たとえば一秒６０コマのビデオを表示するためには最低、１秒１２０コマの切り替えをしなければならない。従って、表示されるビデオストリームは、１秒１２０コマの状態でエンコードされなければならないが、フレームレートを上げる以外の方法で立体効果を得るためには、非特許文献１のようにサイドバイサイド方式によってエンコードするという方法もある。
【０００６】
この他、特許文献２のようにチェッカーパターンを使った方式もある。
【０００７】
更に、立体化させた映像を特殊再生させた場合の表示技術において、特許文献３のように立体化させた映像再生時に一時停止した場合でも立体映像を継続して鑑賞することができる技術がある。
【０００８】
複数のレイヤーを重ねて表示する技術において、特許文献４のようにマルチ画面表示が所定の画面数を超えた状態でGFX描画を行う場合、優先度の低い入力映像と判断された少なくとも1つ以上の入力映像を、GFX描画期間中にフレーム間引きするように制御する技術がある。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】国際公開第２００５/１１９６７５号パンフレット
【特許文献２】米国特許出願公開第２００８/００３６８５４号明細書
【特許文献３】特開２００２-９５０１７
【特許文献４】特開２００３-２９８９３８
【非特許文献】
【００１０】
【非特許文献１】FOUNDATIONS OF THE  STEREOSCOPIC CINEMA A  STUDY IN DEPTH（by  LENNY LIPTON）
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ところで、現状、デジタルストリームを立体視して楽しむ方式は、劇場等での応用が主流であるが、上記特許文献に述べられているように、家庭設置用の再生装置で立体視デジタルストリームを再生して楽しむ利用形態も今後は普及が予想される。
【００１２】
そして、3Dの立体視映像を作り出すには、当然、デジタルストリームが3Dに対応していることが必要になる。
【００１３】
しかしながら、いくらデジタルストリームが3Dに対応していても、再生装置にデジタルストリームが3Dに対応してない場合には、3Dの立体視映像を作り出すことができない。また、デジタルストリームが3Dに対応していても、ユーザが2Dでデジタルストリームを再生したい場合もある。
【００１４】
つまり、デジタルストリームが2Dに対応しているか3Dに対応しているかどうかだけで、再生装置がデジタルストリームを3Dで再生するか2Dで再生するかを決定するとなると、不都合が発生する場合がある。
【００１５】
本発明の目的は、3Dに対応しているか否かが、デジタルストリームと、再生装置とで異なる場合でも、適切なストリーム再生を実現することができる再生装置を提供することができる。
【課題を解決するための手段】
【００１６】
上記課題を解決することができる再生装置は、
ビデオフレームの立体視をユーザに行わせる3Dモード、及び、ビデオフレームの平面視をユーザに行わせる2Dモードのどちらにでも、表示モードを切り替えることができる再生装置であって、
左目用のビデオストリーム及び右目用のビデオストリームを含むデジタルストリームを記録媒体から読み出す読み出し手段と、
現在の表示モードを記憶しているモード記憶部と、
記録媒体から読み出されたデジタルストリームが3Dモードに対応しているか否かを判定する次元判定部と、
前記デジタルストリームが3Dモードに対応していて、尚且つ、現在の表示モードが3Dモードであるとの条件が成立する場合、前記デジタルストリームから右目用ビデオストリーム及び左目用のビデオストリームを分離し、前記条件が不成立である場合、前記デジタルストリームから右目用ビデオストリーム及び左目用のビデオストリームのいずれか一方を分離する、デマルチプレクサと、
前記分離されたビデオストリームをデコードすることで、立体視又は平面視のためのビデオフレームを得るビデオデコーダと
を備えることを特徴としている。
【発明の効果】
【００１７】
上記のように構成された再生装置は、デジタルストリームが2Dに対応しているか3Dに対応しているかという判断と、再生装置が2Dで再生されるように設定されているか3Dで再生されるように設定されているかの判断を両方行って、最終的に、2Dでデジタルストリームを再生するのか3Dでデジタルストリームを再生するのかを決定することで、適切に立体視映像を作り出すことができる。
【００１８】
立体視ビデオストリームを家庭設置用の再生装置で再生しようとした場合は、当然、早送り、巻き戻し等の特殊再生がなされる可能性もある。しかし、立体的な映像を擬似的に作成するには、左目と右目のビデオストリームをそれぞれデコードして、それらを交互に切り替えて出力する必要があり、平面的な処理を行う平面処理に比べて処理量は増えてしまう。したがって、仮に、立体視ビデオストリームを再生する再生装置で特殊再生が行われた場合、立体視の処理が特殊再生した場合の再生速度に追いつかなくなってしまう可能性がある。
【００１９】
かかる課題の解決には、上記再生装置を以下のように構成することが望ましい。
【００２０】
即ち、前記再生装置は、
現在の表示モードが3Dモード時である場合にて特殊再生が要求された際、表示モードを3Dモードに維持したまま、同じビデオフレームを2回以上繰り返し出力するという処理をビデオデコーダに行わせる再生制御手段を備え、
繰返出力の対象となるビデオフレームは、
デジタルストリームから分離された右目用ビデオストリーム及び左目用のビデオストリームの何れか一方をデコードすることで得られたビデオフレームであり、繰り返し出力されたビデオフレームを右目用のビデオプレーン、左目用のビデオプレーンのそれぞれに書き込むように構成することが望ましい。この再生装置は、立体視ビデオストリームを再生する再生装置で特殊再生が行われた場合でも、立体視の処理が特殊再生した場合の再生速度に追いつかなくなってしまうことを防ぐことができる。
【００２１】
ビデオストリームを3D表示にする場合、手前側に表示するか、あるいは、奥側に表示するかの２パターンがある。そして、ビデオストリームが手前側に3D表示されている場合に、2Dのグラフィクスストリームを合成するとグラフィクスストリームが見えなくなってしまい、問題となる。
【００２２】
したがって、グラフィクスストリームも3Dで表示できるようにすることで、上記問題を解消することができる。
【００２３】
また、グラフィクスストリームも3D表示できると、様々な立体的な映像をユーザが楽しめることができるという効果もある。
【００２４】
表示モードが3Dから2Dに変更された場合又は表示モードが2Dから3Dに変更された場合、再生装置は表示装置に対して表示モードを切り替えた旨の通知を行う。通知を受けた表示装置は実際に切り替え後のモードで表示できる準備が完了したら、再生装置に対して切り替え後のモードで表示できる準備が完了したことを通知する。そして、表示装置に対して表示モードを切り替えた旨の通知を行ってから、表示装置が切り替え後のモードで表示できる準備が完了したことを再生装置に通知するまでの間は、プレーンに書き込みを行うことは可能であるが、表示装置には表示されない状態（ブラックアウト）になってしまう。したがって、この間に、プレーンに書き込まれた内容は表示装置に表示されることはない。
【００２５】
一方、アプリケーションは、例えば、映画の本編の映像を利用したゲーム等を提供することでユーザを楽しませることができるプログラムである。そして、ゲーム等には、例えば、本編の映像、音声に応じてアニメーションを再生する場合もある。つまり、アニメーションを構成するグラフィックス画像を描画するアプリケーションは、本編の映像であるビデオストリームに同期させてインタラクティブグラフィックスプレーンにグラフィックス画像を描画する必要がある。
【００２６】
以上から、アプリケーションが、表示装置に対して表示モードを切り替えた旨の通知を行ってから、表示装置が切り替え後のモードで表示できる準備が完了したことを再生装置に通知するまでの間に、インタラクティブグラフィックスプレーンにグラフィクス画像を書き込んでグラフィクス画像の描画処理を進めてしまう場合もある。
【００２７】
このような場合、アプリケーションは、グラフィクスストリームとビデオストリームとを同期させることができなくなってしまう。
【００２８】
かかる課題の解決にあたっては、上記再生装置を以下のように構成することが望ましい。つまり前記再生装置は、
バイトコードアプリケーションを実行するプラットフォーム部と、
再生装置と接続された表示装置に、ビデオフレームを伝送することで、ビデオフレームの出力を表示装置に実行させる伝送手段とを備え、
前記モード記憶部に記憶されている表示モードが、2Dモードから3Dモードに切り替えられた場合、又は3Dモードから2Dモードに切り替えられた場合、伝送手段は表示装置の再認証を行い、
前記再認証後、切り替え後のモードに応じた出力ができる旨の通知を受けた場合に、前記プラットフォーム部によって実行されているバイトコードアプリケーションに対して前記切り替え後のモードに応じた出力ができる旨を通知すべきである。
【００２９】
表示装置に対して表示モードを切り替えた旨の通知を行ってから、表示装置が切り替え後のモードで表示できる準備が完了したことを再生装置に通知するまでの間に、アプリケーションがインタラクティブグラフィックスプレーンにグラフィクス画像を書き込んで処理を進めないように、アプリケーションに対して表示装置が切り替え後のモードで表示できる準備が完了したことを通知する仕組みを作ることができる。これによりビデオストリームに同期させて、アプリケーションがインタラクティブグラフィックスプレーンにグラフィックス画像を描画することができるようにすることが可能となる。
【図面の簡単な説明】
【００３０】
【図１】本願の課題解決手段を備えた、最も基本的な再生装置の内部構成を示す図である。
【図２】本願の課題解決手段を備えた、最も基本的な再生方法を示すフローチャートである。
【図３】具体的な電化製品として、本願の課題解決手段を具備した再生装置を使用するにあたっての使用形態を示す図である。
【図４】BD-ROM１００の内部構成を示す図である。
【図５】プレイリストファイルの内部構成のうち、「再生属性情報」、「再生データ情報」の内部構成を詳細に示す図である。
【図６】2Dプレイリストを規定するプレイリストファイルの具体的な記述を示す。
【図７】3Dプレイリストを規定するプレイリストファイルの一例を示す。
【図８】本願の課題解決手段を具備した再生装置の内部構成の構成を示す図である。
【図９】レジスタセット１２の内容の例を模式的に示したものである。
【図１０】プレーンシフトがなされたイメージプレーンが合成されたビデオフレームを示す図である。
【図１１】左方向のプレーンシフト後のイメージプレーンと、右方向のプレーンシフト後のイメージプレーンとを液晶眼鏡５００で視聴することにより現れる立体視画像を示す。
【図１２】再生装置２００が上記映像データであるプレイリストを読み込んで立体視映像に重畳した立体視字幕・立体視グラフィックスを映し出す際の処理手順を示すフローチャートである。
【図１３】3Dモードにおけるビデオフレーム処理の処理手順を示すフローチャートである。
【図１４】2Dモードでのプレイリスト再生の処理手順を示すフローチャートである。
【図１５】2Dモードにおける２Dストリームのビデオフレーム処理の処理手順を示すフローチャートである。
【図１６】2Dモードにおける3Dストリームのビデオフレーム処理の処理手順を示すフローチャートである。
【図１７】マルチイメージプレーンに対応することができるプレイリスト再生処理の処理手順を示すフローチャートである。
【図１８】表示モード切り替え完了通知イベントの出力手順を組込んだ、3Dモードにおけるビデオフレーム処理の処理手順を示すフローチャートである。
【図１９】表示モード切り替え完了通知イベントの出力手順を組込んだ、2Dモードにおけるビデオフレーム処理の処理手順を示すフローチャートである。
【図２０】通常再生に加え、特殊再生を考慮した3Dモードにおけるビデオフレーム処理の処理手順を示すフローチャートである。
【図２１】ユーザ操作、BD-Jアプリケーション、ムービーオブジェクトからの指示による特殊再生を禁止する場合のフローチャートの一例を示している。
【図２２】Depth演算方式を適用した再生装置の内部構成を示すブロック図である。
【図２３】Depth演算方式を用いた場合の3Dモードにおけるビデオフレーム処理の処理手順を示すフローチャートである。
【図２４】再生装置２００と、表示装置４００との通信シーケンスを示す。
【図２５】HDMIインターフェイスにおける、モード切替の処理手順を示すフローチャートである。
【図２６】B−Dプレゼンテーションモード、B−Bプレゼンテーションモード、B−Dプレゼンテーションモードというように、表示モードが遷移する場合に、出力されるピクチャや表示周波数、HDMIがどのように変化するかを示す図である。
【図２７】通常再生から早送りへの切り替え、早送りから通常再生への切り替えによって、再生装置におけるデコード内容、及び、表示装置４００の表示内容がどのように変化するかを示す。
【図２８】GOP内に存在するIピクチャ、Bピクチャ、Pピクチャのうち、どれを選んで再生するか、ビデオストリームを構成する複数のClosed-GOP,Open-GOPのうち、どれを選んで再生するかによって、速度調整を実現する倍速再生の実現例を示す。
【図２９】デマルチプレクサ及びビデオデコーダの内部構成を示す。
【図３０】倍速再生を考慮した特殊再生の処理手順を示すフローチャートである。
【図３１】3Dモードにおけるビデオフレーム処理の処理手順を示すフローチャートである。
【図３２】ユーザ操作、BD-Jアプリケーションによる要求、ムービーオブジェクトによる要求に応じたイメージプレーン処理手順を示すフローチャートである。
【図３３】記録方法の処理手順を示すフローチャートである。
【図３４】再生装置のハードウェア的な内部構成を示す図である。
【図３５】プレーンオフセットの符号が正（左目用のグラフィクススイメージを右方向へずらし、右目用のグラフィクススイメージを左方向へずらす）である場合、像が表示画面よりも手前にあるように見える原理を説明するための図である。
【図３６】プレーンオフセットの符号が負（左目用のグラフィクススイメージを左方向へずらし、右目用のグラフィクススイメージを右方向へずらす）である場合、像が表示画面よりも奥にあるように見える原理を説明するための図である。
【図３７】プレーンオフセットの大小によって、字幕の飛び出し度合がどのように変化するかを示す図である。
【図３８】イメージプレーン８の内部構成を示す。
【図３９】右方向のシフト、左方向のシフトがなされた後の、前景領域の画素データ及び背景領域の画素データを示す。
【図４０】イメージプレーン８におけるプレーンシフトの処理手順を示す図である。
【図４１】グラフィクスプレーンに格納されている画素データを示す図である。
【図４２】シフトがなされた後のグラフィクスプレーンの格納内容を示す。
【発明を実施するための形態】
【００３１】
(第１実施形態)
以下、図面を参照しながら、上記課題解決手段を具備した再生装置の実施形態について説明する。
【００３２】
図１は、本願の課題解決手段を備えた、最も基本的な再生装置の内部構成を示す図である。本図に示す再生装置は、上記課題解決手段を除き、無駄な構成要素を極力排除したものなので、読出手段２０１、次元判定部２０２、モード記憶部２０３、デマルチプレクサ２０４、ビデオデコーダ２０５から構成される。
【００３３】
図２は、本願の課題解決手段を備えた、最も基本的な再生方法を示すフローチャートである。本図に示す再生方法は、上記課題解決手段に対応する時系列的要素である読出ステップＳ１０１、モード記憶ステップＳ１０２、分離ステップＳ１０３、デコード及びフレーム出力ステップＳ１０４から構成される。
【００３４】
図３は、具体的な電化製品として、上記課題解決手段を具備した再生装置を使用するにあたっての使用形態を示す図である。本図に示すように、記録媒体の一例であるBD-ROM１００、再生装置２００は、リモコン３００、表示装置４００、液晶眼鏡５００と共にホームシアターシステムを構成し、ユーザによる使用に供される。
【００３５】
BD-ROM１００は、上記ホームシアターシステムに、例えば映画作品を供給する。
【００３６】
再生装置２００は、表示装置４００と接続され、BD-ROM１００を再生する。こうして再生される再生映像には、2D映像、3D映像が存在する。2D映像とは、表示装置の表示画面をX-Y平面として捉えて、このX-Y平面上の画素にて表現される画像であり、平面視画像とも呼ばれる。
【００３７】
対照的に3D映像とは、表示装置の画面におけるX-Y平面上の画素に、Z軸方向の奥行きを加えた画像である。3D映像は、左目で視聴すべき左目用映像と、右目で視聴すべき右目用映像とを共に再生して、これら左目用映像、右目用映像で立体視効果を発揮することにより、ユーザによる視聴に供される。3D映像における画素のうち、正のZ軸座標をもつものをユーザは、表示装置の画面より手前にあると感じ、負のZ軸座標をもつものを、画面より奥に存在すると感じる。
【００３８】
リモコン３００は、再生制御に関する様々な操作をユーザから受け付けると共に、階層化されたGUIに対する操作をユーザから受け付ける機器であり、かかる操作受け付けのため、リモコン１００は、ポップアップメニューを呼び出すメニューキー、ポップアップメニューを構成するGUI部品のフォーカスを移動させる矢印キー、ポップアップメニューを構成するGUI部品に対して確定操作を行う決定キー、階層化されたポップアップメニューをより上位のものにもどってゆくための戻りキー、数値キーを備える。
【００３９】
表示装置４００は、映画作品の再生映像を表示したり、メニュー等を表示することで、対話的な操作環境をユーザに提供する。
【００４０】
液晶眼鏡５００は、液晶シャッタと、制御部とから構成され、ユーザの両目における視差を用いて立体視を実現する。液晶眼鏡５００の液晶シャッタは、印加電圧を変えることにより、光の透過率が変化する性質を有する液晶レンズを用いたシャッタである。液晶眼鏡５００の制御部は、再生装置から送られる右目用の画像と左目用の画像の出力の切り替えの同期信号を受け、この同期信号に従って、第１の状態、第２の状態の切り替えを行う。
【００４１】
第１の状態とは、右目に対応する液晶レンズが光を透過しないように印加電圧を調節し、左目に対応する液晶レンズが光を透過するように印加電圧を調節した状態であり、この状態において、左目用の画像が視聴に供されることになる。
【００４２】
第２の状態とは、右目に対応する液晶レンズが光を透過するように印加電圧を調節し、左目に対応する液晶レンズが光を透過しないように印加電圧を調節した状態であり、この場合、液晶眼鏡は、右目用の画像を視聴に供することができる。
【００４３】
一般に右目と、左目は、その位置の差に起因して、右目から見える像と左目から見える像には見え方に若干の差がある。この差を利用して人間は目に見える像を立体として認識できるのである。そこで、液晶眼鏡５００が、以上のような第１の状態、第２の状態の切り替えを、右目用の画像と左目用の画像の出力の切り替えタイミングに同期させれば、ユーザは、平面的な表示が立体的に見えると錯覚する。次に、右目用映像、左目用映像を表示するにあたっての時間間隔について説明する。
【００４４】
具体的には、平面表示の画像において、右目用の画像と左目用の画像には人間の視差に相当する見え方の差に相当する程度の差があり、これらの画像を短い時間間隔で切り替えて表示することにより、あたかも立体的な表示がなされているように見えるのである。
【００４５】
この短い時間間隔というのは、上述の切り替え表示により人間が立体的に見えると錯覚する程度の時間であれば足りる。
【００４６】
以上がホームシアターシステムについての説明である。
【００４７】
続いて再生装置２００が再生の対象としている、記録媒体について説明する。再生装置２００により、再生されるのは、BD-ROM１００である。図４は、BD-ROM１００の内部構成を示す図である。
【００４８】
本図の第４段目にBD-ROMを示し、第３段目にBD-ROM上のトラックを示す。本図のトラックは、BD-ROMの内周から外周にかけて螺旋状に形成されているトラックを、横方向に引き伸ばして描画している。このトラックは、リードイン領域と、ボリューム領域と、リードアウト領域とからなる。また、リードインの内側にはBCA（Burst Cutting  Area）と呼ばれるドライブでしか読み出せない特別な領域がある。この領域はアプリケーションから読み出せないため、例えば著作権保護技術などに利用されることがよくある。
【００４９】
本図のボリューム領域は、ファイルシステム層、応用層というレイヤモデルをもち、ファイルシステム層には、ファイルシステム情報を先頭に映像データなどのアプリケーションデータが記録されている。ファイルシステムとは、UDFやISO９６６０などのことであり、通常のPCと同じように記録されている論理データをディレクトリ、ファイル構造を使って読み出しする事が可能になっており、２５５文字のファイル名、ディレクトリ名を読み出すことが可能である。ディレクトリ構造を用いてBD-ROMの応用層フォーマット(アプリケーションフォーマット)を表現すると、図中の第１段目のようになる。この第1段目においてBD-ROMには、Rootディレクトリの下に、CERTIFICATEディレクトリ、及びBDMVディレクトリがある。
【００５０】
CERTIFICATEディレクトリの配下には、ディスクのルート証明書のファイル(app.discroot.cert)が存在する。app.discroot.certはJava（登録商標）仮想マシンを用いて動的なシナリオ制御を行うJava（登録商標）アプリケーションのプログラムを実行する際に、アプリケーションが改竄されていないか、及びアプリケーションの身元確認を行なうプロセス（以下、署名検証という）に用いられるデジタル証明書である。
【００５１】
BDMVディレクトリはBD-ROMで扱うAVコンテンツや管理情報などのデータが記録されているディレクトリであり、BDMVディレクトリの配下には、PLAYLISTディレクトリ、CLIPINFディレクトリ、STREAMディレクトリ、BDJOディレクトリ、JARディレクトリ、METAディレクトリと呼ばれる６つのサブディレクトリが存在し、INDEX.BDMVとMovieObject.bdmvの２種類のファイルが配置されている。
【００５２】
STREAMディレクトリは、いわばトランスポートストリーム本体となるファイルを格納しているディレクトリであり、拡張子“m２ts“が付与されたファイル(00001. m２ts)が存在する。
【００５３】
PLAYLISTディレクトリには、拡張子“mpls“が付与されたファイル(00001.mpls)が存在する。
【００５４】
CLIPINFディレクトリには、拡張子“clpi“が付与されたファイル(00001.clpi)が存在する。
【００５５】
BDJOディレクトリには、拡張子“bdjo“付与されたファイル(XXXXX.bdjo)が存在する。
【００５６】
JARディレクトリには、拡張子“jar“が付与されたファイル(YYYYY.jar)が存在する。
【００５７】
METAディレクトリには、XMLファイル(ZZZZZ.xml)が存在する。
【００５８】
以下、これらのファイルについて説明する。
＜Index.bdmv＞
Index.bdmv(インデックステーブル)はBD-ROM全体に関する管理情報であり、再生装置へのディスク挿入後に、index.bdmvが最初に読み出されることで、再生装置においてディスクが一意に認識される。Index.bdmvは、光ディスクのタイトル構造を構成する個々のタイトルと、動作モードを規定する動作モードオブジェクトとの対応付けを規定する。タイトル構造とは、光ディスクの装填時に、視聴者への警告やコンテンツプロバイダによるロゴ表示等を伴うタイトル(ファーストプレイタイトル)の再生を開始し、ファーストプレイタイトルの再生後、映画作品の本編を構成する一般タイトル(“１”、“２”、“３”というようなシリアル番号で識別される一般的なタイトル)の再生を行い、本編タイトルの再生が終了すれば、タイトル選択を受け付けるタイトル(メニュータイトル)を再生してユーザによる一般タイトルの選択待ちを行うというものである。
【００５９】
光ディスクのタイトルは、上述したようなファーストプレイタイトル、一般タイトル、メニュータイトルのそれぞれに、動作モードを規定する動作モードオブジェクトを割り当てることで、各々のタイトルが、どのような動作モードで動作するのかを詳細に規定する。
【００６０】
＜MovieObject.bdmv＞
MovieObject.bdmvは、ムービーオブジェクトを格納している。ムービーオブジェクトは、動作モードオブジェクトの1つであり、コマンドベースの動作モード(HDMVモードという)において、複数のナビゲーションコマンドをバッチジョブとして再生装置に供給し、これらナビゲーションコマンドに基づき再生装置を動作させるバッチジョブプログラムである。具体的にいうとムービーオブジェクトは、1つ以上のコマンドと、GUIに対するメニューコール、タイトルコールがユーザによってなされた場合、これらのコールをマスクするかどうかを規定するマスクフラグを含む。ナビゲーションコマンドは、いわゆるインタプリタ型言語で記述された制御指令のことであり、複数のナビゲーションコマンドはバッチジョブとしてインタプリタ(ジョブ制御プログラム)によって解読されて、CPUに所望のジョブを実行させる。ナビゲーションコマンドは、オペコードと、オペランドとからなり、オペコードでタイトル分岐や再生、演算等の操作を再生装置に命じることができる。またオペランドは、プレイリストの番号やタイトル番号であり、操作の対象となる対象物を指定することができる。
【００６１】
＜m2tsファイル＞
拡張子“m２ts“が付与されたファイルは、MPEG-TS (TransportStream)形式のデジタルAVストリームであり、ビデオストリーム、1つ以上のオーディオストリーム、字幕データを多重化することで得られる。ビデオストリームは映画の動画部分を、オーディオストリームは映画の音声部分をそれぞれ示している。2D用のストリームのみを含むトランスポートストリームを“2Dストリーム”、3D用のストリームを含むトランスポートストリームを“3Dストリーム”という。
【００６２】
3Dストリームの場合はm２tsの中に左目用と右目用の両方のデータを入れることができるし、左目用と右目用に別々にm２tsを用意することができる。ストリームに使われる容量を少なくするため、左目用ビデオストリームと右目用ビデオストリームが相互参照をするようなコーデック（たとえば、MPEG-４ AVC  MVC）を使うことが望ましい。そのようなコーデックで圧縮符号化されたビデオストリームを、MVCビデオストリームと呼ぶ。
【００６３】
＜プレイリスト情報＞
拡張子“mpls“が付与されたファイルは、プレイリスト(PL)情報を格納したファイルである。プレイリスト情報は、AVクリップを参照してプレイリストを定義する情報である。
【００６４】
BD-ROM上には再生対象のストリームが2D用か3D用かを識別する次元識別フラグが存在しており、本実施の形態ではプレイリスト（PL）情報に次元識別フラグを埋め込んでいる。      
【００６５】
本実施の形態では、BD-ROM上のプレイリスト（PL）の構成フォーマットから再生対象のストリームに3D用のストリームが存在するかを特定できる。再生制御のためのJava(TM)アプリケーションが、このプレイリスト情報を再生するJMFプレーヤインスタンスの生成をJava(TM)仮想マシンに命じることで、AV再生を開始させることができる。JMF(Java Media Frame work)プレーヤインスタンスとは、JMFプレーヤクラスを基にして仮想マシンのヒープメモリ上に生成される実際のデータのことである。
【００６６】
さらに、用語定義として2Dプレイリストは2D再生用のストリームのみが含まれるものであり、3Dプレイリストには2Dストリームに加えて、3D立体視用のストリームも含まれるものである。
【００６７】
拡張子“clpi“が付与されたファイルは、AVクリップのそれぞれに1対1に対応するClip情報である。管理情報故に、Clip情報は、AVクリップにおけるストリームの符号化形式、フレームレート、ビットレート、解像度等の情報や、GOPの先頭位置を示すEP＿mapをもっている。以上のClip情報及びプレイリスト情報は、“静的シナリオ“に分類される。
【００６８】
<BD-Jオブジェクト>
BD-Jオブジェクトは、バイトコードアプリケーションベースの動作モード(BD-Jモードという)で再生装置を動作させる動作モードオブジェクトである。バイトコードアプリケーションとは、オブジェクト指向言語であるようなコンパイラ型言語、例えばJava(TM)言語を用いて生成されるアプリケーションである。BD-Jオブジェクトは、Java(TM)言語などの“コンパイラ型言語”によって、再生装置の動作を規定するものなので、インタプリタ型言語であるコマンドによって記述されたムービーオブジェクトとは、対極的な意味をもつ。BD-Jオブジェクトは、以下の「アプリケーション管理テーブル」を含む。
【００６９】
（アプリケーション管理テーブル）
アプリケーション管理テーブルは、複数のエントリーを含む。これらのエントリーは、タイトルにおいて、アプリケーションを自動的に起動させるべきか(AutoStart)、他のアプリケーションからの呼出しを待って起動すべきか(Present)という起動の仕方を示す「制御コード」と、JARファイルのファイル名となる５桁の数値を用いて、対象となるアプリケーションを示す「アプリケーションID」と、「アプリケーション詳細情報」を含む。
【００７０】
「アプリケーション詳細情報」は、アプリケーションがロードされる場合の「優先度」と、アプリケーションがタイトルアンバウンドであるか否か、ディスクバウンドであるか否かを示す「バインディング情報」と、アプリケーションの名称を示す文字列と、アプリケーションの言語属性を示す「言語コード」と、アプリケーションに対応づけるアイコンの所在を指し示す「アイコンロケータ」とを、アプリケーション毎にさせて格納している。アプリケーション管理テーブルは、タイトルを生存区間として管理することで、各アプリケーションによるメモリリソースなどの消費を、タイトルという再生単位を区切りにて管理することができる。これによりたとえ、あるタイトルの再生中に複数のアプリケーションによるリソースの利用が競合して、デッドロック状態に陥ったとしても、ユーザによって別のタイトルが選択されれば、それらアプリケーションは全て終了させられるので、デッドロック状態は、強制的に解消することになる。また、あるタイトルの再生中に暴走したアプリケーションがメモリを占有したとしても、ユーザによって別のタイトルが選択されれば、そのアプリケーションは強制的に終了させられるので、メモリ容量の圧迫は、強制的に解消することになる。こうすることで不要なメモリリソースを消費しない、安定したメモリリソースの管理を実現することができる。安定したメモリリソースの管理を実現することができるので、メモリリソースの容量が限られた家電機器の実装において、より真価を発揮する。BD-Jオブジェクト内のアプリケーション管理テーブルによって、動作が規定されるバイトコードアプリケーションを、“BD-Jアプリケーション”とよぶ。
【００７１】
このJava（登録商標）アプリケーションの実体にあたるのが、図２におけるBDMVディレクトリ配下のJARディレクトリに格納されたJava（登録商標）アーカイブファイル(YYYYY.jar)である。
【００７２】
アプリケーションは例えばJava（登録商標）アプリケーションであり、仮想マシンのヒープ領域(ワークメモリとも呼ばれる)にロードされる1つ以上のxletプログラムからなる。
【００７３】
METAディレクトリに格納されたメタファイル（ZZZZZ.xml）には、ディスクに入っている映像作品に関する様々な情報が格納されている。メタファイルに格納されている情報としては、ディスクのディスク名及び画像、ディスクが誰によって作成されたかの情報、各タイトルに関わるタイトル名等がある。以上がBD-ROM１００についての説明である。メタファイルは、必須のファイルではなく、このファイルが格納されていないBD-ROMもある。
【００７４】
以上が、再生装置の再生対象であるBD-ROMについての説明である。続いて、プレイリスト情報の詳細について説明する。
【００７５】
立体視及び平面視を実現するプレイリスト情報は、以下のように構成されている。一般に“プレイリスト”とは、AVストリームの時間軸上で再生区間を規定するとともに、この再生区間同士の再生順序を論理的に指定することで規定される再生経路であり、AVストリームのうち、どれをどの部分だけ再生して、どのような順序でシーン展開してゆくかを規定する役割をもつ。MPLSファイルに格納されたプレイリスト情報は、かかるプレイリストの“型”を定義する。プレイリスト情報によって定義される再生経路は、いわゆる“マルチパス”である。マルチパスとは、主となるAVストリームに対して定義された再生経路(メインパス)と、従となるストリームに対して定義された再生経路(サブパス)とを束ねたものである。かかるマルチパスの再生時間軸には、チャプター位置が定義される。このチャプター位置を再生装置に参照させることにより、マルチパスの時間軸に対する任意の時点に対するランダムアクセスを再生装置に実現させる。かかるマルチパスを定義するため、プレイリスト情報は、再生属性情報、MainPath情報、Subpath情報、PlayListMark情報を含む。
【００７６】
1)MainPath情報は、ベースビュービデオストリームの再生時間軸のうち、In＿Timeとなる時点と、Out＿Timeとなる時点の組みを1つ以上定義することにより、論理的な再生区間を定義する情報であり、STN＿tableを含む。このMainPath情報は、再生データ情報に該当する。
【００７７】
2)プレイリストMark情報は、In＿Time情報及びOut＿Time情報の組みにて指定されたビデオストリームの一部分のうち、チャプターとなる時点の指定を含む。
【００７８】
3)Subpath情報は、1つ以上のSubPlayItem情報から構成され、SubPlayItem情報は、前記ベースビュービデオストリームと同期して再生すべきディペンデントビューストリームの指定と、そのディペンデントビューストリームの再生時間軸におけるIn＿Time情報及びOut＿Time情報の組みとを含む。
【００７９】
以上のデータ構造によって、左目用ビデオストリーム上の再生区間、及び、右目用ビデオストリーム上の再生区間を束ねたマルチパスを定義することが可能になり、かかるマルチパスの定義によって、既存のBD-ROMのデータ構造と互換を失わない形式で、立体視再生が可能な再生区間を定義することができる。
【００８０】
図５は、プレイリストファイルの内部構成のうち、「再生属性情報」、「再生データ情報」の内部構成を詳細に示す図である。
【００８１】
「再生属性情報」は、プレイリストファイルがベースとしている規格の「バージョン」と、当該プレイリストファイルがムービー、スライドショーの何れであるか、プレイリストファイルを構成する個々のPlayItemをシーケンシャルに再生するか、ランダムに再生するかを指定する「再生タイプ」と、プレイリストファイルが2Dプレイリストであるか、3Dプレイリストであるかの区別を示す「次元識別フラグ」とを含む。
【００８２】
「再生データ情報」は、N+1個のPlayItem情報(図中のPlayItem#0情報〜PlayItem#N情報)によって構成される。個々のPlayItem情報は、そのPlayItemが対応しているトランスポートストリームを示す「ストリームファイル情報」と、そのストリームファイルの再生時間長を示す「再生時間情報」と、このプレイアイテム情報において、どのようなパケッタイズドエレメンタリストリームの再生が許可されているかをパケッタイズドエレメンタリストリーム毎に示す「ストリーム登録情報」とを含む。
【００８３】
また「次元識別フラグ」が3Dプレイリストである旨を示すのは、プレイリストファイルによって参照されているトランスポートストリームファイル内デジタルストリームが、3Dに対応しているデジタルストリームである場合であり、「次元識別フラグ」が2Dプレイリストである旨を示すのは、プレイリストファイルによって参照されているトランスポートストリームファイル内デジタルストリームが、2Dにしか対応していないデジタルストリームである場合である。
【００８４】
以下、プレイリストファイルの具体的な記述例について説明する。図６は、2Dプレイリストを規定するプレイリストファイルの具体的な記述を示す。
【００８５】
図６の一例において、「バージョン情報」が２.００であり、プレイリストファイルの再生タイプとして、再生データ情報のPlayItem情報が“ムービー”であり、PlayItem情報にて指定されているストリームファイルを先頭から順番に再生していくことを意味する“シーケンシャル”という内容に設定されている。
【００８６】
また次元識別フラグは、2D表示可能なストリーム構成である例を示している。
【００８７】
再生データ情報には、映像・音声・字幕データに関する情報が記述されている。
【００８８】
図６の例では、PlayItem#０が使用するストリームファイルが前記STREAMディレクトリの下にある00001.m２tsであり、PlayItem#０の再生時間が0x002932E0であることを示す。PlayItem#０の3つのストリーム登録情報は、映像#1,音声#1,字幕#1という3つの論理ストリーム番号で識別される3つのパケッタイズドエレメンタリストリームの詳細を示す。
【００８９】
具体的にいうと、映像#1という論理ストリーム番号で識別されるパケッタイズドエレメンタリストリームは、０x０２のパケット識別子をもつTSパケットによって構成されるビデオストリームである旨を示す。
【００９０】
音声#1という論理ストリーム番号で識別されるパケッタイズドエレメンタリストリームは、０x８０のパケット識別子をもつTSパケットから構成され、言語が日本語である音声ストリームである旨を示す。
【００９１】
字幕#1という論理ストリーム番号で識別されるパケッタイズドエレメンタリストリームは、０x９２のパケット識別子をもつTSパケットから構成され、言語が日本語であり、サイズが通常サイズである字幕データである旨を示す。
図７は、3Dプレイリストを規定するプレイリストファイルの一例を示す。
【００９２】
本図における再生属性情報のバージョンは、「２.００」であり、プレイリストファイルの再生タイプは“ムービー”であり、再生データ情報に含まれるプレイアイテムを先頭から順番に再生していくことを意味する“シーケンシャル”が、再生タイプとして設定されている。  次元識別フラグは、立体表示可能な3Dプレイリストである旨を示している。
【００９３】
再生データ情報には、PlayItemが、1つ存在し、PlayItem#０が使用するストリームファイルが前記STREAMディレクトリの下にある00001.m２tsである旨を示す。PlayItem#０の再生時間は、0x002932E0であり、PlayItem#０には、４つのパケッタイズドエレメンタリストリームについての詳細を示すストリーム登録情報が存在する。
【００９４】
これらのストリーム登録情報によると、以下のことが判る。
【００９５】
つまり、映像#1という論理ストリーム番号が割り当てられたパケッタイズドエレメンタリストリームは、パケット識別子が０x０２であるTSパケットから構成され、左目用の視覚属性をもつ。
【００９６】
映像#2という論理ストリーム番号が割り当てられたパケッタイズドエレメンタリストリームは、パケット識別子が０x０２であるTSパケットから構成され、右目用という視覚属性をもつ。
【００９７】
音声#1という論理ストリーム番号が割り当てられたパケッタイズドエレメンタリストリームは、パケット識別子が０x８０であるTSパケットから構成され、日本語の言語属性をもつ音声ストリームであることがわかる。
【００９８】
字幕#1という論理ストリーム番号が割り当てられたパケッタイズドエレメンタリストリームは、パケット識別子が０x９２であるTSパケットから構成され、日本語の言語属性をもり、文字サイズが通常サイズの字幕データであることがわかる。
【００９９】
以上がプレイリスト情報についての説明である。続いて、再生装置の詳細について説明する。
【０１００】
再生装置の構成要素を詳細に説明する。図８は、再生装置の内部構成の構成を示す図である。本図に示すように、再生装置には、BDドライブ１a,ネットワークデバイス１b,ローカルストレージ１c、リードバッファ２a,２b、仮想ファイルシステム３、デマルチプレクサ４、ビデオデコーダ５a,b、ビデオプレーン６、イメージデコーダ７a,b、イメージメモリ７c,d、イメージプレーン８、オーディオデコーダ９、インタラクティブグラフィクスプレーン１０、バックグラウンドプレーン１１、レジスタセット１２、静的シナリオメモリ１３、再生制御エンジン１４、スケーラエンジン１５、合成部１６、HDMI送受信部１７、表示機能フラグ保持部１８、左右処理記憶部１９、プレーンシフトエンジン２０、ずらし情報メモリ２１、BD-Jプラットフォーム２２、動的シナリオメモリ２３、モード管理モジュール２４、HDMVモジュール２５、UO検知モジュール２６、レンダリングエンジン２７a、レンダリングメモリ２７b、表示モード設定イニシャル表示設定部２８、次元モード記憶部２９から構成される。
【０１０１】
第１実施形態に係る再生装置２００に入力されるビデオストリームには、左目用のものと右目用のものが各存在するが、字幕/GUIストリームは左目用と右目用が共有されたものが入力されるようにしている。本実施の形態においては、予め一つのストリームファイルに右目用ストリームと左目用ストリームが埋め込まれていることを前提に記載する。これは、メモリやグラフィックにおける機器リソースが乏しい機器（例えばCE機器）が必要とする演算量をなるべく抑えるためである。
【０１０２】
(BDドライブ1a)
BDドライブ1aは、半導体レーザ、コリメートレンズ、ビームスプリッタ、対物レンズ、集光レンズ、光検出器を有する光学ヘッドを備える。半導体レーザから出射された光ビームは、コリメートレンズ、ビームスプリッタ、対物レンズを通って、光ディスクの情報面に集光される。集光された光ビームは、光ディスク上で反射／回折され、対物レンズ、ビームスプリッタ、集光レンズを通って、光検出器に集光される。光検出器にて集光された光の光量に応じて、再生信号を生成する。この再生信号を復調することにより、BDに記録された様々なデータを復号することができる。
【０１０３】
(ネットワークインターフェース1b）
ネットワークインターフェース1bは、再生装置の外部と通信を行うためのものであり、インターネットでアクセス可能なサーバにアクセスしたり、ローカルネットワークで接続されたサーバにアクセスしたりすることが可能である。例えば、インターネット上に公開されたBD-ROM追加コンテンツのダウンロードに用いられたり、コンテンツが指定するインターネット上のサーバとの間でデータ通信を行うことでネットワーク機能を利用したコンテンツの再生を可能としたりする。BD-ROM追加コンテンツとは、オリジナルのBD-ROMにないコンテンツで、例えば追加の副音声、字幕、特典映像、アプリケーションなどである。BD-Jプラットフォームからネットワークインターフェース1bを制御することができ、インターネット上に公開された追加コンテンツをローカルストレージ1cにダウンロードすることができる。
【０１０４】
(ローカルストレージ1c)
ローカルストレージ1cは、ビルドインメディア、及び、リムーバブルメディアを備え、ダウンロードしてきた追加コンテンツやアプリケーションが使うデータなどの保存に用いられる。追加コンテンツの保存領域はBD-ROM毎に分かれており、またアプリケーションがデータの保持に使用できる領域はアプリケーション毎に分かれている。また、ダウンロードした追加コンテンツをどのようにBD-ROM上のデータとマージされるか、マージ規則が記載されたマージ管理情報もこのビルドインメディア、リムーバブルメディアに保存される。
【０１０５】
ビルドインメディアとは例えば再生装置に内蔵されたハードディスクドライブ、メモリなどの書き込み可能な記録媒体である。
【０１０６】
リムーバブルメディアとは、例えば可搬性を有する記録媒体であり、好適にはSDカードなどの可搬性を有する半導体メモリーカードである。
【０１０７】
リムーバブルメディアを半導体メモリーカードとしたときを例に説明をすると、再生装置にはリムーバブルメディアを装着するためのスロット（不図示）およびスロットに装着されたリムーバブルメディアを読み取るためのインターフェース（例えばメモリーカードI/F）が備えられており、スロットに半導体メモリを装着すると、リムーバブルメディアと再生装置とが電気的に接続され、インターフェース（例えばメモリーカードI/F）を利用して、半導体メモリに記録されたデータを電気信号に変換して読み出すことが可能となる。
【０１０８】
(リードバッファ2a)
リードバッファ2aは、BDドライブ1aから読み出された左目用ストリームを構成するエクステントを構成するソースパケットを一旦格納しておき、転送速度を調整した上、デマルチプレクサ４に転送するためのバッファである。
【０１０９】
(リードバッファ2b)
リードバッファ2bは、BDドライブ1aから読み出された右目用ストリームを構成するエクステントを構成するソースパケットを一旦格納しておき、転送速度を調整した上、デマルチプレクサ４に転送するためのバッファである。
【０１１０】
(仮想ファイルシステム３)
仮想ファイルシステム３は、追加コンテンツと共にローカルストレージ1cにダウンロードされたマージ管理情報を元に、ローカルストレージに格納された追加コンテンツと装填したBD-ROM上のコンテンツをマージさせた、仮想的なBD-ROM（仮想パッケージ）を構築する。仮想パッケージの構築のため仮想ファイルシステム３は、アプリデータ関連付け情報を生成、及び更新するための“アプリデータ関連付けモジュール３a”を有している。アプリデータ関連付け情報とは、BD-ROMディスク上のファイルシステム情報と、アプリケーションが設定する別名アクセス情報とを元にして、ローカルストレージの情報をアプリケーションに関連付ける情報である。
【０１１１】
HDMVモードの動作主体であるHDMVモジュールやBD-Jモードの動作主体であるBD-Jプラットフォームは、仮想パッケージとオリジナルBD-ROMを区別なく参照することができる。仮想パッケージ再生中、再生装置はBD-ROM上のデータとローカルストレージ上のデータの両方を用いて再生制御を行うことになる。
【０１１２】
(デマルチプレクサ４)
デマルチプレクサ４は、ソースパケットデパケッタイザー、PIDフイルタから構成され、再生すべきストリーム(ストリームは、装填したBD-ROMおよび装填したBD-ROMに対応するローカルストレージに含まれる)に対応するパケット識別子の指示を受け付けて、当該パケット識別子に基づくパケットフィルタリングを実行し、その結果得られたTSパケットをデコーダに出力する。パケットフィルタリングにあたってデマルチプレクサ４は、ストリームのヘッダ情報から左目用ビデオストリームのビデオフレームと右目用ビデオストリームのビデオフレームの振り分けを行うことが可能である。本再生装置が表示装置にデータを出力する際には左目用の映像と右目用の映像の処理を交互に行い出力する。
【０１１３】
出力形式によっては両方の出力が同時に必要である場合、デマルチプレクサは左目用ビデオストリームのビデオフレームと、右目用ビデオストリームのビデオフレームとを交互に処理し、左目用のビデオフレーム、及び、右目用のビデオフレームの両方のデコードが完了した時点で両方を出力する。さらに、ハードウェアの構成上、２つの出力があった場合は左目用と右目用の映像を別々に出力する。
【０１１４】
(ビデオデコーダ５)
ビデオデコーダ５は、デマルチプレクサ４から出力された左目用ビデオストリームを構成するTSパケットを復号して非圧縮形式のビデオフレームを左目ビデオプレーン６（図８のビデオプレーン６における符号（Ｌ）で示したもの）に書き込む。一方、デマルチプレクサ４から出力された右目用ビデオストリームを構成するTSパケットを復号して非圧縮形式のビデオフレームを右目ビデオプレーン６（図８のビデオプレーン６における符号（Ｒ）で示したもの）に書き込む。
【０１１５】
(ビデオプレーン６)
ビデオプレーン６は例えば、1920×2160(1280×1440)といった解像度によってビデオフレームをなすピクチャデータを格納することができるプレーンメモリであり、1920×1080(1280×720)の解像度をもつ左目用プレーン（図８のビデオプレーン６における符号（Ｌ）で示したもの）、1920×1080(1280×720)の解像度をもつ右目用プレーン（図８のビデオプレーン６における符号（Ｒ）で示したもの）を有する。
【０１１６】
(イメージデコーダ７a,b)
イメージデコーダ７a,bは、デマルチプレクサ４から出力され、イメージメモリ７ｃ、７ｄに書き込まれた字幕データを構成するTSパケットを復号して非圧縮形式のグラフィクス字幕をイメージプレーン８に書き込む。イメージデコーダ７a,bによりデコードされる“字幕データ“は、ランレングス符号化によって圧縮された字幕を表すデータであり、Y値,Cr値,Cb値,α値を示すピクセルコードと、そのピクセルコードのランレングスとによって定義される。
【０１１７】
(イメージプレーン８)
イメージプレーン８は、例えば1920×1080(1280×720)といった解像度によって、字幕データをデコードすることにより得られたグラフィクスデータ（例えば字幕データ）を格納することができるグラフィクスプレーンであり、例えば1920×1080(1280×720)の解像度をもつデータを格納できるような記憶領域を有する左目用プレーン（図８に示したイメージプレーン８における符号（Ｌ）で示したもの）、1920×1080(1280×720)の解像度をもつデータを格納できるような記憶領域を有する右目用プレーン（図８に示したイメージプレーン８における符号（Ｒ）で示したもの）を有する。
【０１１８】
(オーディオデコーダ９)
オーディオデコーダ９は、デマルチプレクサ４から出力されたオーディオフレームを復号して、非圧縮形式のオーディオデータを出力する。
【０１１９】
(インタラクティブグラフィクスプレーン１０)
インタラクティブグラフィクスプレーン１０は、例えば1920×1080(1280×720)といった解像度によって、BD-Jアプリケーションがレンダリングエンジン２７aを利用して描画したグラフィクスデータを格納することができる記憶領域を有するグラフィクスプレーンであり、例えば1920×1080(1280×720)の解像度をもつデータを格納できるような記憶領域を有する左目用プレーン（図８のインタラクティブグラフィクスプレーン１０において、符号（Ｌ）を付したもの）、1920×1080(1280×720)の解像度をもつデータを格納できるような記憶領域を有する右目用プレーン（図８のインタラクティブグラフィクスプレーン１０において、符号（Ｒ）を付したもの）を有する。
【０１２０】
インタラクティブグラフィクスプレーン１０に格納される“グラフィクスデータ“は、個々の画素がR値,G値,B値,α値によって定義されるグラフィクスである。インタラクティブグラフィクスプレーン１０に書き込まれるグラフィクスは、主にGUIを構成するために使われる目的を持つイメージやウィジェットである。画素を表すデータに違いがあるものの、イメージデータ及びグラフィクスデータは、グラフィクスデータという表現で包括される。本願が対象としているグラフィクスプレーンには、イメージプレーン８、インタラクティブグラフィクスプレーン１０の２種類があり、単に“グラフィクスプレーン“と呼ぶ場合、イメージプレーン８、インタラクティブグラフィクスプレーン１０の双方又はどちらかを指し示すものとする。
【０１２１】
(バックグラウンドプレーン１１)
バックグラウンドプレーン１１は、例えば1920×1080(1280×720)といった解像度によって、背景画となるべき静止画データを格納することができるプレーンメモリであり、具体的には、1920×1080(1280×720)の解像度をもつ左目用プレーン（図８に示すバックグラウンドプレーン１１における符号（Ｌ）を付したもの）、1920×1080(1280×720)の解像度をもつ右目用プレーン（図８に示すバックグラウンドプレーン１１における符号（Ｒ）を付したもの）を有する。
【０１２２】
(レジスタセット１２)
レジスタセット１２は、プレイリストの再生状態を格納する再生状態レジスタ、再生装置におけるコンフィグレーションを示すコンフィグレーション情報を格納する再生設定レジスタ、コンテンツが利用する任意の情報を格納できる汎用レジスタを含む、レジスタの集まりである。プレイリストの再生状態とは、プレイリストに記載されている各種AVデータ情報の中のどのAVデータを利用しているか、プレイリストのどの位置（時刻）を再生しているかなどの状態を現す。
【０１２３】
プレイリストの再生状態が変化した際は、再生制御エンジン１４がレジスタセット１２に対し、その内容を格納する。また、HDMVモードの動作主体であるHDMVモジュールもしくはBD-Jモードの動作主体であるJavaプラットフォームが実行しているアプリケーションからの指示により、アプリケーションが指定した値を格納したり、格納された値をアプリケーションに渡したりすることが可能である。
【０１２４】
(静的シナリオメモリ１３)
静的シナリオメモリ１３は、カレントプレイリスト情報やカレントクリップ情報を格納しておくためのメモリである。カレントプレイリスト情報とは、BD-ROMまたはビルドインメディアドライブ、リムーバブルメディアドライブからアクセスできる複数プレイリスト情報のうち、現在処理対象になっているものをいう。カレントクリップ情報とは、BD-ROMまたはビルドインメディアドライブ、リムーバブルメディアドライブからアクセスできる複数クリップ情報のうち、現在処理対象になっているものをいう。
【０１２５】
(再生制御エンジン１４)
再生制御エンジン１４は、AV再生機能、プレイリストの再生機能を実行する。AV再生機能とは、DVDプレーヤ、CDプレーヤから踏襲した機能群であり、再生開始、再生停止、一時停止、一時停止の解除、静止画機能の解除、再生速度を即値で指定した早送り、再生速度を即値で指定した巻戻し、音声切り替え、副映像切り替え、アングル切り替えといった処理である。HDMVモジュールによって実行されるムービーオブジェクト、又は、BD-Jプラットフォームによって実行されるBD-Jアプリケーションは、再生制御エンジン１４に対して処理要求を行うことで、これら再生開始、再生停止という通常再生の再生制御だけでなく、一時停止、一時停止の解除、静止画機能の解除、再生速度を即値で指定した早送り、再生速度を即値で指定した巻戻し、音声切り替え、副映像切り替えといった特殊再生を再生制御エンジンに行わせることができる。プレイリスト再生機能とは、このAV再生機能のうち、再生開始や再生停止をカレントプレイリストを構成するカレントプレイリスト情報、カレントクリップ情報に従って行うことをいう。AVストリーム再生は、ユーザオペレーション（例えば再生ボタン）をトリガーとして開始する場合もあれば、端末内の何かのイベントをトリガーとして自動的に開始する場合もある。
【０１２６】
再生装置のミドルウェアは、再生制御エンジンの各種機能を実行させるためのAPIを、BD-Jアプリケーションに提供する。再生制御エンジンに、各再生機能を実行させるためのAPIのライブラリィが“AV再生ライブラィ１４a”である。“AV再生ライブラィ１４a”における個々のAPIは、様々なメンバー関数を含み、引き数を指定してAV再生ライブラィのメンバー関数(メソッド)を呼び出すことで、これらのメンバー関数の機能を再生制御エンジンに実行させる。一方、ムービーオブジェクトは、このメンバー関数に相当するナビゲーションコマンドを発行することで、これらのAPIに相当する処理を再生制御エンジンに実行させる。
【０１２７】
一例を挙げると、「selectPlayList」は、BD-Jアプリケーションがプレイリストの切り替えを命じるためのAPIであり、このAPIを呼び出すための引き数は、BD-Jロケータとなる。BD-Jロケータは、title＿id、playlist＿id、PlayItem＿idを用いて、選択すべきプレイリストを指定することができる、BD-Jアプリケーション専用のロケータである。BDMV/PLAYLISTディレクトリにおけるプレイリストファイルのファイルボディを用いることで、再生対象になるべきプレイリストが指定される。
【０１２８】
再生制御エンジンによる機能実行の結果は、イベントによってBD-Jアプリケーションに通知される。よってAV再生ライブラィの利用にあたって、BD-Jアプリケーションには、実行結果を示すイベントを受信できるように、イベントリスナを登録しておく必要がある。
【０１２９】
(スケーリングエンジン１５)
スケーリングエンジン１５は、イメージプレーン８やビデオプレーン６にある映像の縮小、拡大、及び等倍の制御を行うことが可能である。スケーリングエンジン１５は、イメージデータ、ビデオフレームのデコードがされた時点でプレーンシフトエンジン２０内に値が設定されていれば、スケーリングが発生しているとみなし、デコードされたグラフィクスをビデオプレーンに格納する前にスケーリングエンジン１５を通してスケーリングを行わせる。
【０１３０】
(合成部１６)
合成部１６は、インタラクティブグラフィクスプレーン１０、イメージプレーン８、ビデオプレーン６、バックグラウンドプレーン１１のレイヤ合成を行う。インタラクティブグラフィクスプレーン１０、イメージプレーン８、ビデオプレーン６、バックグラウンドプレーン１１といったプレーンメモリは、レイヤモデルを形成しており、合成部１６によるレイヤ合成は、プレーンメモリのレイヤモデルにおいて、階層間のプレーンメモリに格納されている画素データの画素値を重畳させるという処理を、レイヤモデルにおける階層間の全ての組合せに対して実行することでなされる。<br>
階層間の重畳は、ある階層に位置するプレーンメモリのライン単位の画素値に透過率αを重みとして乗じるとともに、その下位階層に位置するプレーンメモリのライン単位の画素値に（１−透過率α）という重みを乗じて、これら重み付けがなされた画素値同士を加算し、加算結果を、その階層におけるライン単位の画素の画素値とする処理である。この階層間の重畳を、レイヤモデルの2つ階層に位置するライン単位の画素同士で繰り返し実行することにより、上記レイヤ合成は実現される。<br>
イメージプレーンのデータとして字幕やポップアップメニューを想定したコンテンツの場合は、必ずビデオプレーンの上にイメージプレーンを重ね合わせる。つまり、たとえビデオプレーンが立体視のコンテンツであっても、奥行きのない字幕やポップアップメニューが立体視ビデオに重なった場合はイメージを優先して表示させないといけない。そうしないと、グラフィックの部分がビデオにめり込んだ形になり、不自然になってしまうからである。
【０１３１】
(HDMI送受信部１７)
HDMI送受信部１７は、例えばHDMI規格（HDMI:High Definition Multimedia Interface）に準拠したインターフェイスを含み、再生装置とHDMI接続する装置（この例では表示装置４００）とHDMI規格に準拠するように送受信を行うものであり、ビデオプレーンに格納されたピクチャデータと、オーディオデコーダ９によってデコードされた非圧縮のオーディオデータとを、HDMI送受信部１７を介して表示装置４００に伝送する。表示装置４００は、例えば立体視表示に対応しているかに関する情報、平面表示可能な解像度に関する情報、立体表示可能な解像度に関する情報を保持しており、再生装置からHDMI送受信部１７を介して要求があると、表示装置４００は要求された必要な情報（例えば立体視表示に対応しているかに関する情報、平面表示可能な解像度に関する情報、立体表示可能な解像度に関する情報）を再生装置へ返す。このように、HDMI送受信部１７を介することで、表示装置４００が立体視表示に対応しているかどうかの情報を、表示装置４００から取得することができる。
【０１３２】
(表示機能フラグ保持部１８)
表示機能フラグ保持部１８は、再生装置が3Dの表示が可能か否かの区別を示す、3D表示機能フラグを保存している。
【０１３３】
(左右処理記憶部１９)
左右処理記憶部１９は、現在の出力処理が左目用の出力か、または、右目用の出力かを記憶する。左右処理記憶部１９のフラグは、図１に示した再生装置と接続する表示デバイス（図１の例ではテレビ）に対する出力が、左目出力であるか、右目出力であるかを示す。左目出力をしている間、左右処理記憶部１９のフラグは左目出力を示すフラグに設定される。また、右目出力をしている間、左右処理記憶部１９のフラグは右目出力を示すフラグに設定される。
【０１３４】
(プレーンシフトエンジン２０)
プレーンシフトエンジン２０はイメージプレーンずらし情報を保存する領域を兼ね備え、左右処理記憶部１９に現在の処理対象が左目映像か右目映像かを判定した後、保存しているイメージプレーンずらし情報にて示されるプレーンオフセットを用いてイメージプレーンの横軸のシフト量を計算し、シフトする。字幕/GUIの横軸のずらし幅を変更することによって、奥行きが変更する。例えば、左目用字幕と右目用字幕を一定方向に遠くへ離せば離すほど手前に表示され、逆方向に離せば離すほど奥に見える視覚効果を得られる。
【０１３５】
(ずらし情報メモリ２１)
ずらし情報メモリ２１は、ユーザ、あるいはアプリケーションからのイメージプレーンずらし情報の更新要求があった際に一時的にその値を保存するモジュールである。イメージプレーンずらし情報は例えば奥行きが-２５５〜２５５で表現されている整数とし（２５５が一番手前で-２５５が一番奥）、それを最終的なシフトの幅を示す画素座標に変換する。
【０１３６】
(BD-Jプラットフォーム２２)
BD-Jプラットフォーム２２は、BD-Jモードの動作主体であるJavaプラットフォームであり、Java2Micro＿Edition(J2ME) Personal Basis Profile(PBP 1.0)と、Globally Executable MHP specification(GEM1.0.2)for package media targetsとをフル実装しており、JARアーカイブファイルに存在するクラスファイルからバイトコードを読み出して、ヒープメモリに格納することにより、BD-Jアプリケーションを起動する。そしてBD-Jアプリケーションを構成するバイトコード、システムアプリケーションを構成するバイトコードをネィティブコードに変換して、MPUに実行させる。
【０１３７】
(動的シナリオメモリ２３)
動的シナリオメモリ２３は、カレント動的シナリオを格納しておき、HDMVモードの動作主体であるHDMVモジュール、BD-Jモードの動作主体であるJavaプラットフォームによる処理に供されるメモリである。カレント動的シナリオとは、BD-ROMまたはビルドインメディア、リムーバブルメディアに記録されているIndex.bdmv、BD-Jオブジェクト、ムービーブジェクトのうち、現在実行対象になっているものをいう。
【０１３８】
(モード管理モジュール２４)
モード管理モジュール２４は、BD-ROMまたはビルドインメディアドライブ、リムーバブルメディアドライブから読み出されたIndex.bdmvを保持して、モード管理及び分岐制御を行う。モード管理モジュール２４によるモード管理とは、動的シナリオを、BD-Jプラットフォーム２２、HDMVモジュール２５のどちらに実行させるかという、モジュールの割り当てである。
【０１３９】
(HDMVモジュール２５)
HDMVモジュール２５は、HDMVモードの動作主体となるDVD仮想プレーヤであり、HDMVモードの実行主体となる。本モジュールは、コマンドインタプリタを具備し、ムービーオブジェクトを構成するナビゲーションコマンドを解読して実行することでHDMVモードの制御を実行する。ナビゲーションコマンドは、DVD-Videoと似たようなシンタックスで記述されているため、かかるナビゲーションコマンドを実行することにより、DVD-Videoライクな再生制御を実現することができる。
【０１４０】
(UO検知モジュール２６)
UO検知モジュール２６は、GUIに対するユーザオペレーションを受け付ける。かかるGUIによって受け付けられるユーザオペレーションには、BD-ROMに記録されているタイトルのうち、どれを選択するかというタイトル選択、字幕選択、音声選択がある。特に、立体視再生特有のユーザオペレーションとして、立体視映像の奥行き感のレベルを受け付けることがある。例えば、奥行き感が、遠い、普通、近い等の3つのレベルを受け付けることがあるし、奥行き感は何cm、何mmというように、数値入力によって奥行き感のレベルを受け付けることもある。
【０１４１】
またUO検知モジュール２６は、リモコンや機器に付属のボタンなどの操作によりイメージプレーンのスケーリングを変更する命令を受け付けた場合、それを機器内のモジュールが直接スケーリング命令を発行する。
【０１４２】
(レンダリングエンジン２７a)
レンダリングエンジン２７aは、Java2D，OPEN-GLといった基盤ソフトウェアを備え、BD-Jアプリケーションから要求に従ってJPEGデータ／PNGデータのデコードを行い、イメージやウィジェットを得て、インタラクティブグラフィクスプレーン及びバックグラウンドグラフィクスプレーンに書き込む。JPEGデータをデコードすることにより得られる画像データは、GUIの壁紙になるものであり、バックグラウンドグラフィクスプレーンに着込まれる。PNGデータをデコードすることにより得られる画素データは、インタラクティブグラフィクスプレーンに書き込まれて、アニメーションを伴うボタン表示を実現することができる。これらJPEGデータ／PNGデータをデコードすることで得られたイメージやウィジェットは、BD-Jアプリケーションが、タイトル選択や字幕選択、音声選択を受け付けるためのポップアップメニューを表示したり、ストリーム再生連動型のゲームを動作させるにあたって、GUI部品を構成するために使われる。その他、BD-JアプリケーションがWWWサイトをアクセスする際、そのWWWサイトのブラウザ画面を構成するために用いられる。
【０１４３】
(レンダリングメモリ２７b)
レンダリングメモリ２７bは、レンダリングエンジンによってデコードされるべきPNGデータ、JPEGデータが読み込まれるメモリである。このレンダリングメモリ２７bには、BD-Jアプリケーションが、ライブ表示モードを実行する際、キャッシュ領域が確保される。ライブ表示モードとは、ネットワーク上に存在するWWWサイトのブラウザ画面と、BD-ROMによるストリーム再生とを組み合わせるものである。キャッシュ領域は、ライブ表示モード時における現在のブラウザ画面、及び、直前のブラウザ画面をキャッシュしておくためのキャッシュメモリであり、非圧縮のPNGデータ又は非圧縮のJPEGデータであって、前記ブラウザ画面を構成するものがここに格納されることになる。
【０１４４】
(表示モード設定イニシャル表示設定部２８)
表示モード設定イニシャル表示設定部２８は、BD-Jプラットフォーム部に供せられるカレントタイトルにおけるBD-Jオブジェクトに基づき、再生モード、解像度の設定を行う。
【０１４５】
(次元モード記憶部２９)
次元モード記憶部２９は、再生モード、ステレオモードを記憶する。再生装置が3D表示機能フラグとして3D表示が可能と設定されている場合、次元モード記憶部２９に保存された端末設定である再生モードは、2D、3Dの何れかに切り替えることが可能となる。以後、再生モードが“3D“と示されている状態を“3Dモード“と呼び、再生モードが“2D“と示されている状態を“2D再生モード“と呼ぶ。以上が再生装置の構成要素についての説明である。続いて、立体視再生の実現のための詳細について説明する。
【０１４６】
(立体視映像の作成に必要なもの)
3D映像を作り出すためには、再生装置や表示装置自体にもその能力が必要であり、コンテンツにその能力があるかどうかを提示したり、また、コンテンツ自体が２Dで動作して欲しいのか3Dで動作して欲しいのかを再生装置に設定したりすることで、コンテンツ作成や再生装置実装の利便性が増す。理由は、コンテンツや再生装置が映像とグラフィックスの不自然な重畳を未然に防止できるからである。再生装置の能力やコンテンツの設定情報を保持するものの一例として、レジスタセット１２が挙げられる。
【０１４７】
図９は、レジスタセット１２の内容の例を模式的に示したものである。レジスタセット１２は、「再生状態レジスタ(0)〜(127)」と、「汎用レジスタ(0)〜(4096)」とから構成される。再生状態レジスタ内は、ある値を格納するための、番号付けされた格納場所の集まりである。例えば、ある番号の格納場所には、現在再生中のプレイリストの識別子が入れられたり、他のある番号の格納場所には、利用しているオーディオの識別子が入れられたりする。それぞれの値を入れるのは、再生制御エンジン１４、HDMVモジュール２５、もしくはBD-Jプラットフォーム２２である。コンテンツは、HDMVモジュール２５、もしくはBD-Jプラットフォーム２２によって、再生状態レジスタや汎用レジスタから、指定した番号に対応する値を取得したり、指定した番号に対応する値を格納したりできる。
【０１４８】
再生状態レジスタのうち、１４番のもの(再生状態レジスタ(14))では、その上位３ビット目が、２Dで動作して欲しいのか3Dで動作して欲しいのかという設定に割り当てられている。
【０１４９】
再生状態レジスタのうち、２９番のもの(再生状態レジスタ(29))では、その下位３ビット目が、3D映像を作り出すための能力が再生装置にあるかどうかの設定に割り当てられている。
【０１５０】
(単体のグラフィクスプレーンによる立体視の実現)
3D映像出力処理の説明を行う前に、立体視を実現する字幕/GUIのデータについて触れたい。本実施形態に係る再生装置２００が扱うデータとして字幕/GUIのデータが存在する。字幕/GUIのデータは目の疲労度を低減すべく、ビデオストリームの手前に表示させる必要がある。
【０１５１】
字幕/GUIストリームを手前に表示させる方法として、左目と右目映像を作り出す際に、字幕/GUIストリームを横軸にシフトした結果を合成させて出力する。字幕/GUIの横軸のずらし幅を変更することによって、奥行きが変更する。例えば、左目用字幕と右目用字幕を一定方向に遠くへ離せば離すほど手前に表示され、逆方向に離せば離すほど奥に見える視覚効果を得られる。
【０１５２】
上述したように1つのグラフィクスプレーンにおいて、プレーンオフセットに基づきプレーンシフトを実行して、立体視を実現する再生モードを、“1plane＋Offsetモード”という。プレーンシフトエンジン２０は、この1plane＋Offsetモードを実現するものである。
【０１５３】
元の画素データの座標と、右方向又は左方向にシフトした場合の各画素データの座標との差分を“シフト量“という。このシフト量は、立体視においては、イメージプレーン８、又は、インタラクティブグラフィクスプレーン１０に、どの程度の奥行きをもたせるかという奥行き値によって算出されるべきである。また、立体視再生において、両目の視差として採用することができる何等のパラメータから、導出することができる。
【０１５４】
また、上述したようなシフト量だけ、左右に、グラフィクスプレーン内の画素データを移動させるためのパラメータを“プレーンオフセット“と呼ぶ。シフト量はスカラ量であるのに対して、プレーンオフセットは、正負の値を持つベクトルであり、現在の状態から、右方向及び左方向のどちらの向きに、どれだけ画素データの座標を移動させるかを指し示す。
【０１５５】
本実施形態ではコンテンツ作成者が予め字幕/GUIをどの奥行きで表示させるかという情報をプレイリスト情報に埋め込むことにより、再生装置２００はプレイリスト情報に関連付けられたストリームを再生している間はその情報に基づいて字幕/GUIをビデオストリームの前面に立体的に表示し続ける。プレイリスト情報に限らず、プレーンオフセットとして用いられるべき画素のシフト量、及び、画素のシフト方向は、記録媒体やユーザ操作等、再生装置の外部から供給されるものである。プレーンオフセットの元になる情報であって、再生装置外部から供給される画素のシフト量、及び、画素のシフト方向の組みを、“イメージプレーンずらし情報”という。
【０１５６】
シフト量はイメージプレーンずらし情報に記載された値をそのまま利用してもよいが、その他の演算結果、例えばイメージプレーンすらし情報に予め端末内に設定された値と掛けた、あるいは組み合わせた値を用いることも考えられる。
【０１５７】
また、表示装置の解像度とサイズによってはイメージプレーンのシフト量が大きくなりすぎ、目がついていかなくイメージが２重に見える現象になる場合がある。その場合はイメージプレーンずらし情報に記載された値を基に表示装置の解像度とサイズの情報を組み合わせてシフト量を得ることで、字幕・グラフィックスが手前に表示しすぎないように調整する。
【０１５８】
以下、1plane＋Offsetモードによって、どのような映像内容が再生されるかについて説明する。
【０１５９】
図１０は、プレーンシフトがなされたイメージプレーンが合成されたビデオフレームを示す図である。
【０１６０】
９L、９Rは、デコーダによってビデオプレーンに格納されるビデオフレームの一例を示すものである。女性の顔の向きや位置の違いから、左目用のストリームと右目用のストリームは違った角度から撮られたものであることがうかがえる。
【０１６１】
９Sは、プレーンシフトがなされていないグラフィクスプレーンの内容を示す図であり、９LSは、“I  love  you“という字幕が、左方向にシフトされた際のイメージプレーンのスナップショットである。９RSは、“I  love  you“という字幕が、右方向にシフトされれ際のイメージプレーンのスナップショットである。
【０１６２】
９LLは、左目のビデオフレームと、左方向にシフトされたイメージとを合成した合成映像であり、９RRは、右目のビデオフレームと、右方向にシフトされたイメージとを合成した合成映像であり、
９LLの左目用映像では“I  love  you“の字幕が左にずれて合成されていることがわかる。また、９RRの右目用映像では“I  love  you“の字幕が右にずれて合成されている。液晶眼鏡をかけずにテレビを見ると、これら9LL,9RRの映像が重ね合わさって見えることになる。これは図３の通りである。
【０１６３】
図１１は、左方向のプレーンシフト後のイメージプレーンと、右方向のプレーンシフト後のイメージプレーンとを液晶眼鏡５００で視聴することにより現れる立体視画像を示す。
【０１６４】
右目用と左目用の映像は例えば図１に示す液晶眼鏡５００を通してフィルタされ、各目に違う映像を映し出す。ここで注目すべき点は、ビデオストリーム映像が左右の画像が重ねられて立体化されているのみでなく、“I  love  you“の字幕が追従して横方向にずれている、つまり奥行き間が追加されていることである（本実施の形態の場合は手前に表示させている）。このようにして視聴者への目の労度を低減する立体視映像、および字幕再生が可能となる。
【０１６５】
図９、図１０はビデオストリームと連動した字幕を用いて説明しているが、ボタンなどのグラフィックも同じような方法で処理をして奥行きをもたせることは可能である。
【０１６６】
図１２は、本第１実施形態に係る再生装置２００が上記映像データであるプレイリストを読み込んで立体視映像に重畳した立体視字幕・立体視グラフィックスを映し出す際のフローチャートである。
【０１６７】
プレイリスト再生要求はコンテンツからの指示、あるいは、ユーザオペレーション（例えば再生ボタン)がトリガーになる。これに限らず、ディスク挿入時やメニュー選択時等、タイトル切り替え要求がトリガーになる場合もある。
【０１６８】
プレイリストの再生が開始されるタイミングで静的シナリオメモリ１３はBD-ROMディスクにある複数のプレイリスト、複数ストリームのうち、現在再生処理対象になっているプレイリストとトランスポートストリームを抽出し、カレントプレイリスト情報に設定する（S１）。
【０１６９】
その後、ステップＳ２、ステップＳ３の判定ステップを経て、これらの判定ステップにおける判定結果が肯定的であれば、ステップＳ４において、再生モードを3Dモードに切り替え、静的シナリオメモリ１３のカレントプレイリスト情報から字幕/GUIの表示する奥行きを示す値（以降、イメージプレーンずらし情報）を抽出し、プレーンシフトエンジン内部の記憶領域に保存する（S５）。
【０１７０】
ステップＳ２は、カレントプレイリスト情報における次元識別フラグが、3Dモードの再生を許可する旨を示すかどうかの判定であり、ステップＳ３は、再生装置における再生モードが、3Dモードであるか否かの判定である。この判定は、次元モード記録部２９に保存されているフラグ（２Dor3D）を参照することでなされる判定する。次元モード記録部に保存されている値は例えばユーザオペレーションやアプリケーションからの指示によって切り替えが予めなされていることを想定している。
【０１７１】
これらのステップのどちらかが否定的であれば、ステップＳ１２において再生モードを2D再生モードに切り替え、2Dモードでのプレイアイテム再生を行う(ステップＳ１３)。
【０１７２】
ステップＳ４、ステップＳ５が実行された後はステップＳ６〜ステップＳ１３のループに移行する。
【０１７３】
ステップＳ６〜ステップＳ１３のループは、ステップＳ６においてカレントプレイアイテム番号を１に初期化してから、ステップＳ７〜ステップＳ１３の処理を、ステップＳ１２がYesと判定されるまで繰り返すものである。ここで、ループの終了条件は、プレイアイテムが、プレイリストにおける最終番号になることであり、この条件が満たされない限り、カレントプレイアイテム番号がインクリメントされる(ステップＳ１３)。
【０１７４】
ループで繰り返される処理は、カレントプレイアイテム情報のストリームファイル情報で指定されているAVストリームをカレントストリームに設定して(ステップＳ７)、カレントプレイアイテム情報の左目用ビデオストリームのパケット識別子及び右目用ビデオストリームのパケット識別子をデマルチプレクサに設定することで左目用ビデオストリーム及び右目用ビデオストリームを分離させ(ステップＳ８)、カレントプレイアイテム情報の再生タイプがムービーであるか、スライドショーであるかの判定を行って(ステップＳ９)、スライドショーであれば、3Dモードでのビデオフレーム処理によってスライドショー再生を実行し(ステップＳ１０)、ムービーであれば、3Dモードでのビデオフレーム処理によってムービー再生を実行する(ステップＳ１１)というものである。
【０１７５】
図１３は、3Dモードにおけるビデオフレーム処理を示すフローチャートである。
【０１７６】
先ず、デマルチプレクサ４はディスク上のトランスポートストリームの多重分離を行い、グラフィックストリームをイメージメモリ７c,dに格納する（S８０２）。次に、イメージデコーダ７a,７bは、イメージメモリ７c,dに格納されたグラフィックストリーム等をデコードしてイメージプレーン８に書き込む（S８０３）。次に、デマルチプレクサ４はディスク上のトランスポートストリームの多重分離を行い、左右処理記憶部１９のフラグを基に、それに対応したビデオストリームを抜き出し、ビデオデコーダ５を通してデコードされたビデオをビデオプレーンに格納する（S８０４）。第１実施形態では左右処理記憶部のフラグはデフォルトでは左目用の処理が設定されていることとする。S８０２〜S８０４の順番は一例を示すものであり、これらの順番はどの順番で行ってもよい。
【０１７７】
イメージプレーンへの格納を終えた後に、プレーンシフトエンジンはステップS５で保存したイメージプレーンずらし情報を基に、左右処理記憶部１９のフラグを参照し、イメージプレーンを一定の方向にシフトし、合成部１６が、ビデオプレーン６の上にシフトされたグラフィックプレーン９のイメージを合成させる（S８０５）。
【０１７８】
S８０５でプレーンシフトエンジンがシフトする方向はイメージプレーンを手前に表示させるか、奥に表示させるかによって異なるが、第１実施形態では左目用映像として右方向にずらす、つまり手前に表示させることを前提とする。
【０１７９】
S８０５で合成部１６により合成された最終映像を左目映像として表示装置４００へ出力する（S８０６）。本出力が完了としたと同時に、本再生装置は左右処理記憶部１９のフラグを転換する。つまり、左目処理と設定されていた場合は右処理に、右目処理と設定されていた場合は左処理に切り替える。
【０１８０】
次に、デマルチプレクサ４はディスク上のトランスポートストリームの多重分離を行い、左右処理記憶部１９のフラグを基に、それに対応したビデオストリームを抜き出し、ビデオデコーダ５を通してデコードされたビデオをビデオプレーンに格納する（S８０７）。本例では本ステップでは右目処理となっているので、右目用ビデオストリームが抜き出される。
【０１８１】
イメージデコーダ７a,７bは、イメージメモリ７c,dに格納されたグラフィックストリーム等をデコードしてイメージプレーン８に書き込む（S８０８）。左右処理記憶部１９のフラグを参照し、イメージプレーンを一定の方向にシフトし、合成部１６が、ビデオプレーン６の上にシフトされたグラフィックプレーン９のイメージを合成させる（S８０９）。S８０５では左目用の処理を行っていたため、右にシフトをしていたが、今回は右目用の処理を行っているため、反対方向、つまり左方向にシフトさせることになる。S８０９で合成部１６により合成された最終映像は右目画像として表示装置４００へ出力する（S８１０）。
【０１８２】
本出力が完了としたと同時に、本再生装置は左右処理記憶部１９のフラグを転換する。つまり、左目処理と設定されていた場合は右処理に、右目処理と設定されていた場合は左処理に切り替える。
【０１８３】
再生装置２００はS８１０が完了した時点で次フレームが存在する限り、S８０２〜S８１０の処理を繰り返し実行する。
（２D再生モード）
2D再生モードは、２D再生時の高画質を前提としたモードであるため、再生モードは、再生対象のストリームが２D用の場合は必ず２Dに切り替わる方が顧客に常に最高画質のものを提供することが可能となる。再生対象のストリームが3D立体視用の場合は、現在の再生モードを維持する。再生モードが切り替わると出画までに時間がかかってしまうので、このように、極力再生モードの切替を減らすことで、AV再生が開始されるまでの時間を短縮することができる。
【０１８４】
図１４は、2D再生モードでのプレイリスト再生の処理手順を示す。
カレントプレイアイテム番号を１に設定して(ステップＳ２１)、カレントプレイアイテム情報のストリームファイル情報で指定されているAVストリームをカレントストリームに設定し(ステップＳ２２)、その後、ステップＳ２３の判定ステップの結果によって、ステップＳ２４ーステップＳ２５、ステップＳ２６ーステップＳ２７の処理を選択的に実行することである。ステップＳ２３は、カレントストリームが左目用ビデオストリーム、右目用ビデオストリームを含むかどうかの判定であり、含む場合は、左目用ビデオストリーム及び右目用ビデオストリームのうち、単独再生可能なベースビュービデオストリームのパケット識別子をデマルチプレクサに設定することでビデオストリームを分離させ(ステップＳ２４)、その後、ベースビュービデオストリームのフレーム処理を実行する(ステップＳ２５)。
【０１８５】
含まない場合、ビデオストリームのパケット識別子をデマルチプレクサに設定することで、ビデオストリームを分離させ(ステップＳ２６)、ビデオストリームのフレーム処理を実行する(ステップＳ２７)。
【０１８６】
図１５は、2Dモードにおける２Dストリームのビデオフレーム処理の処理手順を示すフローチャートである。
【０１８７】
デマルチプレクサ４はディスク上のトランスポートストリームの多重分離を行い、グラフィックストリームをイメージメモリ７c,dに格納する（S１１０３）。
【０１８８】
次に、イメージデコーダ７a,７bは、イメージメモリ７c,dに格納されたグラフィックストリーム等をデコードしてイメージプレーン８に書き込む（S１１０４）。
【０１８９】
次に、デマルチプレクサ４はディスク上のトランスポートストリームの多重分離を行い、ビデオストリームを抜き出し、ビデオデコーダ５を通してデコードされたビデオをビデオプレーンに格納する（S１１０５）。
次に、合成部１６が、ビデオプレーン６の上にグラフィックプレーン９のイメージを合成させる（S１１０６）。S１１０６で合成部１６により合成された最終映像を表示装置４００へ出力する（S１１０７）。S１１０７にて、表示装置４００に最終映像を出力した後、再生モードの切替が発生した後の最初のフレーム処理かどうかを判定する（S１１０８）。S１１０８で表示装置４００に最終映像を出力する。
【０１９０】
図１６は、2Dモードにおける2Dストリームのビデオフレーム処理の処理手順を示すフローチャートである。以下、図１６のフローチャートを用いて２D映像出力処理の説明を行う。
【０１９１】
まず、デマルチプレクサ４はディスク上のトランスポートストリームの多重分離を行い、グラフィックストリームをイメージメモリ７c,dに格納する（S１２０１）。
【０１９２】
次に、イメージデコーダ７a,７bは、イメージメモリ７c,dに格納されたグラフィックストリーム等をデコードしてイメージプレーン８に書き込む（S１２０２）。
【０１９３】
次に、デマルチプレクサ４はディスク上のトランスポートストリームの多重分離を行い、左目用のビデオストリームを抜き出し、ビデオデコーダ５を通してデコードされたビデオをビデオプレーンに格納する（S１２０３）
次に、合成部１６が、ビデオプレーン６の上にグラフィックプレーン９のイメージを合成させる（S１２０４）。S１２０４で合成部１６により合成された最終映像を表示装置４００へ出力する（S１２０５）。なお、S１２０３で左目用のビデオストリーム抜き出しを行ったが、右目用のビデオストリームを抽出させ、S１２０４で合成させてもよい。このようにして再生装置２００は再生対象のトランスポートストリームが3Dであり（S２：3D）であった場合でも、端末設定が２Dモード（S３：２D）に設定されていれば、２D用の映像を出力することが可能となる。
【０１９４】
以上のように本実施形態によれば、デジタルストリームが2Dに対応しているか3Dに対応しているかという判断と、再生装置が2Dで再生されるように設定されているか3Dで再生されるように設定されているかの判断を両方行って、最終的に、2Dでデジタルストリームを再生するのか3Dでデジタルストリームを再生するのかを決定することで、適切に立体視映像を作り出すことができる。
【０１９５】
（第２実施形態）
これまでの実施形態はイメージプレーンとビデオプレーンと二つのプレーン構成からなっていたが、ビデオプレーンと２つ以上のグラフィックプレーンとなった場合はプレーンの数に応じてイメージメモリとイメージプレーンの数を増やし、各イメージプレーンのイメージプレーンずらし情報を基にプレーンをずらし、重畳する。
【０１９６】
図１７は、マルチイメージプレーンに対応することができるプレイリスト再生処理の処理手順を示すフローチャートである。再生装置２００は静的シナリオメモリ１３のカレントプレイリスト情報からイメージプレーンずらし情報をイメージプレーンの数分抽出し、プレーンシフトエンジン２０上に配列を用いて保存する（S１３０１）。次に、デマルチプレクサ４はディスク上のトランスポートストリームの多重分離を行い、左目用ビデオストリームを抜き出し、ビデオデコーダ５を通してデコードされたビデオをビデオプレーンに格納する（S１３０２）。次に、デマルチプレクサ４はディスク上のトランスポートストリームの多重分離を行い、グラフィックストリームをイメージメモリ７c,dに格納する（S１３０３）。次に、イメージデコーダ７a,７bは、イメージメモリ７c,dに格納されたグラフィックストリーム等をデコードしてイメージプレーン８に書き込む（S１３０４）。
【０１９７】
次に、プレーンシフトエンジンはS１３０１で保存したイメージプレーンずらし情報の配列の最上位の値を基にイメージプレーンを一定の方向にシフトし、合成部１６が、ビデオプレーン６の上にシフトされたグラフィックプレーン９のイメージを合成させる（S１３０５）。なお、S１３０５が２回目以降の場合はビデオプレーンの上にシフトされたグラフィックプレーン９のイメージを合成させるのではなく、前回のS１３０５で合成された映像の上に新規イメージプレーンを重畳させる。また、S１３０５が２回目以降の場合はイメージずらし情報の配列で参照するイメージずらし情報もあわせて２回目以降のものを利用する。
【０１９８】
次に、再生装置２００はイメージプレーンずらし情報の配列分の両目の処理を行ったか否かをもとにイメージプレーンは全て合成済みかの判断を行う（S１３０６）。イメージプレーンが全て合成済みでない場合（S１３０６：No）は、次のイメージプレーンを処理するために次のイメージプレーンずらし情報を用いてS１３０３〜S１３０５の処理を繰り返す。イメージプレーンが全て合成済みの場合（S１３０６：Yes）は、S１３０５で合成部１６により合成された最終映像を左目画像として表示装置４００へ出力する（S１３０７）。S１３０７で左目映像を出力した次は右目用映像で左目用映像と同等のことを行う（S１３０２〜S１３０７）。ただし、右目用処理ではS１３０５では右方向にずらしていたイメージプレーンは全て左方向にずらされることになる。また、S１３０７では左目用映像として表示装置に出力していたものが、右目用処理で合成された映像は右目用映像として出力される。左目用映像と右目用映像が完了した時点で次フレームの処理が行われる。
【０１９９】
(第３実施形態)
本実施形態で想定しているBD-Jアプリケーションは、Xletインターフェイスを通じて、プラットフォーム内のアプリケーションマネージャにより、制御されるJava(TM)Xletである。Xletインターフェイスは、“loaded”,“paused”、“active”,“destroyed”といった4つの状態をもち、イベントドリブンつまり、イベントによって状態遷移を行うとともに制御を実行する。xletインターフェイスでは、アプリケーションの動作のトリガとなるキーイベントが予め登録される。このように、動作のトリガとなるキーイベントの登録は、EventListnerによってなされる。
【０２００】
BD-Jアプリケーションはイベントドリブンであるから、ムービーオブジェクトと比較すると、BD-Jアプリケーションによる動作には以下のような違いがある。HDMVモードにおけるコマンドの実行主体であるコマンドインタプリタは、例えば10分長のデジタルストリームの再生が命じられた際、10分という間何の応答も返さず、10分という時間が経過して初めて応答を返す。しかしBD-Jアプリケーションはイベントドリブンであから、Java仮想マシンは、再生コマンドの解読と、下位層への指示を発した直後にBD-Jアプリケーションに対して応答を返す。このように実行主体による動きが、動作モード毎に異なるので、BD-JモードでのBD-Jアプリケーションの動作にあたっては、制御の要所に通知すべきイベントを予め定めておいて、このキーイベントを受信するためのイベントリスナをクラスファイルのXletインターフェイスに予め登録しておき、仮想マシンの適切な動作を促す必要がある。例えば、再生装置の再生モードが2Dから3D、3Dから2Dに切り替った場合、この切り替えを示すイベントを出力すると共に、この受信するイベントリスナをBD-JアプリケーションのXletインターフェイスに登録しておけば、上記再生モードの変化に応じたBD-Jアプリケーションの処理切替えを実現することができる。
【０２０１】
本実施形態では、再生モードが切り替えられた場合には、前記再生装置のモードが切り替えられたことを表示装置に通知し、前記表示装置から切り替え後のモードに応じた出力ができる旨の通知を受けた場合に、前記アプリケーションに対して前記切り替え後のモードに応じた出力ができる旨のイベント出力を行い、それに伴う動作をBD-Jアプリケーションに促す。
【０２０２】
図１８は、再生モード切り替え完了通知イベントの出力手順を組込んだ、3Dモードにおけるビデオフレーム処理の処理手順を示すフローチャートである。本図は、図１３をベースとして作図されており、このベースとなる図１３と比較して、ステップＳ８１０と、ステップＳ８１１との間に、本図ではステップＳ１１０８、ステップＳ１１０９が追加されている点が異なる。
【０２０３】
再生モード切替が発生した後の最初のフレームかどうかの判定を行う(Ｓ１１０８)。最初のフレームである場合、アプリケーションに対して端末の再生モード切り替え終了通知を行う（S１１０９）。このようにして再生装置２００は再生対象のトランスポートストリームが２Dであり、かつ端末設定が２Dモードであった場合は、２D映像出力処理を行えることにより、２D・3Dモードの切り替えを可能となる。
【０２０４】
図１９は、再生モード切り替え完了通知イベントの出力手順を組込んだ、2Dモードにおけるビデオフレーム処理の処理手順を示すフローチャートである。本図は、図１５をベースとして作図されており、このベースとなる図１５と比較して、ステップＳ１１０７と、ステップＳ１１１０との間に、ステップＳ１１０８、ステップＳ１１０９が追加されている点が異なる。再生モード切替が発生した後の最初のフレームかどうかの判定を行う(Ｓ１１０８)。最初のフレームである場合、アプリケーションに対して端末の再生モード切り替え終了通知を行う（S１１０９）。このようにして再生装置２００は再生対象のトランスポートストリームが２Dであり、かつ端末設定が２Dモードであった場合は、２D映像出力処理を行えることにより、２D・3Dモードの切り替えを可能となる。
【０２０５】
以上のように本実施形態によれば、イベントドリブンのxletインターフェイスを具備したBD-Jアプリケーションに対して、3Dモードのための適切な描画を促すようなイベントを出力するので、映像内容が2Dから3D、3Dから2Dに切り替った場合、BD-Jアプリケーションによるグラフィクス描画も、2Dから3D、3Dから2Dに切り替えさせることができる。
【０２０６】
（第４実施形態）
これまでの実施形態は、通常再生時において立体視再生をどのように実現するかについて説明してきたが、本実施形態では、特殊再生がユーザから要求された際、立体視再生をどのように行うかについて説明する。
【０２０７】
図２０は、通常再生に加え、特殊再生を考慮した3Dモードにおけるビデオフレーム処理の処理手順を示すフローチャートである。本図は、図１3をベースとして作図されており、このベースとなる図１３と比較して、ステップＳ１４０１〜ステップＳ１４０４が追加されている点が異なる。
【０２０８】
ステップＳ１４０１は、現在再生中の映像が特殊再生であるか、通常再生であるかを判定する。通常再生であれば、映像、字幕とも3D表示する場合の一例を示している。
【０２０９】
S１４０１で特殊再生の場合、デマルチプレクサ４はディスク上のトランスポートストリームの多重分離を行い、左右処理記憶部１９のフラグを基に、それに対応したビデオストリームを抜き出し、ビデオデコーダ５を通してデコードされたビデオをビデオプレーンに格納する（S１４０２）。第４実施形態では左右処理記憶部のフラグはデフォルトでは左目用の処理が設定されていることとする。合成部１６により合成された最終映像は左目映像として表示装置４００へ出力する（S１４０３）。本出力が完了としたと同時に、本再生装置は左右処理記憶部１９のフラグを転換する。つまり、左目処理と設定されていた場合は右処理に、右目処理と設定されていた場合は左処理に切り替える。
【０２１０】
次に、合成部１６により合成された最終映像を右目画像として表示装置４００へ出力する（S１４０４）。この出力が完了としたと同時に、本再生装置は左右処理記憶部１９のフラグを転換する。つまり、左目処理と設定されていた場合は右処理に、右目処理と設定されていた場合は左処理に切り替える。再生装置２００はS１４０４が完了した時点で次フレームが存在する限り、S１４０１〜S１４０４の処理を繰り返し実行する。
【０２１１】
S１４０１で通常再生の場合、字幕/GUI、映像の3D表示を継続し、図８の処理フローとして先述したS８０２〜S８１０を実施する。
【０２１２】
ここで一時停止の場合でも3D表示の継続が困難な場合は、特殊再生の場合と同様、1つのビデオフレームを繰り返し出力することが考えられる。
【０２１３】
もし特殊再生であれば、映像を２D表示に切り替え、字幕をミュートする。ビデオが早送り、巻戻し等の特殊再生がなされ、右目用または左目用のビデオのいずれかしかデコードできない場合でも、両目用ビデオを出力することが可能になるため、映像のちらつきが防止できるだけでなく、無理に字幕を表示することにより、映像と字幕が整合しないような不自然な再生を防止できる。
【０２１４】
(3D継続の仕方)
停止、一時停止、あるいはスライド再生された場合に、3D表示を継続する処理としては、「繰り返し表示による3D継続」、「次フレーム設定」、「能力による例外」がある。
【０２１５】
１.繰り返し表示による3D継続
たとえば、映像が3D表示で再生され、リモコン３００によるユーザ操作やコンテンツ（Java(登録商標)アプリケーション、MovieObject）により途中で停止、一時停止、あるいはスライド再生された場合、映像が停止した位置の左目用のビデオフレームと右目用のビデオフレーム及び字幕データを繰り返し表示し続けることにより3D表示を継続する。
すなわち、図１４で次フレーム処理を行う際の次フレームを、常に映像が停止した位置の左目用ビデオストリームのビデオフレームの位置に設定することで、3D表示を継続する。また、ビデオのみ3D表示を継続して、字幕をミュートすることが考えられる。同じく、メモリ等のリソース制約により、3D表示を継続できない場合には、ビデオ及び字幕をミュートすることも考えられる。
このようにして、可能な限り3D表示を継続することで、不自然な立体感の差の発生を可能な限り抑制することが可能となり、視聴者への不快感を軽減することができる。
【０２１６】
２.次フレーム設定
次フレーム処理を行う際の次フレームを、常に映像が停止した位置の左目用ビデオストリームのビデオフレームの位置に設定することで、3D表示を継続することができる。
【０２１７】
また、メモリ等のリソース制約により、3D表示を継続できない場合には、ビデオ及び字幕をミュートすることが考えられる。このようにして、可能な限り3D表示を継続することで、不自然な立体感の差の発生を可能な限り抑制することが可能となり、視聴者への不快感を軽減することができる。
【０２１８】
３.能力による例外
もちろん、再生装置２００が高性能である場合には、ビデオが早送り、巻き戻し等特殊再生された場合でも、S８０２〜S８１０の処理を実施することで3D表示を継続しても良い。
【０２１９】
（第５実施形態）
ここまでは、ユーザ操作やBD-Jアプリケーション、ムービーオブジェクトからの指示による特殊再生を実施した際の挙動に関して述べてきた。ただ、そもそも映像が乱れたり、映像と字幕の整合が取れなかったりするのは特殊再生を強行しようとしていることに起因している。そこで、ここからは、字幕/GUI、映像の3D再生を継続するために、特殊再生を禁止するための改良について説明する。
【０２２０】
図２１は、ユーザ操作、BD-Jアプリケーション、ムービーオブジェクトからの指示による特殊再生を禁止する場合のフローチャートの一例を示している。
【０２２１】
再生装置２００が字幕/GUI、映像を再生している状態において、リモコン３００でのユーザ操作、BD-Jアプリケーション、ムービーオブジェクトからの指示により、早送り、巻戻し等、再生速度が1倍速以外の特殊再生を要求されたとする（S１５０１）。再生制御エンジン１８は静的シナリオメモリ１３にあるカレントプレイリスト（PL）情報から次元識別フラグ４０１１１を取得して、映像が２Dか3Dかを判定する（S１５０２）。S１５０２で映像が3Dだと判定された場合、S１５０１での特殊再生要求を却下し、映像の通常再生を継続する（S１５０３）。S１５０２で映像が２Dだと判定された場合、S１５０１での特殊再生要求を受理し、映像再生を特殊再生に変更する（S１５０４）。
【０２２２】
このようにして、3D表示が困難になる特殊再生を予め防止することで、3D表示が可能になる。
【０２２３】
（第６実施形態）
本実施形態では、Depth演算方式を適用した改良を説明する。
【０２２４】
図２２は、Depth演算方式を適用した再生装置の内部構成を示すブロック図である。図１６に示すように、実施の形態１に示す内部構成から、Depth演算エンジン３４が追加されていることがわかる。
【０２２５】
Depth演算エンジン３４は左目用の字幕/GUIストリーム、ビデオフレームから奥行きを計算できる機能を有する。奥行きの計算方法としては、２Dビデオストリームとその２Dビデオストリームのフレーム毎の各画面ピクセルの奥行きを入力とし、それを基に再生機器が左目用3Dビデオストリームと、右目用3DAVストリームとを生成する。この方式は、米国特許第５９２９８５９号明細書に示されている。米国特許第５９２９８５９号明細書で記述されている方式のDepth演算方式の場合も、図１５に示される方法を少し変えることにより、3Dビデオストリームの上に立体字幕・グラフィックスを重畳させることが可能になる。
【０２２６】
図２３は、Depth演算方式を用いた場合の3Dモードにおけるビデオフレーム処理の処理手順を示すフローチャートである。本図は、図２０をベースとして作図されており、このベースとなる図２０と比較して、ステップＳ１４０１と、ステップＳ８０２との間に、ステップＳ１７０１〜ステップＳ１７０３が追加されている点が異なる。
【０２２７】
この追加された一連のステップにおいて、Depth演算エンジン３４は画面の各ピクセルの奥行き情報を示す画面全体奥行き情報を抽出する（S１７０１）。次に、Depth演算エンジン３４はS１７０１で抽出した画面全体奥行き情報から、最も手前と判定されたピクセルに対応する奥行き情報を抽出する（S１７０２）。Depth演算エンジン３４はS１７０２で抽出した値をプレーンシフトエンジン２０の記憶領域に保存する（S１７０３）。
【０２２８】
ステップS１７０３ではビデオの最大手前ポイントより少し手前に字幕・グラフィックを表示させるために、S１７０３で抽出した値に加え、もう少し手前にもってくるような値をプレーンシフトエンジン２０の記憶領域に保存しておくことが望ましい。
【０２２９】
次に、再生装置２００はS８０２〜S８１０、S１４０１〜S１４０４の処理を行う。S８０２〜S８１０、S１４０１〜S１４０４の詳細な処理の説明については実施の形態１の図８、図１４の説明で行っているためここでは行わないことにする。ステップS８１０、S１４０４の処理が終わった後は次フレーム処理として、S１７０１以降の処理を繰り返す。
【０２３０】
この例の場合は図１３におけるS８０４とS８０７のビデオはデマルチプレクサ４がディスク上のトランスポートストリームの多重分離を行い、左目用ビデオストリームと右目用ビデオストリームを取得したものではなく、入力された２Dビデオストリームを3Dに見せるために加工を施した左目用ビデオフレームと、右目用ビデオフレームとが図１３のステップＳ８０４、ステップＳ８０７の対象になる。
【０２３１】
以上のように本実施形態によれば、２Dビデオストリームと、画面の各ピクセルの奥行き情報とを入力とするDepth演算方式においてもビデオが早送り、巻き戻し等の特殊再生がなされ、左目用のビデオのデコードから右目用のビデオフレームの生成ができない場合でも、両目用ビデオを出力することが可能になるため、映像のちらつきが防止できるだけでなく、無理に字幕を表示することにより、映像と字幕が整合しないような不自然な再生を防止できる。
【０２３２】
さらに、第１実施形態、第６実施形態を組み合わせた再生も可能である。つまり、第６実施形態の方法を使用すれば特殊再生時にも3D出力の継続が可能になる場合、特殊再生中は第６実施形態の方法に切り替え、通常再生中は実施例１の方法でコンテンツを再生することも可能である。
【０２３３】
(第７実施形態)
これまでの実施形態は、表示装置４００と再生装置との間の伝送について特に触れなかったが、本実施形態では、この伝送について踏み込むものとする。
【０２３４】
以下、HDMIを介した、再生装置と、表示装置との間のデータ転送について説明する。
【０２３５】
HDMI送受信部１７は、レイヤ合成がなされたピクチャデータにおける一ライン分の非圧縮・平文形式の画素データを、表示装置における水平同期期間に従い表示装置に高い転送レートで転送する。一方、表示装置における水平帰線期間、及び、垂直帰線期間において、再生装置と接続された他の装置(表示装置のみならずアンプ、スピーカを含む)に、非圧縮・平文形式のオーディオデータを転送する。こうすることで、HDMIを通じて接続された表示装置、アンプ、スピーカといった機器は、非圧縮・平文形式のピクチャデータ、非圧縮・平文形式のオーディオデータを受け取ることができ、再生出力を実現することができる。HDMIは、非圧縮・平文形式のピクチャデータ、オーディオデータの伝送を行うものなので、HDMIを介した機器の接続にあたっては、その接続相手が正当な機器かどうかの厳しい判定がなされる。そこで、HDMIの接続にあたって、接続される再生装置及び表示装置間で相互認証がなされる。この相互認証は、基本的に、周波数を変化した際にも実行されるから、上記モード変更時においては、再生装置−表示装置間の相互認証が行われることになる。
【０２３６】
以下、再生装置２００と、表示装置４００との間において、相互認証がどのように行われるかについて説明する。
【０２３７】
図２４は、再生装置２００と、表示装置４００との通信シーケンスを示す。本図における時間軸は縦軸であり、HDMIには、伝送フェーズ、相互認証フェース、伝送フェーズという3つのフェーズが存在する。
【０２３８】
伝送フェーズから相互認証フェースへの切り替えは、2D→3D切替要求（または3D→2D切替要求）がトリガになっており、相互認証フェーズから伝送フェースへの切り替えは、認証終了がトリガになっている。つまり、Ｌ画像のデコードが再生装置側で行われ、Ｌ画像の表示出力が表示装置４００で行われている際に、切り替え要求がなされれば、相互認証が開始される。この間、表示装置４００は、ブラックアウトの状態になる。認証終了フェーズにおいては、イベントがBD-Jアプリケーションに出力される。そしてＬ画像、Ｒ画像のデコードが再生装置側で行われ、Ｌ画像、Ｒ画像の表示出力が表示装置４００で行われる。
【０２３９】
以上の相互認証は、HDMIインターフェイスが、モード切り替を実現しようとする際になされる。以下、HDMIインターフェイスによるモード切り替えについて説明する。
【０２４０】
図２５は、HDMIインターフェイスにおける、モード切替の処理手順を示すフローチャートである。
【０２４１】
HDMIを通じて、新たなモードを表示装置４００に出力し(ステップＳ３１)、表示装置４００との間で、再同期処理及び再認証処理を実行する(ステップＳ３２)。そして認証完了を待ち(ステップＳ３３)、認証が完了すれば、イベントをBD-Jアプリケーションに出力する(ステップＳ３４)。
【０２４２】
相互認証の発生により、表示装置４００の表示内容がブラックアウトするので、表示装置４００におけるモード切り替えが発生しないような配慮が必要になる。
【０２４３】
このモード切り替えは、周波数が変化することに起因しているので、本実施形態では、表示装置４００における周波数切り替えを招かない2つのモードを導入する。
【０２４４】
これまでに説明した左目用ビデオストリーム、右目用ビデオストリームのうち、単独再生が可能なものをベースビュービデオストリームという。一方、このベースビュービデオストリームを構成する個々のビデオフレームとの相関性に基づき圧縮符号化されているビデオフレームからなるビデオストリームを、ディペンデントビューストリームという。
【０２４５】
そして、ベースビュービデオストリームのビデオフレームと、ディペンデントビューストリームのビデオフレームとを１／４８秒の表示周期において、“Ｂ”ー“Ｄ”ー“Ｂ”ー“Ｄ”というように交互で出力するモードを、“B−Dプレゼンテーションモード”という。
【０２４６】
ベースビュービデオストリームのビデオフレームと、ディペンデントビューストリームのビデオフレームとを交互に出力するのではなく、再生モードを3Dモードに維持したまま、同じビデオフレームを2回以上繰り返し左右のビデオプレーン（例えば、図８、図２２に示したビデオプレーン６において、符号（Ｌ）、（Ｒ）を付したそれぞれの領域）に出力し、ビデオプレーンに書き込んだビデオフレームを再生に用いるという処理を行う再生タイプを、B−Bプレゼンテーションモードという。B−Bプレゼンテーションモードでは、単独再生可能なベースビュービデオストリームのビデオフレームのみが“Ｂ“−“Ｂ“−“Ｂ“−“Ｂ“というように繰り返し出力される。
【０２４７】
図２６は、B−Dプレゼンテーションモード、B−Bプレゼンテーションモード、B−Dプレゼンテーションモードというように、再生モードが遷移する場合に、出力されるピクチャや表示周波数、HDMIがどのように変化するかを示す。第１段目は、表示装置４００に出力されるピクチャを示し、第２段目は、表示周波数を示す。この周波数は、左目用、右目用のビデオフレームをフィルム素材の周波数で表示するというものであり、48フレーム/秒(２×24フレーム/秒)という値になる。第３段目は、HDMIの状態を示す。
【０２４８】
B−DプレゼンテーションモードからB−Bプレゼンテーションモードへの遷移は、特殊再生開始が指示された時点でなされ、B−BプレゼンテーションモードからB−Dプレゼンテーションモードへの遷移は、特殊再生が終了した際になされる。このようにB−Bプレゼンテーションモード、B−Dプレゼンテーションモード間の遷移が生じたとしても、第２段目に示すように表示周波数は48Hzを保ち、第３段目に示すように、HDMIにおける再認証は発生しないことがわかる。
【０２４９】
図２７は、通常再生から早送りへの切り替え、早送りから通常再生への切り替えによって、再生装置におけるデコード内容、及び、表示装置４００の表示内容がどのように変化するかを示す。本図における時間軸は縦方向であり、通常再生フェーズ、特殊再生フェーズ、通常再生フェーズという3つのフェーズから構成されている。
【０２５０】
通常再生フェーズでは、再生装置がB−Dプレゼンテーションモードになっており、Ｌ画像、Ｒ画像のデコード及び出力がなされる。表示装置４００では、Ｌ画像、Ｒ画像の交互出力がなされる。
【０２５１】
特殊再生フェーズでは、再生装置がB−Bプレゼンテーションモードになっている。ここで、左目用ビデオストリームがベースビュービデオストリームであるとすると、Ｌ画像、Ｌ画像のデコード及び出力がなされる。表示装置４００では、Ｌ画像、Ｌ画像の交互出力がなされる。
【０２５２】
通常再生フェーズでは、再生装置がB−Dプレゼンテーションモードになっており、Ｌ画像、Ｒ画像のデコード及び出力がなされる。表示装置４００では、Ｌ画像、Ｒ画像の交互出力がなされる。
【０２５３】
これらの3つの再生モードの切り替えがあったとしても、HDMI上では再認証が発生しない。
【０２５４】
(第８実施形態)
これまでの実施形態で説明した特殊再生は、具体的な処理内容を絞らずに説明を進めたが、本実施形態では、倍速再生の実現に焦点を絞って説明を行う。
【０２５５】
先ず始めに、MVCビデオストリームの基礎となるMPEG4-AVC形式のビデオストリームについて説明する。MPEG4-AVC形式のビデオストリームは、Iピクチャ、Bピクチャ、
Pピクチャから構成される。これは、MPEG2形式のビデオストリームと同じである。
【０２５６】
Iピクチャには、IDRピクチャと、Non-IDR Iピクチャとの2種類がある。Non-IDR Iピクチャ、Pピクチャ、Bピクチャは、他のピクチャとのフレーム相関性に基づき圧縮符号化されている。Bピクチャとは、Bidirectionally predictive(B)形式のスライスデータからなるピクチャをいい、Pピクチャとは、Predictive(P)形式のスライスデータからなるピクチャをいう。Bピクチャには、refrenceBピクチャと、nonrefrenceBピクチャとがある。IDRピクチャと、このIDRピクチャに続くBピクチャ、Pピクチャは、1つのClosed-GOPを構成する。一方、Non-IDR Iピクチャと、Non-IDR Iピクチャに続くBピクチャ、Pピクチャは、1つのOpen-GOPを構成する。
【０２５７】
符号化順序においてClosed-GOPは、IDRピクチャが先頭に配置される。表示順序においてIDRピクチャは先頭にならないが、IDRピクチャ以外の他のピクチャ(Bピクチャ，Pピクチャ)は、Closed-GOPより前のGOPに存在するピクチャと依存関係をもつことはできない。このようにClosed-GOPは、依存関係を完結させる役割をもつ。
【０２５８】
符号化順序と、表示順序との違いは、IDRピクチャ、Non-IDR Iピクチャ、Pピクチャの順序が入れ代わっている点である。表示順序では、Non-IDR Iピクチャの前にBピクチャが存在する。Non-IDR Iピクチャ前のBピクチャは、前のGOPと依存関係をもつことになる。一方Non-IDR Iピクチャより後のピクチャは、前のGOPと依存関係をもつことができない。このようにOpen-GOPは、前のピクチャとの間に依存関係を持つことができる。
【０２５９】
これらIピクチャ、Pピクチャ、Bピクチャと、アクセスユニットとの関係は、１アクセスユニット ＝ １ピクチャである。オーディオストリームも、複数のオーディオフレームから構成されるが、これらオーディオフレームと、アクセスユニットとの関係も、１オーディオフレーム ＝ １アクセスユニットである。またBD-ROMでは、１PESパケット ＝ １フレームに制限されている。つまり、動画がフレーム構造であれば、１PESパケット ＝ １ピクチャであり、フィールド構造である場合、１PESパケット＝２ピクチャとなる。これらのことから、PESパケットは、ピクチャやオーディオフレームを、１対１の比率で格納している。
【０２６０】
以上がMPEG4-AVCにおけるGOP構造である。このようなGOP構造において、GOP内に存在するIピクチャ、Bピクチャ、Pピクチャのうち、どれを選んで再生するか、ビデオストリームを構成する複数のClosed-GOP,Open-GOPのうち、どれを選んで再生するかという間欠的な再生によって、倍速再生時の再生速度を調整することが可能になる。これに加え3Dモードでは、倍速再生実行時において、ベースビュービデオストリーム及びディペンデントビューストリームのうち、ベースビュービデオストリームを構成するピクチャデータのみをBD-ROMから読み出して、B−Bプレゼンテーションモードにて再生することでアクセス負荷の軽減を図る。
【０２６１】
図２８は、GOP内に存在するIピクチャ、Bピクチャ、Pピクチャのうち、どれを選んで再生するか、ビデオストリームを構成する複数のClosed-GOP,Open-GOPのうち、どれを選んで再生するかによって、速度調整を実現する倍速再生の実現例を示す。
【０２６２】
図２８（ａ）は、ベースビュービデオストリームの複数のGOP、及び、ディペンデントビューストリームの複数のGOPに含まれるピクチャデータを順次再生してゆくという通常再生を示す図である。図２８（ｂ）は、ベースビュービデオストリーム内に存在するGOPに存在するBピクチャをスキップして、Iピクチャ、Pピクチャのみを順次読み出すという、IP読み出しを示す図である。この図（ｂ）では3Dモードでありながら、ディペンデントビューストリームについては、アクセスがされていないことがわかる。
【０２６３】
図２８（ｃ）は、GOPに存在するBピクチャ、Pピクチャをスキップして、Iピクチャを順次読み出すという、I読み出しを示す図である。この図（ｃ）でも3Dモードでありながら、ディペンデントビューストリームについては、アクセスがされていないことがわかる。
【０２６４】
図２８（ｄ）は、複数のGOPをスキップするというスキップ読み出しを示す図である。本図では、複数のGOPに含まれるIピクチャのうち、GOPのIピクチャが再生され、その後、矢印に示すような読み出し位置のスキップが行われて、数個先のGOPのIピクチャが再生されることになる。この図（ｄ）では3Dモードでありながら、ディペンデントビューストリームについては、アクセスがされていないことがわかる。
【０２６５】
図２８（ｂ）のようなIP読み出しが行われれば、再生装置により、大体2倍速の再生がなされ、図２８（ｃ）のようなI再生が行われれば、再生装置により、４倍速の再生がなされることとなる。更に図２８（ｄ）のような再生が行われれば、１０倍速以上の再生がなされることとなる。3Dモードでのアクセス負荷軽減のため、本図（ｂ）〜（ｄ）では、ベースビュービデオストリームである左目用ビデオストリームのGOPのみが、アクセスに供されており、この左目用ビデオストリームにおけるIピクチャのみが、B−Bプレゼンテーションモードで再生される。
【０２６６】
以上のように、リモコンから受け付けた速度に応じてスキップすべきピクチャデータの数を調整することにより、動画区間における再生速度を増減させる。以上が倍速再生についての説明である。続いて、ビデオデコーダの詳細について説明する。
【０２６７】
図２９は、デマルチプレクサ及びビデオデコーダの内部構成を示す。本図に示すようにデマルチプレクサ４は、ATCカウンタ４１、ソースデパケットタイザ４２、PIDフィルタ４３、STCカウンタ４４、ATCカウンタ４５、ソースデパケットタイザ４６、PIDフィルタ４７から構成される。
【０２６８】
ATCカウンタ４１は、Arrival Time Clock(ATC)を生成して、再生装置内の動作タイミングを調整する。
【０２６９】
ソースデパケットタイザ４２は、リードバッファ２aにソースパケットが蓄えられた場合、ATCカウンタが生成するATCの値と、ソースパケットのATS値とが同一になった瞬間に、AVクリップのシステムレートにしたがって、そのTSパケットだけをPIDフィルタに転送する。この転送にあたって、各ソースパケットのATSに応じてデコーダへの入力時刻を調整する。
【０２７０】
PIDフィルタ４３は、ソースデパケッタイザ２２から出力されたTSパケットのうち、TSパケットのPIDが、再生に必要とされるPIDに一致するものを、PIDにしたがって、各デコーダに転送する。
【０２７１】
STCカウンタ４４は、System Time Clock(STC)を生成し各デコーダの動作タイミングを調整する。
【０２７２】
ATCカウンタ４５は、Arrival Time Clock(ATC)を生成して、再生装置内の動作タイミングを調整する。
【０２７３】
ソースデパケットタイザ４６は、リードバッファ２abにソースパケットが蓄えられた場合、ATCカウンタが生成するATCの値と、ソースパケットのATS値とが同一になった瞬間に、AVクリップのシステムレートにしたがって、そのTSパケットだけをPIDフィルタに転送する。この転送にあたって、各ソースパケットのATSに応じてデコーダへの入力時刻を調整する。
【０２７４】
PIDフィルタ４７は、ソースデパケッタイザ２６から出力されたTSパケットのうち、TSパケットのPIDが、カレントプレイアイテムのストリーム選択テーブルに記載されたPIDに一致するものを、PIDにしたがって、各デコーダに転送する。
【０２７５】
ビデオデコーダ５は、TB５１、MB５２、EB５３、TB５４、MB５５、EB５６、デコーダコア５７、バッファスイッチ５８、DPB５９、ピクチャスイッチ６０から構成される。
【０２７６】
Transport Buffer(TB)５１は、左目用ビデオストリームを含むTSパケットがPIDフィルタ４３から出力された際、TSパケットのまま一旦蓄積されるバッファである。
【０２７７】
Multiplexed Buffer(MB)５２は、TBからEBにビデオストリームを出力するにあたって、一旦PESパケットを蓄積しておくためのバッファである。TBからMBにデータが転送される際に、TSパケットのTSヘッダは取り除かれる。
【０２７８】
Elementaly Buffer(EB)５３は、符号化状態にあるビデオアクセスユニットが格納されるバッファである。MBからEBにデータが転送される際にPESヘッダが取り除かれる。
【０２７９】
Transport Buffer(TB)５４は、右目用ビデオストリームを含むTSパケットがPIDフィルタ４７から出力された際、TSパケットのまま一旦蓄積されるバッファである。
【０２８０】
Multiplexed Buffer(MB)５５は、TBからEBにビデオストリームを出力するにあたって、一旦PESパケットを蓄積しておくためのバッファである。TBからMBにデータが転送される際に、TSパケットのTSヘッダは取り除かれる。
【０２８１】
Elementaly Buffer(EB)５６は、符号化状態にあるビデオアクセスユニットが格納されるバッファである。MBからEBにデータが転送される際にPESヘッダが取り除かれる。
【０２８２】
デコーダコア５７は、ビデオエレメンタリストリームの個々のビデオアクセスユニットを所定の復号時刻（DTS）でデコードすることによりフレーム/フィールド画像を作成する。AVクリップに多重化されるビデオストリームの圧縮符号化形式にはMPEG２、MPEG４AVC、VC１などがあるため、ストリームの属性に応じて、デコーダコア５７のデコード方法は切り替えられる。ベースビュービデオストリームを構成するピクチャデータをデコードするにあたってデコーダコア５７は、未来方向又は過去方向に存在するピクチャデータを参照ピクチャとして利用して、動き補償を行う。そしてディペンデントビュービデオストリームを構成する個々のピクチャデータのデコードにあたってデコーダコア５７は、ベースビュービデオストリームを構成するピクチャデータを参照ピクチャとして利用して、動き補償を行う。こうしてピクチャデータがデコードされれば、デコーダコア５７は、デコードされたフレーム/フィールド画像をDPB５９に転送し、表示時刻（PTS）のタイミングで対応するフレーム/フィールド画像をピクチャスイッチに転送する。
【０２８３】
バッファスイッチ５８は、デコーダコア５７がビデオアクセスユニットをデコードする際に取得したデコードスイッチ情報を使って、次のアクセスユニットをEB５３、EB５６のどちらから引き抜くかを決定し、EB５３と、EB５６とに蓄えられたピクチャをビデオアクセスユニットに割り当てられた復号時刻（DTS）のタイミングでデコーダコア５７に転送する。左目用ビデオストリームと右目用ビデオストリームのDTSは時間軸上でピクチャ単位で交互に来るように設定されているため、例えばDTSを無視して前倒しでデコードする場合、ピクチャ単位でビデオアクセスユニットをデコーダコア５７に転送するのが望ましい。
【０２８４】
Decoded PIcture Buffer(DPB)５９は、復号されたフレーム/フィールド画像を一時的に保持しておくバッファである。デコーダコア５７が、ピクチャ間予測符号化されたPピクチャやBピクチャなどのビデオアクセスユニットをデコードする際に、既にデコードされたピクチャを参照するために利用する。
【０２８５】
ピクチャスイッチ６０は、デコーダコア５７から転送されたデコード済みのフレーム/フィールド画像を、ビデオプレーンに書き込む場合、その書込先を左目ビデオプレーン、右目ビデオプレーンに切り替える。左目のストリームの場合は、非圧縮のピクチャデータが左目ビデオプレーンに、右目のストリームの場合は、非圧縮のピクチャデータが右目ビデオプレーンに瞬時に書き出されることになる。
【０２８６】
以上がビデオデコーダについての説明である。続いて、倍速再生がどのように行われるかの詳細について説明する。
【０２８７】
動画区間の再生にあたっては、上述したような内部構成をもつビデオデコーダが、ピクチャデータをスキップしながら読み出すことにより、倍速再生を実現する。
【０２８８】
本実施形態では、字幕/GUI、映像のミュート、２D、3D表示判定処理を、再生速度に応じて実施する。たとえば、映像、音声、字幕の再生が1倍速再生と同等に可能な再生速度の場合（たとえば、１.３倍の再生速度を要する早見再生、コマ送り、コマ戻し時）には、S１４０１で通常再生の場合と同様に字幕/GUI、映像の3D表示を継続する。
【０２８９】
字幕のデコードをやめるだけで映像の3D表示を継続できる場合、映像のみ3D表示を継続する。２Dならば映像と字幕の合成が可能な再生速度の場合には、映像は左目用または右目用データのみをデコードし字幕はデコードしプレーンシフトエンジン２０でシフトせずに左目用、右目用の映像と合成して出力することで、映像・字幕と2Dで表示する。さらに高速再生で、２Dとしても表示不可能な場合には、映像、字幕ともミュートする。
【０２９０】
こうした特殊再生時における再生処理は、図３０のフローチャートを用いることで実現することができる。
【０２９１】
図３０は、倍速再生を考慮した特殊再生の処理手順を示すフローチャートである。本フローチャートは、ステップＳ５１、ステップＳ５２の判定結果に応じて、ステップＳ５３、ステップＳ５４、ステップＳ５５を選択的に実行するものである。ステップＳ５１は、要求された特殊再生が、再生速度に応じたデコード制御を含むかどうかの判定であり、ステップＳ５２は、B−Dプレゼンテーションモードの再生が可能な速度であるか否かの判定である。
【０２９２】
速度が1.3倍までであれば、ステップＳ５３に移行して、B−Dプレゼンテーションモードに切り替え、B−Dプレゼンテーションモードによるデコード制御を実行する。2.0倍以上であれば、ステップＳ５４において、B−Bプレゼンテーションモードに切り替え、B−BプレゼンテーションモードによるIP再生、I再生等のデコード制御を実行する。速度に応じたデコード制御を含まない場合、要求された特殊再生を実行する(ステップＳ５５)。
【０２９３】
ステップＳ５２では、再生速度が１．３倍までであればステップＳ５３を実行し、再生速度が２倍以上であれば、ステップＳ５４を実行する構成を開示しており、再生速度が、１．３倍より大きく、２倍より小さいまでの範囲を考慮していないが、これは、再生装置において、再生速度が１．３より大きく２倍より小さいまでの倍速再生を行う機能を有していないという前提に基づくものである。しかしながら、特殊再生において、再生速度が２倍以上の特殊再生が行えるとともに、再生速度が１．３より大きく２倍より小さい範囲の特殊再生をも行える機能を再生装置が備えるのであれば、例えばステップＳ５２において、再生速度が１．３倍よりも大きな場合にステップＳ５４を実行すると変更すればよい。
【０２９４】
(第９実施形態)
これまでの実施形態では、特殊再生の要求時において、2D再生モードを3Dモードに戻すとの処理を原則として行ったが、本実施形態では、リモコン３００でのユーザ操作による特殊再生の要求を、プレイリストにおけるプレイアイテムでマスクすることを提案する。
【０２９５】
プレイアイテムにおけるUOマスクテーブルは、以下のフラグから構成される。
【０２９６】
・chapter＿search＿maskフラグ
chapter＿search＿maskフラグは、チャプターサーチという再生制御がユーザから要求された場合、その要求をマスクするか否かを規定するフラグである。ここでチャプターサーチとは、番号入力をユーザから受け付けて、その番号に指定されたチャプターから再生を開始するという再生制御である。
【０２９７】
・time＿search＿maskフラグ
time＿search＿maskは、タイムサーチという再生制御がユーザから要求された場合、その要求をマスクするか否かを規定するフラグである。ここでタイムサーチとは、再生時刻の入力操作をユーザから受け付けて、再生時刻に指定された時点から再生を開始するという再生制御である。
【０２９８】
・skip＿next＿maskフラグ,skip＿back＿maskフラグ
skip＿next＿maskフラグ,skip＿back＿maskフラグは、スキップネクスト、スキップバックがユーザから要求された場合に、その要求をマスクするか否かを示すフラグである。
【０２９９】
・play＿maskフラグ
play＿maskフラグは、再生開始という再生制御がユーザから要求された場合、その要求をマスクするか否かを示すフラグである。
【０３００】
・stop＿maskフラグ
stop＿maskフラグは、再生停止という再生制御がユーザから要求された場合、その要求をマスクするか否かを示すフラグである。
【０３０１】
・pause＿on＿maskフラグ
pause＿on＿maskフラグは、ポーズオン(一時停止)という再生制御がユーザから要求された場合、その要求をマスクするか否かを示すフラグである。
【０３０２】
・pause＿off＿maskフラグ
pause＿off＿maskフラグは、ポーズオフ(一時停止解除)という再生制御がユーザから要求された場合、その要求をマスクするか否かを示すフラグである。
【０３０３】
・still＿off＿maskフラグ
still＿off＿maskフラグは、静止画モードオフという再生制御がユーザから要求された場合、その要求をマスクするか否かを示すフラグである。
【０３０４】
・forward＿play＿maskフラグ,backward＿play＿maskフラグ
forward＿play＿maskフラグ,backward＿play＿maskフラグは、早送り、早戻しという再生制御がユーザから要求された場合、その要求をマスクするか否かを規定するフラグである。
【０３０５】
・resume＿maskフラグ
resume＿maskフラグは、再生再開という再生制御がユーザから要求された場合、その要求をマスクするか否かを示すフラグである。
【０３０６】
・audio＿change＿maskフラグ
audio＿change＿maskフラグは、音声切り換えという再生制御がユーザから要求された場合、その要求をマスクするか否かを示すフラグである。
【０３０７】
・PG＿textST＿change＿maskフラグ
PG＿textST＿change＿maskフラグは、グラフィクス(Presentation Graphics)により描画された字幕と、テキストにより描画された字幕の切り換えがユーザから要求された場合、その要求をマスクするか否かを示すフラグである。
【０３０８】
・angle＿change＿maskフラグ
angle＿change＿maskフラグは、アングル切り換えという再生制御がユーザから要求された場合、その要求をマスクするか否かを示すフラグである。
【０３０９】
・popup＿on＿maskフラグ
popup＿on＿maskフラグは、ポップアップメニューの呼出という再生制御がユーザから要求された場合、その要求をマスクするか否かを示すフラグである。
【０３１０】
・popup＿off＿maskフラグ
popup＿off＿maskフラグは、ポップアップメニューの表示オフという再生制御がユーザから要求された場合、その要求をマスクするか否かを示すフラグである。
【０３１１】
・select＿menu＿language＿maskフラグ
select＿menu＿language＿maskフラグは、メニューの記述言語を選択するという再生制御がユーザから要求された場合、その要求をマスクするか否かを示すフラグである。
【０３１２】
尚、UOマスクテーブルによってマスクがなされるのはユーザ操作のみであり、BD-Jアプリケーション又はムービーオブジェクトからの特殊再生の指示はマスクされない。
【０３１３】
以上がUOマスクテーブルである。このUOマスクテーブルを用いたビデオフレーム処理は、図３１に示すものとなる。
【０３１４】
図３１は、3Dモードにおけるビデオフレーム処理の処理手順を示すフローチャートである。ステップＳ４１〜ステップＳ４３、ステップＳ８０２〜ステップＳ８１０、ステップＳ８１１の処理を繰り返すループになっている。本ループの終了条件は、ステップＳ８１１において、次のビデオフレームが存在しないと判定されることである。
【０３１５】
ステップＳ４１は、ユーザから特殊再生の要求があったかどうかの判定であり、ステップＳ４２は、停止要求があったかどうかの判定、ステップＳ４３は、一時停止要求があったかどうかの判定である。
【０３１６】
ステップＳ４４は、カレントプレイアイテムのUOマスクテーブルにおいて特殊再生要求がマスクされているかどうかの判定であり、マスクされていなければ、ステップＳ４５において特殊再生を実行する。
【０３１７】
ステップＳ４２は、停止要求がなされたかどうかの判定であり、停止要求がなされれば、ステップＳ４７において、B−Dプレゼンテーションモードを維持したまま、再生停止位置の左目用ビデオストリームのビデオフレーム及び右目用ビデオストリームのビデオフレームを交互に出力して、リターンする。
【０３１８】
ステップＳ４３は、一時停止が要求されたか否かの判定であり、要求されれば、ステップＳ４６において、カレントプレイアイテムのUOマスクテーブルにおいて特殊再生要求がマスクされているかどうかの判定を行う。マスクされていれば、ステップＳ４７において、B−Dプレゼンテーションモードを維持したまま、再生停止位置の左目用ビデオストリームのビデオフレーム及び右目用ビデオストリームのビデオフレームを交互に出力して、リターンする。
【０３１９】
（第１０実施形態）
これまでの実施形態では、グラフィックス、字幕、映像を3D表示するために必要なコンテンツの構成及び再生方法について述べてきた。ここからは、映像の再生状態が変化した場合のコンテンツ再生方法について述べる。映像の再生状態として、早送り、巻戻しスキップ等、再生速度が一倍速再生以外の特殊再生がなされた場合、また、映像が一時停止、スライド再生、停止された場合を例としてあげる。
【０３２０】
以下は、特殊再生時の再生処理における問題提起である。映像の特殊再生がなされた場合、図で説明したような3Dコンテンツの再生方法では、ビデオフレームのデコードが間に合わなくなり、映像が乱れるだけでなく、ビデオフレームに合わせた字幕データのデコードも間に合わなくなり、視聴者に不快なコンテンツを提供することになる。
【０３２１】
以下は、一時停止、スライド再生、停止時における再生処理での問題提起である。
【０３２２】
その他、映像が一時停止、スライド再生、停止された場合、映像が停止した地点の最終フレームを表示する場合、3D表示から２D表示に切り替わると、字幕/GUIストリームとの不自然な立体感の差から目がついていけなくなり、本来あるべき視覚感が損なわれ、結果として臨場感覚が低減するため、視聴者に不快感を与えてしまう。
【０３２３】
図３２は、ユーザ操作、BD-Jアプリケーションによる要求、ムービーオブジェクトによる要求に応じたイメージプレーン処理手順を示すフローチャートである。
【０３２４】
本フローチャートは、ステップＳ６１〜ステップＳ６３を繰り返すループになっており、ステップＳ６１では特殊再生の指示がユーザによってなされたか否か、ステップＳ６２では、停止要求、一時停止要求がなされたか、ビデオの終端であるか否かが判定される。ステップＳ６３は、スライドショー再生であるか否かが判定される。
【０３２５】
上述したように、プレイリストファイルにおけるPlayItemの再生タイプは、ストリームファイルがスライドショー再生されるかどうかを示すので、カレントのPlayItemが、スライドショー再生を実現する旨を示すPlayItemに切り替わった際、ステップＳ６３はYesと判定される。
【０３２６】
特殊再生が要求されれば、ステップＳ６７において、イメージプレーンとの合成が可能かどうかが判定され、合成可能であれば、左目用ビデオストリームのビデオフレーム及び右目用ビデオストリームのビデオフレームの一方に、画素座標がプレーンシフトによって変化しているグラフィクスを合成し、ループに戻る(ステップＳ６８)。
【０３２７】
合成可能でなければ、ステップＳ６９においてイメージプレーンにおけるグラフィクスを合成させず、左目用ビデオストリームのビデオフレーム及び右目用ビデオストリームのビデオフレームの一方を出力する。
【０３２８】
停止要求、一時停止要求がなされたか、ビデオの終端であれば、ステップＳ７０においてプレーンシフト及び合成が可能であるかどうかが判定され、可能であれば、再生停止位置における左目用ビデオストリームのビデオフレーム及び右目用ビデオストリームのビデオフレームのそれぞれに、画素の座標がプレーンシフトによって変化したグラフィクスを合成させる(ステップＳ７１)。
【０３２９】
プレーンシフト及び合成が不可能であれば、ステップＳ７２においてイメージプレーンにおけるグラフィクスを合成させず、左目用ビデオストリームのビデオフレーム及び右目用ビデオストリームのビデオフレームを交互に出力させる。
【０３３０】
(第１１実施形態)
本実施形態では、BD-Jアプリケーションに対する機能提供についての改良である。
【０３３１】
BD-Jアプリケーションに特殊再生を要求させないようにするため、プレイリスト情報からBD-Jアプリケーションに次元識別フラグを取得させる機能を追加する。
【０３３２】
以下、BD-Jアプリケーションによる表示状態の取得やレジスタ設定値の取得について述べる。3D表示していた字幕/GUI、映像を２D、あるいは、ミュートに変更したときに、コンテンツに対して表示状態を通知したり、現在の表示状態を取得させる機能をBD-Jアプリケーションに提供する。この際、現在の表示状態は、レジスタセット１２に記載することが考えられる。このようにすることで、コンテンツ自身が不自然な見栄えにならないように制御することが可能になり、視聴者への不快感を軽減することができる。
【０３３３】
次に、再生制御エンジンによって、どのような機能がBD-Jアプリケーションに提供されるかについて説明する。再生装置２００が表示装置４００への出力データを生成する処理は、BD-Jアプリケーションが発する要求に応じてなされ、BD-Jプラットフォーム２２より再生制御エンジンへの命令により実現される。ここでは再生開始の処理においてBD-Jモジュール２２から再生制御エンジン１４への命令について詳細を説明する。
【０３３４】
具体的にいうと、再生制御エンジンは以下の３つの命令をBD-Jアプリケーションに提供する。
【０３３５】
１.再生準備命令
再生準備命令は、準備を示唆するための命令である。再生準備命令は準備を示唆するだけであり、再生準備命令により再生制御エンジンが実際に準備を行うかどうかは、BD-Jプラットフォーム２２におけるプロパティ「再生準備」により取得が可能である。「再生準備」が「する」となっている場合、再生準備命令により再生準備が行われ、カレントプレイリストの取得、カレントプレイリストの再生モードの判定、再生モードの判定がなされる。プレイリストが２Dである場合、再生モードの切り替えがなされる。同期開始命令により、AVストリームの再生要求がなされる。
【０３３６】
「再生準備」が「しない」となっている場合、再生準備命令により再生準備が行われない。再生準備命令により実際の準備を行うことでBD-Jモジュールからの自由度が増し、きめ細かな制御ができるようになるという利点があるが、プレーヤの実装によりは再生準備命令を用意することが不可能な場合があるためこのようなプロパティを設けるようにしている。
【０３３７】
２.同期開始命令
同期開始命令は、再生モードを、AVストリームのモード属性に同期させるための命令である。「再生準備」が「する」となっていて、AVストリームは２Dかつ再生モードが3Dの場合、再生準備命令により再生モードを２Dに切り替える。「再生準備」が「しない」となっていて、AVストリームが２Dであり、かつ再生モードが3Dである場合、同期開始命令により再生モードを２Dに切り替える。
【０３３８】
３.再生開始命令
再生開始命令は、上記の二つの命令を統合し、再生準備と同期開始を行うための命令である。「再生準備」の値にかかわらず、カレントプレイリストの取得、AVストリームの再生要求、カレントプレイリストの再生モードの判定、再生装置における再生モードの判定がなされる。プレイリストが２Dである場合、再生モードの切り替えがなされる。その後に、AVストリームの再生要求がなされる。
【０３３９】
（第１１実施形態）
本実施形態では、再生装置の再生対象たるBD-ROMをどのように記録媒体に記録するかという記録方法の実施形態について説明する。
【０３４０】
本実施形態に係る記録方法は、上述したようなファイルをリアルタイムに作成して、記録媒体のファイルシステム領域にダイレクトに書き込むというリアルタイムレコーディングだけではなく、ファイルシステム領域に記録すべきビットストリームの全体像を事前に作成して、このビットストリームを元に原盤ディスクを作成し、この原盤ディスクをプレスすることで、光ディスクを量産するというプレフォーマットレコーディングも含む。本実施形態に係る記録方法は、リアルタイムレコーディングによる記録方法、及び、プレフォーマッティングレコーディングによる記録方法によっても特定されるものでもある。
【０３４１】
図３３は、記録方法の処理手順を示すフローチャートである。ステップＳ２０１は、動画、音声、字幕、メニューといったデータ素材のインポートを行い、ステップＳ２０２では、データ素材をデジタル化して圧縮符号化し、MPEG規格に従ったエンコードを行うことで、パケッタイズドエレメンタリストリームを得る。ステップＳ２０３では、パケッタイズドエレメンタリストリームを多重化して対応するクリップ情報を生成し、ステップＳ２０４では、AVクリップと、クリップ情報とをそれぞれ別々のファイルに格納する。
【０３４２】
ステップＳ２０５では、AVクリップの再生経路を規定するプレイリスト、プレイリストを用いた制御手順を規定するプログラム、これらについての管理情報を作成し、ステップＳ２０６では、AVクリップ、クリップ情報、プレイリスト、プログラム、その他の管理情報を記録媒体に書き込む。
【０３４３】
(第１２実施形態)
本実施形態では、これまでの実施形態で述べた再生装置を、どのようなハードウェアを用いて構成するかを説明する。
【０３４４】
図３４は、再生装置のハードウェア的な内部構成を示す図である。本図において再生装置を構成する主だった部品は、フロントエンド部１０１、システムLSI１０２、メモリデバイス１０３、バックエンド部１０４、不揮発性メモリ１０５、ホストマイコン１０６、ネットワークI／F１０７である。
【０３４５】
フロントエンド部１０１は、データ入力源である。フロントエンド部１０１は、例えば、図４に示したBDドライブ1a、ローカルストレージ1cを含む。
【０３４６】
システムLSI１０２は、論理素子から構成され、再生装置中核をなす。少なくとも、デマルチプレクサ４、ビデオデコーダ５a,b、イメージデコーダ７a,b、オーディオデコーダ９、レジスタセット１２、再生制御エンジン１４、合成部１６、プレーンシフトエンジン２０といった構成要素は、このシステムLSIの内部に組み込まれることになる。
【０３４７】
メモリデバイス１０３は、SDRAM等のメモリ素子のアレイによって構成される。メモリデバイス１０７は、例えばリードバッファ2a、2b、動的シナリオメモリ２３、静的シナリオメモリ１３、ビデオプレーン６、イメージプレーン８、インタラクティブグラフィクスプレーン１０、バックグラウンドプレーン１１を含む。
【０３４８】
バックエンド部１０４は、再生装置内部と、他の装置との接続インターフェイスであり、HDMI送受信部１７を含む。
【０３４９】
不揮発性メモリ１０５は、読み書き可能な記録媒体であり、電源が供給されなくても、記録内容を保持できる媒体であり、後述する次元モード記憶部２９に記憶されている再生モードのバックアップに利用される。かかる不揮発性メモリ１０５には、例えばフラッシュメモリ、FeRAMなどを利用することができる。
【０３５０】
ホストマイコン１０６は、ROM、RAM、CPUからなるマイコンシステムであり、ROMには再生装置を制御するプログラムが記録されており、ROM内のプログラムがCPUに読み込まれ、プログラムとハードウェア資源とが協動することにより、仮想ファイルシステム３、HDMVモジュール２５、BD-Jプラットフォーム２２、モード管理モジュール２４、UO検知モジュール２６の機能を実現する。
【０３５１】
以下、システムLSIについて説明する。システムLSIとは、高密度基板上にベアチップを実装し、パッケージングした集積回路をいう。複数個のベアチップを高密度基板上に実装し、パッケージングすることにより、あたかも1つのLSIのような外形構造を複数個のベアチップに持たせたものも、システムLSIに含まれる(このようなシステムLSIは、マルチチップモジュールと呼ばれる。)。
【０３５２】
ここでパッケージの種別に着目するとシステムLSIには、QFP(クッド フラッド アレイ)、PGA(ピン グリッド アレイ)という種別がある。QFPは、パッケージの四側面にピンが取り付けられたシステムLSIである。PGAは、底面全体に、多くのピンが取り付けられたシステムLSIである。
【０３５３】
これらのピンは、他の回路とのインターフェイスとしての役割を担っている。システムLSIにおけるピンには、こうしたインターフェイスの役割が存在するので、システムLSIにおけるこれらのピンに、他の回路を接続することにより、システムLSIは、再生装置２００の中核としての役割を果たす。
【０３５４】
かかるシステムLSIは、再生装置２００は勿論のこと、TVやゲーム、パソコン、ワンセグ携帯等、映像再生を扱う様々な機器に組込みが可能であり、本発明の用途を多いに広げることができる。
【０３５５】
システムLSIのアーキテクチャは、Uniphierアーキテクチャに準拠させるのが望ましい。
【０３５６】
Uniphierアーキテクチャに準拠したシステムLSIは、以下の回路ブロックから構成される。
【０３５７】
・データ並列プロセッサDPP
これは、複数の要素プロセッサが同一動作するSIMD型プロセッサであり、各要素プロセッサに内蔵されている演算器を、1つの命令で同時動作させることで、ピクチャを構成する複数画素に対するデコード処理の並列化を図る。
【０３５８】
・命令並列プロセッサIPP
これは、命令RAM、命令キャッシュ、データRAM、データキャッシュからなる「Local Memory Controller」、命令フェッチ部、デコーダ、実行ユニット、レジスタファイルからなる「Processing Unit部」、複数アプリケーションの並列実行をProcessing Unit部に行わせる「Virtual Multi Processor Unit部」で構成される。
【０３５９】
・MPUブロック
これは、ARMコア、外部バスインターフェイス(Bus Control Unit:BCU)、DMAコントローラ、タイマー、ベクタ割込コントローラといった周辺回路、UART、GPIO(General Purpose Input Output)、同期シリアルインターフェイスなどの周辺インターフェイスで構成される。
【０３６０】
・ストリームI/Oブロック
これは、USBインターフェイスやATA Packetインターフェイスを介して、外部バス上に接続されたドライブ装置、ハードリディスクドライブ装置、SDメモリカードドライブ装置とのデータ入出力を行う。
【０３６１】
・AVI/Oブロック
これは、オーディオ入出力、ビデオ入出力、OSDコントローラで構成され、テレビ、AVアンプとのデータ入出力を行う。
【０３６２】
・メモリ制御ブロック
これは、外部バスを介して接続されたSD-RAMの読み書きを実現するブロックであり、各ブロック間の内部接続を制御する内部バス接続部、システムLSI外部に接続されたSD-RAMとのデータ転送を行うアクセス制御部、各ブロックからのSD-RAMのアクセス要求を調整するアクセススケジュール部からなる。
【０３６３】
具体的な生産手順の詳細は以下のものになる。まず各実施形態に示した構成図を基に、システムLSIとすべき部分の回路図を作成し、回路素子やIC,LSIを用いて、構成図における構成要素を具現化する。
【０３６４】
そうして、各構成要素を具現化してゆけば、回路素子やIC,LSI間を接続するバスやその周辺回路、外部とのインターフェイス等を規定する。更には、接続線、電源ライン、グランドライン、クロック信号線等も規定してゆく。この規定にあたって、LSIのスペックを考慮して各構成要素の動作タイミングを調整したり、各構成要素に必要なバンド幅を保証する等の調整を加えながら、回路図を完成させてゆく。
【０３６５】
回路図が完成すれば、実装設計を行う。実装設計とは、回路設計によって作成された回路図上の部品(回路素子やIC,LSI)を基板上のどこへ配置するか、あるいは、回路図上の接続線を、基板上にどのように配線するかを決定する基板レイアウトの作成作業である。
【０３６６】
こうして実装設計が行われ、基板上のレイアウトが確定すれば、実装設計結果をCAMデータに変換して、NC工作機械等の設備に出力する。NC工作機械は、このCAMデータを基に、SoC実装やSiP実装を行う。SoC(System on chip)実装とは、1チップ上に複数の回路を焼き付ける技術である。SiP(System in Package)実装とは、複数チップを樹脂等で1パッケージにする技術である。以上の過程を経て、本発明に係るシステムLSIは、各実施形態に示した再生装置２００の内部構成図を基に作ることができる。
【０３６７】
尚、上述のようにして生成される集積回路は、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。
【０３６８】
FPGAを用いてシステムLSIを実現した場合は、多数のロジックエレメントが格子状に配置されており、LUT(Look Up Table)に記載されている入出力の組合せに基づき、縦・横の配線をつなぐことにより、各実施形態に示したハードウェア構成を実現することができる。LUTは、SRAMに記憶されており、かかるSRAMの内容は、電源断により消滅するので、かかるFPGAの利用時には、コンフィグ情報の定義により、各実施形態に示したハードウェア構成を実現するLUTを、SRAMに書き込ませる必要がある。
本実施の形態は、ミドルウェアとシステムLSIに対応するハードウェア、システムLSI以外のハードウェア、ミドルウェアに対するインターフェイスの部分、ミドルウェアとシステムLSIのインターフェイスの部分、ミドルウェアとシステムLSI以外の必要なハードウェアへのインターフェイスの部分、ユーザインターフェースの部分で実現し、これらを組み込んで再生装置を構成したとき、それぞれが連携して動作することにより特有の機能が提供されることになる。
【０３６９】
ミドルウェアに対するインターフェイス、および、ミドルウェアとシステムLSIのインターフェイスを適切に定義することにより、再生装置のユーザインターフェース部分、ミドルウェア部分、システムLSI部分をそれぞれ独立して並行開発することができ、より効率よく開発することが可能となる。なお、それぞれのインターフェイスのきり方には、様々な切り方がある。
【０３７０】
(第１３実施形態)
本実施形態では、プレーンシフトによる立体視の原理について説明する。
【０３７１】
図３５は、プレーンオフセットの符号が正（左目用のグラフィクススイメージを右方向へずらし、右目用のグラフィクススイメージを左方向へずらす）である場合、像が表示画面よりも手前にあるように見える原理を説明するための図である。
【０３７２】
本図において、丸で示したものは、表示画面上に表示される像である。
【０３７３】
まず、プレーンオフセットがない場合、右目に見える像も左目に見える像も同じ位置であるため、両目を用いて、この像を見たときの焦点位置は、表示画面上に位置する（図３５（ａ））。
【０３７４】
一方、3Dモードのステレオモードがオフの場合において、左目に見える像はプレーンオフセットが０の場合に比べて右側の位置に見えるようにする。このとき右目には液晶シャッタメガネにより何も見えないようにする。一方、右目に見える像は、プレーンオフセットが０の場合に比べて左側の位置に見えるようにする、このとき左目には液晶シャッタメガネにより何も見えないようにする（図３５（ｂ））。
【０３７５】
人間は両目を用いて焦点をあわせてその焦点位置に像があるように認識する。従って、液晶シャッタメガネにより左目に像が見える状態と、右目に像が見える状態とを交互に短い時間間隔で切り替えると、人間の両目は表示画面よりも手前の位置に焦点位置を、合わせようとし、結果として表示画面よりも手前に位置する焦点位置に像があるように錯覚を起こす（図３５（ｃ））。
【０３７６】
図３６は、プレーンオフセットの符号が負（左目用のグラフィクススイメージを左方向へずらし、右目用のグラフィクススイメージを右方向へずらす）である場合、像が表示画面よりも奥にあるように見える原理を説明するための図である。
【０３７７】
図３６において、丸で示したものは、表示画面上に表示される像である。まず、プレーンオフセットがない場合、右目に見える像も左目に見える像も同じ位置であるため、両目を用いて、この像を見たときの焦点位置は、表示画面上に位置する（図３６（ａ））。
【０３７８】
一方、3Dモードのステレオモードがオフの場合において、左目に見える像はプレーンオフセットが０の場合に比べて左側の位置に見えるようにする。このとき右目には液晶シャッタメガネにより何も見えないようにする。一方、右目に見える像は、オフセットが０の場合に比べて右側の位置に見えるようにする、このとき左目には液晶シャッタメガネにより何も見えないようにする（図３６（ｂ））。
【０３７９】
液晶シャッタメガネにより左目に像が見える状態と、右目に像が見える状態と互に短い時間間隔で切り替えると、人間の両目は表示画面よりも奥の位置に焦点位置を、合わせようとし、結果として表示画面よりも奥の位置に像があるように錯覚を起こす（図３６（ｃ））。
【０３８０】
以上の説明は、グラフィクススプレーンに書き込まれたグラフィクスイメージについて説明をしたが、インターラクティブグラフィクススプレーン、ビデオプレーン、バックグラウンドプレーンについて上述のオフセットの概念を適用すれば同様のことが言えるのは言うまでもない。
【０３８１】
(飛出し度合／奥行きのもたらし方)
図３７は、プレーンオフセットの大小によって、字幕の飛び出し度合がどのように変化するかを示す図である。
【０３８２】
同図（ａ）（ｂ）において、手前の方は、右目出力時にシフトしたシフト後のグラフィクスプレーンを用いて出力される右目用のグラフィクススイメージを示す。奥の方は、左目出力時にシフトしたシフト後のグラフィクスプレーンを用いて出力される左目用のグラフィクススイメージを示す。
【０３８３】
本図（ａ）は、プレーンオフセットの符号が正（左目用のグラフィクススイメージを右方向へずらし、右目用のグラフィクススイメージを左方向へずらす）である場合を示す。プレーンオフセットが正の値であると、図３５に示したように左目出力時の字幕が右目出力時の字幕より右の位置に見えるようになる。つまり、輻輳点（焦点位置）がスクリーンより手前にくるので、字幕も手前に見えるようになる。
【０３８４】
本図（ｂ）は、プレーンオフセットの符号が負である場合を示す。負の値であると、図３６に示したように、左目出力時の字幕が右目の出力時の字幕より左の位置に見えるようになる。つまり、輻輳点（焦点位置）がスクリーンより奥にゆくので、字幕も奥に見えるようになる。
【０３８５】
以上が立体視の原理についての説明である。続いて、1plane＋Offsetモードにおいて、上述したような画像座標の移動がどのように行われるかについて説明する。
【０３８６】
先ず始めに、イメージプレーン８の内部構成と、そのシフト前後の画素データの配置について説明する。
【０３８７】
図３８は、イメージプレーン８の内部構成を示す。解像度が1920×1080に設定されている場合、同図（ａ）に示すように、イメージプレーン８は横1920×縦1080の、８ビット長の記憶素子からなる。これは1920×1080の解像度で、1画素当たり8ビットのピクセルコードを格納できるメモリアロケーションを意味する。記憶素子に記憶されている８ビットのピクセルコードは、カラールックアップテーブルを用いた色変換によって、Y値、Cr値、Cb値に変換される。このカラールックアップテーブルにおける、ピクセルコードと、Y値、Cr値、Cb値との対応関係は、字幕データ内のパレット定義セグメントによって規定される。
【０３８８】
同図（ｂ）は、イメージプレーン８に格納されている画素データを示す。本図に示すように、イメージプレーン８に格納されているグラフィクスデータは、前景部分(字幕“I love“を構成している部分)にあたる画素データ、背景部分にあたる画素データから構成される。ここで背景部分にあたる記憶素子には、透明色を示すピクセルコードが格納されており、この部分には、ビデオプレーンとの合成時において、ビデオプレーンにおける動画像が透けて見えるようになる。一方、前景部分にあたる記憶素子には、透明色以外を示すピクセルコードが格納されており、この透明色以外のY,Cr,Cb,α値によって、字幕が描かれることになる。合成部１６によるプレーン合成時において、透明画素にあたる部分には、バックグラウンドグラフィクスプレーン、ビデオプレーンの内容が透けて見えるようになり、かかる透明部分の存在によって、プレーン合成が可能になる。
【０３８９】
図３９は、右方向のシフト、左方向のシフトがなされる前後の、前景領域の画素データ及び背景領域の画素データを示す。（ａ）は、シフト前の画素データであり、（ｂ）は右方向のシフト後の画素データである。ここで、シフト量が15画素であるとすると、字幕文字“I love you“の“y“が移動して、画面から見えなくなっていることがわかる。（ｃ）は、左方向のシフトがなされた後の画素データである。ここでシフト量が15画素であると、字幕文字“I love“に後続する字幕文字“you“のうち、“o“の文字が、現れていることがわかる。
【０３９０】
以上がイメージプレーン８の内部構成と、そのシフト前後の画素データの配置の説明である。
【０３９１】
図４０は、イメージプレーン８におけるプレーンシフトの処理手順を示す図である。
（ａ）は、イメージプレーン８から生成された、左方向シフト後のグラフィクスプレーンと、右方向シフト後のグラフィクスプレーンとを示す。
【０３９２】
（ｂ）は、右方向のシフトを示す。本図に示すように水平方向の右方向へのシフト方法は次の、(1-1)(1ー2)(1ー3)のようにして行う。(1-1).イメージプレーン８の右端領域を切り取る。(1-2).イメージプレーン８に存在する画素データの位置を、上述したように右へ水平方向にプレーンオフセットに示されるシフト量だけずらす。(1-3).イメージプレーン８の最も左端に、透明領域を追加する。
【０３９３】
（ｃ）は、左方向のシフトを示す。本図に示すように水平方向の左方向へのシフト方法は次の、(2-1)(2ー2)(2ー3)のようにして行う。(2-1).イメージプレーン８の左端領域を切り取る。(2-2).イメージプレーン８における各画素データの位置を左へ水平方向にプレーンオフセットに示されるシフト量だけずらす。(2-3).イメージプレーン８の右端に透明領域を追加する。
【０３９４】
（グラフィクスプレーンの記憶素子における画素データの移動）
上述したようなシフトによって、グラフィクスプレーンの記憶素子における画素データが、どのように移動するかを説明する。グラフィクスデータは、1920×1080、1280×720といった解像度の画素データから構成されている。
【０３９５】
図４１は、グラフィクスプレーンに格納されている画素データを示す図である。本図において、四角枠は、語長が３２ビット、又は、８ビットの記憶素子であり、0001,0002,0003,0004,07A5,07A6,07A7,07A8,07A9,07AA,07ABといった１６進数の数値は、MPUのメモリ空間において、これらの記憶素子に連続的に割り当てられるアドレスである。また、記憶素子中の(0,0)(1,0)(2,0)(3,0)(1916,0)(1917,0)(1918,0)(1919,0)といった数値は、記憶素子内に、どの座標の画素データが格納されているかを示す。
【０３９６】
ここでは、座標(0,0)に存在する画素データがアドレス0001の記憶素子に格納されており、座標(1,0)に存在する画素データがアドレス0002の記憶素子に格納されており、座標(1918,0)に存在する画素データがアドレス07A7の記憶素子に格納されており、座標(0,1)に存在する画素データがアドレス07A9の記憶素子に格納されている。つまり、グラフィクスを構成する複数のラインが、連続アドレスになるように、グラフィクスデータが格納されていることがわかる。こうすることで、これらの連続アドレスが付された記憶素子に対して順次、DMA転送を行うことで、これらの画素データをバースト的に読み出すことが可能になる。
【０３９７】
図４２は、シフトがなされた後のグラフィクスプレーンの格納内容を示す。
【０３９８】
同図（ａ）は、プレーンオフセットが“3“に設定されていて、右方向にシフトされたグラフィクスプレーンを示す。プレーンオフセットが“3“であるから、アドレス0004の記憶素子には、グラフィクスプレーン座標系における座標(0,0)の画素データが、アドレス0005の記憶素子には、グラフィクスプレーン座標系における座標(1,0)の画素データが、アドレス0006の記憶素子には、グラフィクスプレーン座標系における座標(2,0)の画素データが格納されていることがわかる。
【０３９９】
またアドレス07ACの記憶素子には、グラフィクスプレーン座標系における座標(0,1)の画素データが、アドレス07ADの記憶素子には、グラフィクスプレーン座標系における座標(1,1)の画素データが、アドレス07AEの記憶素子には、グラフィクスプレーン座標系における座標(2,1)の画素データが格納されていることがわかる。
【０４００】
同図（ｂ）は、プレーンオフセットが“3“に設定されていて、左方向にシフトされたグラフィクスプレーンを示す。プレーンオフセットが“3“であるから、アドレス0001の記憶素子には、グラフィクスプレーン座標系における座標(3,0)の画素データが、アドレス0002の記憶素子には、グラフィクスプレーン座標系における座標(4,0)の画素データが、アドレス0003の記憶素子には、グラフィクスプレーン座標系における座標(5,0)の画素データが格納されていることがわかる。
【０４０１】
またアドレス07A9の記憶素子には、グラフィクスプレーン座標系における座標(3,1)の画素データが、アドレス07AAの記憶素子には、グラフィクスプレーン座標系における座標(4,1)の画素データが、アドレス07ABの記憶素子には、グラフィクスプレーン座標系における座標(5,1)の画素データが格納されていることがわかる。
【０４０２】
以上のように、シフトされたグラフィクスプレーンは、グラフィクスプレーンにおける各画素データの座標が、本来の座標から右方向、左方向に、プレーンオフセットに示される画素数だけずれていることがわかる。
【０４０３】
グラフィクスデータを構成する各画素データが配置される記憶素子のアドレスを、所定のアドレスだけ変化させることで、グラフィクスプレーンのシフトは実現することができる。当然であるが、実際に、画素データが配置される記憶素子のアドレスを変化させなくても、これと等価な処理であるなら、グラフィクスプレーンのシフトを実現することは可能になる。
【０４０４】
(備考)
以上、本願の出願時点において、出願人が知り得る最良の実施形態について説明したが、以下に示す技術的トピックについては、更なる改良や変更実施を加えることができる。各実施形態に示した通り実施するか、これらの改良・変更を施すか否かは、何れも任意的であり、実施する者の主観によることは留意されたい。
(ビデオデコーダの実装数)
図８、図２２において、ビデオデコーダ５は、１つしかない実装例を開示したが、これはMVCビデオストリームで立体視映像の再生を行う場合、参照画像となるピクチャデータを共通化することができるからである。
【０４０５】
しかし現実的には、左目用のビデオストリームをデコードするビデオデコーダと、右目用のビデオストリームをそれぞれデコードするビデオデコーダとを実装しておき、ビデオデコーダの実装数は、“２”とするのが望ましい。
【０４０６】
(自動再生プレイリストの利用)
BD-Jオブジェクトに「アクセス可能プレイリスト情報」が存在する場合、そのBD-Jオブジェクトに対応するタイトルが選択されたタイミングで、2D再生モードから3Dモードへの切り替え、3Dモードから2D再生モードへの切り替えを実行してもよい。この場合、ディスク挿入時やメニュー選択時等、タイトル切り替え要求をトリガーとして、図１２のフローチャートの処理手順が実行される。
【０４０７】
「アクセス可能プレイリスト情報」は、BD-Jオブジェクトに対応するタイトルがカレントタイトルになった際、自動的に再生されるべきプレイリストの指定を含む。また、アクセス可能プレイリスト情報は、BD-Jオブジェクトに対応するタイトルがカレントタイトルになった際、動作させることができるアプリケーションが選択できるプレイリストの指定を含む。
何れかのタイトルが選択された際、再生装置における再生制御エンジンは、選択されたカレントタイトルに対応するもののアクセス可能プレイリスト情報により指定されたプレイリストの再生を、アプリケーションからの再生指示を待つことなく開始し、プレイリスト再生の終了よりも、BD-Jアプリケーション実行が先に終了した場合、プレイリストの再生を継続して行う。
【０４０８】
こうした先行再生により、アプリケーションのクラスロードに時間がかり、グラフィクスの描画がなされないため、対話画面がなかなか出力されないような場合、プレイリスト再生による再生映像がそのまま出力させるので、アプリケーションにおける起動遅延が顕著な場合でも、とりあえずプレイリストの再生映像をユーザに視聴させることができる。アプリケーションのスターティングディレィの間、何かが写っている状態にしておくことができるので、ユーザに安心感を与えることができる。
【０４０９】
また終了が同時でないため、リソースの枯渇によってアプリケーションが異常終了し、アプリケーションのGUIが自動的に消去されたとしても、プレイリスト再生画面の表示をそのまま継続していれば、プレイリストの再生映像が、表示装置に出力され続けることを意味します。かかる出力継続によって、たとえJava(TM)言語プログラムが異常終了したとしても、表示装置は、とりあえず何かが写っているという状態になり、アプリケーションの異常終了によって、画面がブラックアウトするという事態を防ぐことができる。。
【０４１０】
(モード切り替えの適用対象)
各実施形態では、再生モードが3Dから2Dに変更しているが、再生モードが2Dから3Dに変更される場合も同様の効果を奏する。
【０４１１】
（再利用及び、2倍のずらし量）
図１３におけるステップS８０８ではイメージメモリ７c,dに格納されたグラフィックストリームをデコードし、イメージプレーン８に出力しているが、本ステップを実行せず、図１３のステップS８０５で利用したイメージプレーンを再利用し、図１３のS８０９でイメージプレーンを本来の２倍の量を逆方向にずらすことにより、２回目のイメージでコードを行わなくてすむようにしてもよい。
【０４１２】
（２デコーダ、２加算器）
図７の構成図にはビデオデコーダ、ビデオプレーン、イメージプレーン加算器を各一つずつ有しているが、例えば高速化を用途に各部分を２つずつもたせ、左目用の映像と右目用の映像を平行に処理をするようにしてもよい。
【０４１３】
（次元識別の仕方）
BD-ROM上には再生対象のストリームが２D用か3D用かを識別する次元識別フラグを有しており、各実施形態ではプレイリスト（PL）情報に次元識別フラグを埋め込んでいるが、ストリーム本体とそのストリーム２D用か3D用かを特定できる情報として記録される情報であれば、BD-ROM上に他の形で記録されていてもよい。
【０４１４】
（スケーリングの併用）
図１３のS８０９のイメージプレーンのシフト時に、図１３のS８０５と同様にスケーリングにより、大きく、または小さくすることが望ましい。
【０４１５】
（処理のデフォルト指定）
図１３に示されるステップS８０１〜S８１０の処理は左右処理記憶部１９がデフォルトで左目用の処理を設定していたため、左目の合成、及び出力を先に行ったが、デフォルトに右目用の処理を設定し、右目の処理を先に行っても良い。
【０４１６】
（変更の対象）
図１３のステップS８０５でイメージプレーンを一定の幅だけ一定方向にずらし、ステップS８０９で逆方向に同じ幅にずらすように記載していたが、イメージプレーンをずらす幅を変更するようにしてもよい。これに加え、両目ともずらすのではなく、どちらか片目だけをずらすようにして、立体効果を持たせるようにしてもよい。
【０４１７】
（奥行き設定の対象）
２D用のビデオストリーム上に字幕/グラフィックデータのみ奥行きを持たせたい場合は図１３のステップS８０２〜S８０９の処理を行う。ただしS８０４とS８０７の処理は左目用ビデオストリームのビデオフレームと右目用のビデオフレームを用いるのではなく、２Dの両目用ストリーム上のフレームを各目に利用することで可能になる。
【０４１８】
(イメージプレーンずらし情報の格納場所)
第１実施形態ではイメージプレーンずらし情報はカレントプレイリスト情報内に存在することを前提として書かれているが、MVCビデオストリームとの同期を緻密に実現するため、MVCビデオストリーム内に、オフセットテーブルを設けて、ここにイメージプレーンずらし情報を格納しておくことが望ましい。これにより、ピクチャ単位で、緻密な同期を実現することができる。またカレントプレイリスト情報の代わりにカレントストリーム管理情報にイメージプレーンずらし情報が埋め込まれている場合、図１２のステップＳ５の処理はカレントストリーム管理情報から取得するようにしてもよい。
【０４１９】
（ディスク毎の奥行きの切り替え）
本実施形態ではカレントプレイリスト情報のイメージプレーンずらし情報に基づいてプレーンシフトエンジンが横幅方向のずらしの値を算出していた。つまり、左目映像と右目映像の出力を生成する一連の処理にあたって、プレイリストの切り替えが発生した場合は、図１２のステップＳ５のイメージプレーンずらし情報の再取得の処理が必要となる。しかし、プレイリスト毎にイメージプレーンの奥行きを変更したくない場合も想定される。例えば、ディスク単位やタイトル単位で一意の奥行きを決めてしまいたい場合である。
【０４２０】
ディスク単位で一意の奥行きを決めるにはコンテンツはディスク単位の情報に関連付けることが想定される。例えば、図４に示されるBDMVディレクトリ配下に存在する“Index.bdmv“、あるいはディスクに入っている映像作品に関する様々な情報が格納されているMETAディレクトリに格納されたメタファイル（ZZZZZ.xml）が考えられる。
【０４２１】
（タイトル毎の奥行きの切り替え）
タイトル単位で一意の奥行きを決めるにはコンテンツはタイトル単位の情報に関連付けることが想定される。例えば、図４に示されるBDMVディレクトリ配下に存在する“MovieObject.bdmv“、BDJOディレクトリ配下に存在する“XXXXX.bdjo“、あるいはディスクに入っている映像作品に関する様々な情報が格納されているMETAディレクトリに格納されたメタファイル（ZZZZZ.xml）が考えられる。
【０４２２】
（ちらつき防止策）
BD-ROM等の再生装置とTV等の表示装置を接続する際、HDMIを使用する場合があるが、3D表示から２D表示に切り替えることにより、HDMIの再認証による映像のちらつきを防止できる。
【０４２３】
(スケーリングの適用)
実世界では手前にきたオブジェクトは大きく写り、奥に表示されたオブジェクトは小さく見える。しかし上記のプレーンシフトのみではオブジェクトのサイズがかわらないまま手前や奥に表示されることになる。そのような場合は視聴者にとっては不快感を与えてしまう。こういった不快感をなくすためには、イメージプレーンを一定の方向にシフトすると同時にスケーリングを行い、大きく見せるか、あるいは小さく見せる。
【０４２４】
例えば、シフト幅を大きくして手前に表示させる場合は字幕・グラフィックスをスケーリングによって大きくする。
【０４２５】
(再生データ情報におけるストリーム登録情報)
再生データ情報におけるストリーム登録情報は、STN＿tableとして構成することが望ましい。STN＿tableは、プレイリストを構成する複数のプレイアイテムのうち、そのSTN＿tableを包含しているのものがカレントプレイアイテムになった際、マルチパスのメインパスにて参照されているAVクリップに多重化されているエレメンタリストリーム、及び、マルチパスのサブパスにて参照されているAVクリップに多重化されているエレメンタリストリームのうち、どれの再生を許可するかを、複数のストリーム種別毎に規定するテーブルである。ここでのストリーム種別とは、ピクチャインピクチャにおけるプライマリビデオストリーム、ピクチャインピクチャにおけるセカンダリビデオストリーム、サウンドミキシングにおけるプライマリオーディオストリーム、サウンドミキシングにおけるセカンダリオーディオストリーム、プレゼンテーショングラフィクス＿テキスト字幕データ、インタラクティブグラフィクストリームといった種別をいい、STN＿tableは、これらのストリーム種別毎に、再生を許可すべきストリームを登録することができる。具体的には、STN＿tableは、ストリーム登録情報の配列から構成される。ここでストリーム登録とは、STN＿tableが帰属しているプレイアイテムがカレントプレイアイテムになった際、再生を許可すべきエレメンタリストリームがどのようなストリームであるかを、そのストリーム番号に対応付けて示すものであり、ストリーム登録情報は、論理的なストリーム番号に、ストリームエントリー及びストリーム属性の組合せを対応付けるというデータ構造になっている。
【０４２６】
ストリーム登録におけるストリーム番号は、１、２、３というような整数値で表現され、ストリーム番号の最大数は、対応するストリーム種別のストリーム本数となる。
【０４２７】
ストリーム属性は、ストリームの言語コードやストリームの符号化方式を示す情報を含む。メインパス側のストリームに対応するストリームエントリーは、パケット識別子を含み、サブパス側のストリームに対応するエントリーは、トランスポートストリームファイルを特定する識別子と、サブプレイアイテムを特定する識別子と、パケット識別子とを含む。
【０４２８】
このストリームエントリー内に、再生すべきエレメンタリストリームのパケット識別子が記述される。ストリームエントリー内に、再生すべきエレメンタリストリームのパケット識別子を記述することができるので、ストリーム登録情報におけるストリーム番号を再生装置のストリーム番号レジスタに格納し、ストリーム登録情報におけるストリームエントリー内のパケット識別子に基づいて再生装置のPIDフィルタにパケットフィルタリングを再生装置に実行させる。こうすることで、STN＿tableにおいて再生が許可されたエレメンタリストリームのTSパケットがデコーダに出力され、エレメンタリストリームの再生がなされることになる。
【０４２９】
ストリーム番号テーブルにおけるこれらのストリーム登録情報は、ストリーム番号の順序に従って並べられており、ストリーム番号の順序に基づくストリーム登録情報の順位は、“再生装置が再生することができるとの条件を満たすストリームが複数存在する場合、それらのうちどれを優先的に選択するかの基準となる。
【０４３０】
こうすることで、STN＿tableにおけるストリーム登録情報の中に、再生装置が再生できないものが存在する場合、かかるストリームは再生から除外されることになり、また、再生装置が再生することができる”との条件を満たすストリームが複数存在する場合は、それらのうちどれを優先的に選択すべきかという指針をオーサリング者は再生装置に伝えることができる。
【０４３１】
“再生装置が再生することができる”との条件を満たすストリームが存在するかどうかという判定や、“再生することができる”との条件を満たすストリームのうちどれを選択するかという選択は、カレントプレイアイテムが新しいものに切り替った際、また、ユーザからストリーム切り替えが要求された際、実行される。
【０４３２】
カレントプレイアイテムが新しいものに切り替わる等、再生装置の状態変化が生じた際、上述したような判定や選択を行い、再生装置におけるレジスタセット内のレジスタの1つであるストリーム番号レジスタにストリーム番号を設定する一連の手順を“状態変化時に実行すべきプロシージャ”という。
【０４３３】
ストリーム切り替え要求がユーザによってなされた場合、上述したような判定や選択を行い、再生装置のストリーム番号レジスタにストリーム番号を設定する一連の手順を“ストリーム変化が要求された際のプロシージャ”という。
【０４３４】
BD-ROMが装填された際、ストリーム番号レジスタをストリーム登録情報列における初期値に設定しておくとの手順を、“初期化”という。
【０４３５】
ストリーム番号テーブルにおけるストリーム登録情報列は、サブプレイアイテム情報によって指定されているストリームと、プレイアイテム情報によって指定されているストリームとに一律に優先順序を付与しているので、ビデオストリームとは多重化されていないストリームであっても、サブプレイアイテム情報によって指定されていれば、ビデオストリームと同期再生すべきストリームの選択にあたっての選択の対象となる。
【０４３６】
そして、サブプレイアイテム情報にて指定されたストリームを再生装置が再生することができ、尚且つ、サブプレイアイテム情報にて指定されたストリームの優先順序がビデオストリームと多重化されたグラフィクスストリームの優先順序よりも高い場合は、ビデオストリームと多重化されたストリームの代わりに、サブプレイアイテム情報にて指定されたストリームを再生に供することができる。
【０４３７】
このように、ビデオストリームと多重化されたストリームの代わりに、サブプレイアイテム情報にて指定されたストリームを再生に供する途を与えることこそ、STN＿tableの本質である。
【０４３８】
立体視再生のためのSTN＿tableの改良としては、3Dモード特有のSTN＿tableの拡張部分(STN＿table＿SS(StereoScopic)という)がプレイリスト情報内に存在する。このSTN＿table＿SSは、左目用ビデオストリームのストリーム登録情報列、右目用ビデオストリームのストリーム登録情報列、左目用プレゼンテーショングラフィクスストリームのストリーム登録情報列、右目用プレゼンテーショングラフィクスストリームのストリーム登録情報列、左目用インタラクティブグラフィクスストリームのストリーム登録情報列、右目用インタラクティブグラフィクスストリームのストリーム登録情報列から構成される。
【０４３９】
3Dモードにあたっては、STN＿table＿SS内のストリーム種別毎のストリーム登録情報列を、STN＿tableにおけるストリーム種別のストリーム登録情報列に結合する。
【０４４０】
この結合は、STN＿tableにおけるプライマリビデオストリームのストリーム登録情報列を、STN＿table＿SSにおける左目用ビデオストリームのストリーム登録情報列、及び、右目用ビデオストリームのストリーム登録情報列に置き換え、STN＿tableにおけるセカンダリビデオストリームのストリーム登録情報列を、STN＿table＿SSにおける左目用セカンダリビデオストリームのストリーム登録情報列、及び、右目用セカンダリビデオストリームのストリーム登録情報列に置き換え、STN＿tableにおけるプレゼンテーショングラフィクスストリームのストリーム登録情報列を、STN＿table＿SSにおける左目用プレゼンテーショングラフィクスストリームのストリーム登録情報列、及び、右目用プレゼンテーショングラフィクスストリームのストリーム登録情報列に置き換え、STN＿tableにおけるインタラクティブグラフィクスストリームのストリーム登録情報列を、STN＿table＿SSにおける左目用インタラクティブグラフィクスストリームのストリーム登録情報列、及び、右目用インタラクティブグラフィクスストリームのストリーム登録情報列に置き換えることでなされる。
【０４４１】
STN＿tableの結合がなされれば、結合後のSTN＿tableに対して上記プロシージャを実行することにより、結合後のSTN＿tableにおけるストリーム登録情報列の中から、3Dモードにおいて選択すべきエレメンタリストリームのストリーム登録情報を選び、そのストリーム登録情報におけるストリーム番号を、再生装置のストリーム番号レジスタに設定する。それと共に、そのストリーム登録情報の中からパケット識別子を取り出して、そのパケット識別子に基づくパケットフィルタリングを再生装置のPIDフィルタに実行させる。こうすることで、左目用ストリーム、右目用ストリームを構成するTSパケットをデコーダに投入させて、再生出力を行わせることができる。こうすることで、左目用ストリーム、右目用ストリームを再生に供することができるので、これらの再生出力と組合せれば、立体視再生が可能になる。
【０４４２】
(記録媒体のバリエーション)
各実施の形態における記録媒体は、光ディスク、半導体メモリーカード等、パッケージメディア全般を含んでいる。本実施の形態の記録媒体は予め必要なデータが記録された光ディスク（例えばBD-ROM、DVD-ROMなどの既存の読み取り可能な光ディスク）を例に説明をするが、これに限定される必要はなく、例えば、放送またはネットワークを経由して配信された本発明の実施に必要なデータを含んだ３Ｄコンテンツを光ディスクへ書き込む機能を有する端末装置（例えば左記の機能は再生装置に組み込まれていても良いし、再生装置とは別の装置であってもよい）を利用して書き込み可能な光ディスク（例えばBD-RE、DVD-RAMなどの既存の書き込み可能な光ディスク）に記録し、この記録した光ディスクを本発明の再生装置に適用しても本発明の実施は可能である。
【０４４３】
また、記録媒体は光ディスク以外にもＳＤメモリーカードなどの半導体メモリーカードであっても本発明の実施は可能である。
（半導体メモリーカードの再生）
また、記録媒体として例えば、半導体メモリーカードを用いたときの再生手順について説明する。光ディスクでは例えば、光ディスクドライブを介してデータを読み出すように構成していたのに対し、半導体メモリーカードを用いた場合には、半導体メモリーカード内のデータを読み出すためのＩ／Ｆを介してデータを読み出すように構成すればよい。
【０４４４】
より詳細には、再生装置のスロット（図示せず）に半導体メモリーカードが挿入されると、半導体メモリーカードＩ／Ｆを経由して再生装置と半導体メモリーカードが電気的に接続される。半導体メモリーカードに記録されたデータは半導体メモリーカードＩ／Ｆを介して読み出すように構成すれば良い。
【０４４５】
（プログラムの実施形態）
各実施形態のフローチャートに示した処理手順に基づきプログラムを作成し、このプログラムを記録したコンピュータ読み取り可能な記録媒体を実施してもよい。
【０４４６】
先ず初めに、ソフトウェア開発者は、プログラミング言語を用いて、各フローチャートや、機能的な構成要素を実現するようなソースプログラムを記述する。この記述にあたって、ソフトウェア開発者は、プログラミング言語の構文に従い、クラス構造体や変数、配列変数、外部関数のコールを用いて、各フローチャートや、機能的な構成要素を具現するソースプログラムを記述する。
【０４４７】
記述されたソースプログラムは、ファイルとしてコンパイラに与えられる。コンパイラは、これらのソースプログラムを翻訳してオブジェクトプログラムを生成する。
【０４４８】
コンパイラによる翻訳は、構文解析、最適化、資源割付、コード生成といった過程からなる。構文解析では、ソースプログラムの字句解析、構文解析および意味解析を行い、ソースプログラムを中間プログラムに変換する。最適化では、中間プログラムに対して、基本ブロック化、制御フロー解析、データフロー解析という作業を行う。資源割付では、ターゲットとなるプロセッサの命令セットへの適合を図るため、中間プログラム中の変数をターゲットとなるプロセッサが有しているレジスタまたはメモリに割り付ける。コード生成では、中間プログラム内の各中間命令を、プログラムコードに変換し、オブジェクトプログラムを得る。
【０４４９】
ここで生成されたオブジェクトプログラムは、各実施形態に示したフローチャートの各ステップや、機能的構成要素の個々の手順を、コンピュータに実行させるような1つ以上のプログラムコードから構成される。ここでプログラムコードは、プロセッサのネィティブコード、JAVAバイトコードというように、様々な種類がある。プログラムコードによる各ステップの実現には、様々な態様がある。外部関数を利用して、各ステップを実現することができる場合、この外部関数をコールするコール文が、プログラムコードになる。また、1つのステップを実現するようなプログラムコードが、別々のオブジェクトプログラムに帰属することもある。命令種が制限されているRISCプロセッサでは、算術演算命令や論理演算命令、分岐命令等を組合せることで、フローチャートの各ステップを実現してもよい。
【０４５０】
オブジェクトプログラムが生成されるとプログラマはこれらに対してリンカを起動する。リンカはこれらのオブジェクトプログラムや、関連するライブラリプログラムをメモリ空間に割り当て、これらを１つに結合して、ロードモジュールを生成する。こうして生成されるロードモジュールは、コンピュータによる読み取りを前提にしたものであり、各フローチャートに示した処理手順や機能的な構成要素の処理手順を、コンピュータに実行させるものである。そしてプログラムをコンピュータ読取可能な記録媒体に記録してユーザに提供する。
【産業上の利用可能性】
【０４５１】
本発明は、立体視ビデオストリームを再生する再生機器において、立体視ビデオストリーム上に字幕やグラフィックスを重ね合わせて表示する技術に関し、特に、立体視ビデオストリームだけでなく字幕やグラフィックも合わせて立体的に出力し、重ね合わせる立体視ビデオ再生装置に適用可能である。
【符号の説明】
【０４５２】
１００  BD-ROM
２００  再生装置
３００  リモコン
４００  テレビ
５００  液晶眼鏡
１a BDドライブ
１b ネットワークデバイス
１c ローカルストレージ
２a,２b リードバッファ
３  仮想ファイルシステム
４  デマルチプレクサ
５  ビデオデコーダ
６  ビデオプレーン
７a,b イメージデコーダ
７  イメージメモリ
８  イメージプレーン
９  オーディオデコーダ
１０  インタラクティブグラフィクスプレーン
１１  バックグラウンドプレーン
１２  レジスタセット
１３  静的シナリオメモリ
１４  再生制御エンジン
１５  スケーラエンジン
１６  合成部
１７  HDMI送受信部
１８  表示機能フラグ保持部
１９  左右処理記憶部
２０  プレーンシフトエンジン
２１  ずらし情報メモリ
２２  BD-Jプラットフォーム
【図１】
0005632291.tif 000002
【図２】
0005632291.tif 000003
【図３】
0005632291.tif 000004
【図４】
0005632291.tif 000005
【図５】
0005632291.tif 000006
【図６】
0005632291.tif 000007
【図７】
0005632291.tif 000008
【図８】
0005632291.tif 000009
【図９】
0005632291.tif 000010
【図１０】
0005632291.tif 000011
【図１１】
0005632291.tif 000012
【図１２】
0005632291.tif 000013
【図１３】
0005632291.tif 000014
【図１４】
0005632291.tif 000015
【図１５】
0005632291.tif 000016
【図１６】
0005632291.tif 000017
【図１７】
0005632291.tif 000018
【図１８】
0005632291.tif 000019
【図１９】
0005632291.tif 000020
【図２０】
0005632291.tif 000021
【図２１】
0005632291.tif 000022
【図２２】
0005632291.tif 000023
【図２３】
0005632291.tif 000024
【図２４】
0005632291.tif 000025
【図２５】
0005632291.tif 000026
【図２６】
0005632291.tif 000027
【図２７】
0005632291.tif 000028
【図２８】
0005632291.tif 000029
【図２９】
0005632291.tif 000030
【図３０】
0005632291.tif 000031
【図３１】
0005632291.tif 000032
【図３２】
0005632291.tif 000033
【図３３】
0005632291.tif 000034
【図３４】
0005632291.tif 000035
【図３５】
0005632291.tif 000036
【図３６】
0005632291.tif 000037
【図３７】
0005632291.tif 000038
【図３８】
0005632291.tif 000039
【図３９】
0005632291.tif 000040
【図４０】
0005632291.tif 000041
【図４１】
0005632291.tif 000042
【図４２】
0005632291.tif 000043