(57)【要約】  レフトビュー再生およびライトビュー再生を交互に実行することで立体視再生を行う再生装置２００であって、所定の縦画素数×横画素数の画素データから構成されるイメージデータを格納するプレーンメモリ６ｃと、レフトビュー再生期間において、プレーンメモリに対する左目用シフト処理を行い、左方向及び右方向のうち何れか一方向に移動された左目用のイメージを得、ライトビュー再生期間において、プレーンメモリに対する右目用シフト処理を行い、前記一方向とは反対方向に移動された右目用のイメージを得るシフトエンジン９ｂと、左目用及び右目用のイメージのそれぞれにおいて、そのイメージの移動方向とは反対方向の端部の矩形領域に、非透明色の代替画素データより生成される代替イメージを描画するレンダリング処理を行うレンダリングエンジン２２ｂとを備える。
2010032403.tif 000002
【特許請求の範囲】
【請求項１】
レフトビュー再生およびライトビュー再生を交互に実行することで立体視再生を行う再生装置であって、
所定の縦画素数×横画素数の画素データから構成されるイメージデータを格納するプレーンメモリと、
レフトビュー再生期間において、プレーンメモリに対する左目用シフト処理を行い、左方向及び右方向のうち何れか一方向に移動された左目用のイメージを得、ライトビュー再生期間において、プレーンメモリに対する右目用シフト処理を行い、前記一方向とは反対方向に移動された右目用のイメージを得るシフトエンジンと、
左目用及び右目用のイメージのそれぞれにおいて、そのイメージの移動方向とは反対方向の端部の矩形領域に、非透明色の代替画素データより生成される代替イメージを描画するレンダリング処理を行うレンダリングエンジンと
を備える再生装置。
【請求項２】
前記各矩形領域は、横方向の画素数が移動量に相当する画素数であり、縦方向の画素数が前記所定の縦画素数である領域である
請求項１記載の再生装置。
【請求項３】
前記代替イメージは、前記イメージデータを構成する画素データの一部より生成されるイメージである
ことを特徴とする請求項２記載の再生装置。
【請求項４】
前記イメージデータを構成する画素データの一部は、前記イメージデータを構成する画素データのうち右方向及び左方向の一方の端部にあたる矩形領域の画素データである
請求項３記載の再生装置。
【請求項５】
前記イメージデータを構成する画素データの一部は、前記各矩形領域の何れかに隣接した矩形領域の画素データである
請求項３記載の再生装置。
【請求項６】
前記再生装置は、記録媒体を再生するものであり、
前記イメージデータを構成する画素データの一部は、前記記録媒体から読み出したアプリケーションにより指定された矩形領域の画素データである
請求項３記載の再生装置。
【請求項７】
前記代替イメージは、所定の色に対応する画素データより生成されるイメージである
ことを特徴とする請求項２記載の再生装置。
【請求項８】
ユーザ操作に基づいて、前記レンダリング処理で用いられる色を示す色情報を受け付けるユーザ入力受付手段をさらに備え、
前記所定の色は、前記ユーザ入力受付手段が受け付けた前記色情報により示される色である
請求項７記載の再生装置。
【請求項９】
前記再生装置は、記録媒体を再生するものであり、
前記所定の色は、前記記録媒体から読み出したアプリケーションにより指定された色である
請求項７記載の再生装置。
【請求項１０】
前記イメージデータの輝度、色相、明度、及び彩度を示す情報のうち少なくとも一つ以上の情報に基づいて、前記イメージデータの色を示す色情報を算出する算出手段をさらに備え、
前記所定の色は、前記算出手段により算出された色情報が示す色である
請求項７記載の再生装置。
【請求項１１】
所定の縦画素数×横画素数の画素データから構成される補足イメージデータを予め記憶している記憶手段をさらに備え、
前記代替イメージは、前記補足イメージデータより生成されるイメージである
ことを特徴とする請求項２記載の再生装置。
【請求項１２】
前記再生装置は、記録媒体を再生するものであり、
所定の縦画素数×横画素数の画素データから構成される複数の補足イメージデータを予め記憶している記憶手段をさらに備え、
前記代替イメージは、前記記録媒体から読み出したアプリケーションにより指定された前記補足イメージデータより生成されるイメージである
ことを特徴とする請求項２記載の再生装置。
【請求項１３】
ビデオフレームを保持するビデオプレーンと、
グラフィクスデータを格納するグラフィクスプレーンと、
プレーンメモリ、ビデオプレーン、グラフィクスプレーンの順で、各プレーンに格納されたデータを合成する合成部と
をさらに備える請求項１記載の再生装置。
【請求項１４】
レフトビュー再生およびライトビュー再生を交互に実行することで立体視再生を行う再生装置に用いられる再生方法であって、
再生装置におけるプレーンメモリには、所定の縦画素数×横画素数の画素データから構成されるイメージデータが格納されており、
レフトビュー再生期間において、プレーンメモリに対する左目用シフト処理を行い、左方向及び右方向のうち何れか一方向に移動された左目用のイメージを得、ライトビュー再生期間において、プレーンメモリに対する右目用シフト処理を行い、前記一方向とは反対方向に移動された右目用のイメージを得るシフトステップと、
左目用及び右目用のイメージのそれぞれにおいて、そのイメージの移動方向とは反対方向の端部の矩形領域に、非透明色の代替画素データより生成される代替イメージを描画するレンダリング処理を行うレンダリングステップと
を有する再生方法。
【請求項１５】
レフトビュー再生およびライトビュー再生を交互に実行することで立体視再生を行う再生処理をコンピュータに実行させるための処理手順を示した再生プログラムであって、
コンピュータにおけるプレーンメモリには、所定の縦画素数×横画素数の画素データから構成されるイメージデータが格納されており、
前記処理手順は、
レフトビュー再生期間において、プレーンメモリに対する左目用シフト処理を行い、左方向及び右方向のうち何れか一方向に移動された左目用のイメージを得、ライトビュー再生期間において、プレーンメモリに対する右目用シフト処理を行い、前記一方向とは反対方向に移動された右目用のイメージを得るシフト手順と、
左目用及び右目用のイメージのそれぞれにおいて、そのイメージの移動方向とは反対方向の端部の矩形領域に、非透明色の代替画素データより生成される代替イメージを描画するレンダリング処理を行うレンダリング手順と
を有するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像コンテンツ、特に背景（スチル）画像を立体視再生する技術に関する。
【背景技術】
【０００２】
近年、次世代光ディスク規格であるＢｌｕ−ｒａｙ  Ｄｉｓｃ（以下、「ＢＤ」という）の普及が加速している。BD-ROM規格に準拠した再生装置では、当該再生装置に接続されたディスプレイなどの表示装置に、高画質なビデオストリームに字幕やグラフィクスを重ね合わせて出力することで、高い臨場感を持つ映像を楽しむことができる（例えば特許文献１参照）。【０００３】
一方、表示装置の技術動向として、フラットな映像だけではなく、飛び出るような映像を楽しむことができる立体視ディスプレイが普及し始めている。立体視ディスプレイにはさまざまな方式があるが、基本的な原理としてレフトビューとライトビューとで左右の目に異なる絵を見せる仕組みを導入し、両目間の視差を利用することにより、立体的な映像を擬似的に作る。【０００４】
通常のフラットな映像と同等のフレームレートで立体化された映像を視聴者に見せようとすると、ディスプレイ側には、通常の２倍の応答性能が必要であり、例えば一秒６０コマのビデオを表示するためには、最低でも１秒１２０コマの切り替えをしなければならない。【０００５】
したがって、表示されるビデオストリームは、１秒１２０コマの状態でエンコードされなければならないが、フレームレートを上げる以外の方法で立体効果を得るために、非特許文献１のようにサイドバイサイド方式を利用するという方法もある。【０００６】
いずれの表示方法も、ビデオストリーム、字幕、及びグラフィクスのそれぞれについて、レフトビュー用およびライトビュー用を用意することが、立体視効果を得るための前提となる。また、背景（スチル）画像についても、立体視効果を得るためには、レフトビュー用およびライトビュー用を用意することが必要になる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】ＷＯ２００５−１１９６７５号公報
【非特許文献】
【０００８】
【非特許文献１】ＦＯＵＮＤＡＴＩＯＮＳ  ＯＦ  ＴＨＥ  ＳＴＥＲＥＯＳＣＯＰＩＣ  ＣＩＮＥＭＡ  Ａ  ＳＴＵＤＹ  ＩＮ  ＤＥＰＴＨ（ｂｙ  ＬＥＮＮＹ  ＬＩＰＴＯＮ）
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ところで、本来ならこれらの全てについて、レフトビュー用およびライトビュー用を用意することが望ましいが、BD-ROMの容量が限られているため、全てについて、レフトビュー用およびライトビュー用を用意するのは困難である。特に、背景画像に関しては、映像コンテンツにおける重要度がビデオストリームに比べて低く、映像コンテンツ作成者からは、手間をかけずに、簡単に背景画像の立体視を実現したいという要望もある。【００１０】
そこで、背景画像については、レフトビュー用およびライトビュー用を予め用意するのではなく、一枚の背景画像からレフトビュー用の背景画像（以下、「Ｌ画像」という）とライトビュー用の背景画像（以下、「Ｒ画像」という）とを再生装置において生成することが考えられている。具体的には、再生装置における背景プレーンに、所定の縦画素数×横画素数の画素データから構成される背景データを格納し、再生装置におけるシフトエンジンが、レフトビュー再生期間において、背景データにおける各画素データの座標を左方向及び右方向のうち何れか一方向に移動させ、ライトビュー再生期間において、背景データにおける各画素データの座標を反対方向に移動させる処理を行うことで、Ｌ画像及びＲ画像を生成する（以下、背景データにおける各画素データの座標を移動させる処理を「プレーンシフト」という）。このとき、プレーンシフト時のシフト量を調整することにより、プレーンに描画されたオブジェクトがどれだけの立体感を伴って見えるかが決定される（以下、オブジェクトがどれだけの立体感を伴って見えるかを示す値を「Ｚ値」という）。【００１１】
図２４は、背景プレーンにおけるプレーンシフトの一例を示す図である。図２４の上段は、背景画像（元画像）１０１Ｎを示している。背景画像１０１Ｎにおける領域１０２Ｌおよび１０２Ｒは、横方向の画素数がｘ画素であり、縦方向の画素数が前記所定の縦画素数である領域である。【００１２】
図２４の中段左側にはＬ画像を、中段右側にはＲ画像を示している。ここで、プレーンシフトにより、Ｌ画像においては右方向に、Ｒ画像においては左方向に、それぞれｘ画素移動させたものとする。Ｌ画像の生成の際、プレーンシフトにより背景データにおける各画素データの座標が右方向にｘ画素移動されるため、その移動量分だけ、Ｌ画像の左側端部にあたる矩形領域には、画素データを有しない無画素領域１０３Ｌが生じることとなる。【００１３】
同様に、Ｒ画像の生成の際、プレーンシフトにより背景データにおける各画素データの座標が左方向にｘ画素移動されるため、その移動量分だけ、Ｒ画像の右側端部にあたる矩形領域には無画素領域１０３Ｒが生じることとなる。【００１４】
このようなＬ画像を左眼に、Ｒ画像を右眼にそれぞれ割り当てて、液晶眼鏡を通してこれらを視聴することにより、Ｌ画像とＲ画像とで共通の描画がなされる共通描画領域１０４（図２４の下段）については、図２５に示すように、プレーンをシフトした量に比例するＺ値に応じた立体効果を得ることができる。【００１５】
しかしながら、上述のように生成されたＬ画像及びＲ画像により背景画像の立体視を実現する場合、視聴者が不快感を抱くことがある。この不快感について具体的に説明する。【００１６】
再生装置は、一般的に、ビデオプレーン、グラフィクスプレーン、字幕プレーン、及び背景プレーンを有しており、これらは、別々のレイヤ構成である。そして、必ず、下から、背景プレーン、ビデオプレーン、字幕プレーン、グラフィクスプレーンの順に、各プレーンに格納されたデータの合成（重ね合わせ）が行われる。したがって、字幕やグラフィクスの下には、ビデオや背景画像が存在するので、たとえ字幕プレーンやグラフィクスプレーンで無画素領域が生じたところで、合成の際に、当該無画素領域に対応する領域には、その下のレイヤのビデオや背景画像の画素データに基づく描画がなされることになる。【００１７】
ところが、例えばビデオの再生停止が実行された場合等、背景画像のみが表示される場合には、背景画像の下には、もはや何も存在しないため、合成の際に、背景プレーンの無画素領域に対応する領域に、他のプレーンに格納されている画素データに基づく描画を行うことは不可能である。その場合、無画素領域には、再生装置において、デフォルトの設定に基づいて何らかの書き込みがなされることになり、映像コンテンツ側で、当該無画素領域にどのような画素データが書き込まれるかを保証することはできない。例えば、再生装置により無画素領域が黒色で塗りつぶされることが想定され、その場合には、背景プレーンにおける無画素領域１０３Ｌ，１０３Ｒは、表示の際、表示画面の両脇に、黒帯として現れることになる（図２５参照）。【００１８】
このように、プレーンシフトにより立体視を実現する場合には、無画素領域に書き込まれる画素データを映像コンテンツ側で保証できないため、視聴者に対して不快感を与えてしまうことがある。【００１９】
なお、ここでは背景画像をプレーンシフトにより立体視する場合について説明したが、字幕及びグラフィクスをプレーンシフトにより立体視する場合についても、プレーンシフトにより視聴者が不快感を抱く場合がある。上述したように、字幕プレーンやグラフィクスプレーンで無画素領域が生じたとしても、当該無画素領域に対応する領域には、合成の際に、その下のレイヤのビデオや背景画像の画素データに基づく描画がなされることになる。そうすると、Ｌ画像及びＲ画像の一方ではグラフィクス（または字幕）が描画され、他方ではビデオあるいは背景画像が描画される領域が存在することになる。このようにＬ画像とＲ画像とで対応する描画がなされない領域が存在し、液晶眼鏡を通して視聴した場合、これらが同一の空間に位置するように見えてしまう。その結果、左眼と右眼の視覚の不一致を引き起こし、背景プレーンをプレーンシフトした場合と同様、視聴者が不快感を抱くおそれがある。【００２０】
本発明は、プレーンシフトにより立体視を実現する際に視聴者に与える不快感を軽減する再生装置を提供することを目的とする。
【課題を解決するための手段】
【００２１】
上記目的を達成するために、本発明の一実施態様である再生装置は、レフトビュー再生およびライトビュー再生を交互に実行することで立体視再生を行う再生装置であって、所定の縦画素数×横画素数の画素データから構成されるイメージデータを格納するプレーンメモリと、レフトビュー再生期間において、プレーンメモリに対する左目用シフト処理を行い、左方向及び右方向のうち何れか一方向に移動された左目用のイメージを得、ライトビュー再生期間において、プレーンメモリに対する右目用シフト処理を行い、前記一方向とは反対方向に移動された右目用のイメージを得るシフトエンジンと、左目用及び右目用のイメージのそれぞれにおいて、そのイメージの移動方向とは反対方向の端部の矩形領域に、非透明色の代替画素データより生成される代替イメージを描画するレンダリング処理を行うレンダリングエンジンとを備える。
【発明の効果】
【００２２】
上記課題を解決するための手段に記載の構成により、左目用及び右目用のイメージを得る際、左目用及び右目用のイメージのそれぞれにおいて、そのイメージの移動方向とは反対方向の端部の矩形領域に、非透明色の代替画素データより生成される代替イメージを描画することができる。この矩形領域に、代替イメージとして、視聴者が不快感を抱きにくいイメージを描画することで、視聴者の不快感を軽減することができる。
【図面の簡単な説明】
【００２３】
【図１】ホームシアターシステムの構成を示す図である。
【図２】BD-ROMの内部構成を示す図である。
【図３】再生装置の内部構成を示す図である。
【図４】バックグラウンドプレーンの内部構成を示す図である。
【図５】プレーンオフセットの正負の違いにより背景の奥行きがどのように変化するかを示す図である。
【図６】３Ｄストリームの再生処理を示すフローチャートである。
【図７】再生処理のうち図６で示す部分に後続する部分を示すフローチャートである。
【図８】ブランク描画処理を示すフローチャートである。
【図９】実施の形態１における具体例を示す図である。
【図１０】バックグラウンドプレーンに格納されている画素データを示す図である。
【図１１】プレーンシフトがなされた後のバックグラウンドプレーンの格納内容を示す図である。
【図１２】ブランク描画処理がなされた後のバックグラウンドプレーンの格納内容を示す図である。
【図１３】変形例１−１における具体例を示す図である。
【図１４】変形例１−２における具体例を示す図である。
【図１５】実施の形態２におけるブランク描画処理を示すフローチャートである。
【図１６】実施の形態２における具体例を示す図である。
【図１７】色指定のための対話型のユーザインタフェースを示す図である。
【図１８】実施の形態３におけるブランク描画処理を示すフローチャートである。
【図１９】実施の形態３における具体例を示す図である。
【図２０】合成部１０の構成を示す図である。
【図２１】右方向のプレーンシフトをラインデータ毎に実行する過程を示す。
【図２２】左方向のプレーンシフトをラインデータ毎に実行する過程を示す。
【図２３】ラインメモリへの読み出しの処理手順を示すフローチャートである。
【図２４】背景プレーンにおけるプレーンシフトの一例を示す図である。
【図２５】プレーンシフトによる立体効果および視聴者の不快感を説明するための図である。
【発明を実施するための形態】
【００２４】
以下、図面を参照しながら本発明の実施の形態を説明する。
（実施の形態１）
＜全体構成＞
図１は、記録媒体及び再生装置の使用行為についての形態を示す図である。本図に示すように、記録媒体の一例であるBD-ROM１００、及び再生装置２００は、リモコン３００、テレビ４００、液晶眼鏡５００と共にホームシアターシステムを構成し、ユーザによる使用に供される。
【００２５】
BD-ROM１００は、上記ホームシアターシステムに、例えば映画作品を供給する。
【００２６】
再生装置２００は、テレビ４００と接続され、BD-ROM１００を再生する。
【００２７】
リモコン３００は、階層化されたGUIに対する操作をユーザから受け付ける機器であり、かかる操作受け付けのため、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ディレクトリは、いわばトランスポートストリーム本体となるファイルを格納しているディレクトリであり、STREAMディレクトリには、拡張子"m２ts"が付与されたファイル(０００００１. m２ts)が存在する。
【００４２】
PLAYLISTディレクトリには、拡張子"mpls"が付与されたファイル(０００００１.mpls)が存在する。
【００４３】
CLIPINFディレクトリには、拡張子"clpi"が付与されたファイル(０００００１.clpi)が存在する。
【００４４】
BDJOディレクトリには、拡張子"bdjo"付与されたファイル(XXXXX.bdjo)が存在する。
【００４５】
JARディレクトリには、拡張子"jar"が付与されたファイル(YYYYY.jar)が存在する。
【００４６】
METAディレクトリには、XMLファイル(ZZZZZ.xml)が存在する。
【００４７】
以下、これらのファイルについて説明する。
【００４８】
＜AVClip＞
先ず初めに、拡張子"m２ts"が付与されたファイルについて説明する。拡張子"m２ts"が付与されたファイルは、MPEG2-TS (TransportStream)形式のデジタルAVストリームであり、ビデオストリーム、1つ以上のオーディオストリーム、グラフィクスストリーム等を多重化することで得られる。ビデオストリームは映画の動画部分を、オーディオストリームは映画の音声部分をそれぞれ示している。３D用のストリームの場合はm２tsの中に左目用と右目用の両方のデータを入れることができるし、左目用と右目用とで別々にm２tsを用意することもできる。ストリームに使われる容量を少なくするため、レフトビュービデオストリームとライトビュービデオストリームが相互参照をするようなコーデック（例えば、MPEG-４ AVC MVC）を使うことが望ましい。そのようなコーデックで圧縮符号化されたビデオストリームを、MVCビデオストリームと呼ぶ。
【００４９】
MVCビデオストリームには、ベースビュービデオストリーム、エンハンスドビュービデオストリームという種別がある。ベースビューストリームとは、レフトビュー又はライトビューを構成するビデオストリームのうち、平面視表示を実現しうるものである。一方、ライトビュー又はレフトビューを構成するビデオストリームのうち、ベースビューストリームではないものを"エンハンスドビューストリーム"という。エンハンスドビューストリームを構成するピクチャデータは、ベースビューストリームを構成するピクチャデータとのフレーム相関性に基づき圧縮符号化されている。
【００５０】
＜PlayList情報＞
拡張子"mpls"が付与されたファイルは、PlayList(PL)情報を格納したファイルである。PL情報は、AVClipを参照してプレイリストを定義する情報である。
【００５１】
本実施の形態では、BD-ROM上のプレイリスト（PL）の構成フォーマットから再生対象のストリームに３D用のストリームが存在するかを特定できる。
【００５２】
プレイリスト情報は、MainPath情報、Subpath情報、PlayListMark情報を含む。
【００５３】
1)MainPath情報は、AVストリームの再生時間軸のうち、In＿Timeとなる時点と、Out＿Timeとなる時点の組みを1つ以上定義することにより、論理的な再生区間を定義する情報であり、AVストリームに多重化されているエレメンタリストリームのうち、どれの再生を許可し、どれの再生を許可しないかを規定するストリーム番号テーブル(STN＿table)をもつ。
【００５４】
2)PlayListMark情報は、In＿Time情報及びOut＿Time情報の組みにて指定されたAVストリームの一部分のうち、チャプターとなる時点の指定を含む。
【００５５】
3)Subpath情報は、1つ以上のSubPlayItem情報から構成され、SubPlayItem情報は、前記AVストリームと同期して再生すべきエレメンタリストリームの指定と、そのエレメンタリストリームの再生時間軸におけるIn＿Time情報及びOut＿Time情報の組みとを含む。再生制御のためのJava(TM)アプリケーションが、このプレイリスト情報を再生するJMFプレイヤインスタンスの生成をJava(TM)仮想マシンに命じることで、AV再生を開始させることができる。JMF(Java Media Frame work)プレイヤインスタンスとは、JMFプレイヤクラスを基にして仮想マシンのヒープメモリ上に生成される実際のデータのことである。
【００５６】
以後、２D用ストリームのみを含むストリームを"２Dストリーム"、２D，３D用のストリームの両方を含むストリームを"３Dストリーム"と呼ぶ。
【００５７】
＜Clip情報＞
拡張子"clpi"が付与されたファイルは、AVClipのそれぞれに1対1に対応するClip情報である。管理情報故に、Clip情報は、AVClipにおけるストリームの符号化形式、フレームレート、ビットレート、解像度等の情報や、GOPの先頭位置を示すEP＿mapをもっている。以上のClip情報及びPL情報は、"静的シナリオ"に分類される。
【００５８】
＜BD-Jオブジェクト＞
続いて、拡張子BD-Jオブジェクトを付したファイルについて説明する。
【００５９】
BD-ROM規格では、映像の再生中にアプリケーションプログラムを実行することによって、動的な再生制御や、再生中のユーザとのインタラクション等、映像の再生を行いながら任意の計算機処理を再生装置に行わせることが可能である。BD-ROMでは、このアプリケーションプラットフォーム規格としてＪａｖａ（登録商標）が用いられており、BD-ROM規格上で採用されるＪａｖａ（登録商標）プラットフォームは、ＢＤ−Ｊａｖａ、あるいはＢＤ−Ｊと呼ばれ、その実行アプリケーションはＢＤ−Ｊａｖａアプリ、あるいはＢＤ−Ｊアプリと呼ばれる。
【００６０】
拡張子BD-Jオブジェクトを付したファイルは、BD-Jオブジェクトを格納したファイルである。BD-Jオブジェクトは、PlayList情報により定義されるAVClip列と、アプリケーションとの関連付けにより、タイトルを定義する情報である。
【００６１】
このJava（登録商標）アプリケーションの実体にあたるのが、図２におけるBDMVディレクトリ配下のJARディレクトリに格納されたJava（登録商標）アーカイブファイル(YYYYY.jar)である。
【００６２】
アプリケーションは例えばJava（登録商標）アプリケーションであり、仮想マシンのヒープ領域(ワークメモリとも呼ばれる)にロードされた1つ以上のxletプログラムからなる。このワークメモリにロードされたxletプログラム、及び、データから、アプリケーションは構成されることになる。
【００６３】
BD-Jオブジェクトは、各種の情報を含んでおり、各種の情報としては、再生タイトルとの関連を示す情報、後述するＪＡＲファイルとの関連を示す情報、ＰｌａｙＬｉｓｔ情報に対する参照値、アプリケーション管理テーブルなどが含まれる。
【００６４】
アプリケーション管理テーブルは、タイトルを生存区間としたアプリケーションシグナリングを、再生装置に行わせるためのテーブルである。
【００６５】
アプリケーション管理テーブルは、BD-Jオブジェクトに対応するタイトルがカレントタイトルになった際、動作させるべきアプリケーションを特定する『アプリケーション識別子』と、『制御コード』とを含む。
【００６６】
制御コードは、AutoRunに設定された場合、このアプリケーションをヒープメモリにロードした上、自動的に起動する旨を示し、Presentに設定された場合、このアプリケーションをヒープメモリにロードした上、他のアプリケーションからのコールを待って、起動すべき旨を示す。
【００６７】
＜メタファイル＞
METAディレクトリに格納されたメタファイル（ZZZZZ.xml）には、ディスクに入っている映像作品に関する様々な情報が格納されている。メタファイルに格納されている情報としては、ディスクのディスク名及び画像、ディスクの作成者の名称を示す情報、各タイトルに関わるタイトル名等がある。
【００６８】
なお、メタファイルなど一部のファイルは、BD-ROM規格では必ずしも必須とされておらず、一部のファイルが存在していなくともBD-ROM１００は映像記録媒体としてBD-ROM規格のもと再生可能である。
【００６９】
以上がBD-ROM１００についての説明である。
＜再生装置＞
次に本実施の形態に係る再生装置２００の構成について説明する。この再生装置２００では、背景画像については、プレーンシフトにより立体視が実現され、ビデオについては、Ｌ画像及びＲ画像が予め用意されているものとする。また、インタラクティブグラフィクス及びプレゼンテーショングラフィクスについては、Ｌ画像及びＲ画像が予め用意されていてもよいし、プレーンシフトにより立体視を実現してもよい。
【００７０】
図３は、再生装置２００の内部構成を示すブロック図である。図３に示すように、再生装置２００は、BD-ROMドライブ１、トラックバッファ２、デマルチプレクサ３、ビデオデコーダ４ａ，４ｂ、ビデオプレーン４ｃ、プレゼンテーショングラフィクス（ＰＧ）デコーダ５ａ，５ｂ、プレゼンテーショングラフィクス（ＰＧ）メモリ５ｃ，５ｄ、プレゼンテーショングラフィクス（ＰＧ）プレーン５ｆ、静止画メモリ６ａ、静止画デコーダ６ｂ、バックグラウンドプレーン６ｃ、オーディオデコーダ７、インタラクティブグラフィクス（ＩＧ）プレーン８、プレーンシフトエンジン９ａ，９ｂ、合成部１０、静的シナリオメモリ１１、動的シナリオメモリ１２、制御部１３、ＨＤＭＶモジュール１４、ＢＤ−Ｊモジュール１５、モード管理モジュール１６、ディスパッチャ１７、ＡＶ再生ライブラリ１８、アプリデータ関連付けモジュール１９、ＵＯ探知モジュール２１、レンダリングエンジン２２ａ，２２ｂ、ネットワークインタフェース２３、ローカルストレージ２４、仮想ファイルシステム２５、リムーバブルメディア２７、イメージシフト量レジスタ２８、次元判定部２９、次元モード記憶部３０、左右処理記憶部３１、HDMI送受信部３２から構成される。
【００７１】
BD-ROMドライブ１は、BD-ROMのローディング／イジェクトを行い、BD-ROMに対するアクセスを実行する。
【００７２】
BD-ROMドライブ１は、具体的には、半導体レーザ（図示せず）、コリメートレンズ（図示せず）、ビームスプリッタ（図示せず）、対物レンズ（図示せず）、集光レンズ（図示せず）、光検出器（図示せず）を有する光学ヘッド（図示せず）を備える。半導体レーザから出射された光ビームは、コリメートレンズ、ビームスプリッタ、対物レンズを通って、光ディスクの情報面に集光される。集光された光ビームは、光ディスク上で反射／回折され、対物レンズ、ビームスプリッタ、集光レンズを通って、光検出器に集光される。光検出器にて集光された光の光量に応じて、生成された信号がBD-ROMから読み出されたデータに対応する。
【００７３】
トラックバッファ２は、典型的にはＦＩＦＯメモリであり、BD-ROMから読み出されたストリームを構成するエクステントを構成するソースパケットを一旦格納しておき、転送速度を調整した上、デマルチプレクサ４に転送するためのバッファである。
【００７４】
デマルチプレクサ３は、具体的には、ソースパケットデパケッタイザーと、PIDフィルタとから構成され、仮想ファイルシステム２５を通じて、BD-ROMドライブ１にローディングされているBD-ROM１００、または、ローカルストレージ２４若しくはリムーバブルメディア２７に保存されているトランスポートストリームの多重分離を行う。
【００７５】
また、デマルチプレクサ３は、次元判定部２９を用いて、立体視（３Ｄ）用の処理を行うか２Ｄ用の処理を行うかを切り替える。
【００７６】
多重分離によって得られる、ＧＯＰを構成するビデオフレームについて、当該ビデオフレームがレフトビュー用の場合にはビデオデコーダ４ａに出力され、ライトビュー用の場合にはビデオデコーダ４ｂに出力される。
【００７７】
また、例えばビデオフレームが２Ｄ用のビデオフレームである場合には、当該ビデオフレームは、ビデオデコーダ４ａに出力され、ビデオデコーダ４ａにより、デコードした２Ｄ用のビデオフレームは、左目用ビデオプレーン（図３に示したビデオプレーン４ｃにおける符号（Ｌ）で示したもの）に書き込まれる。
【００７８】
ＧＯＰを構成するオーディオフレームは、オーディオデコーダ７に出力される。
【００７９】
多重分離によって得られるストリームが字幕ストリームである場合には、プレゼンテーショングラフィクスメモリに格納される。例えば３Ｄ字幕ストリーム（レフトビュー用の字幕ストリーム及びライトビュー用の字幕ストリーム）がストリームに含まれている場合には、レフトビュー用の字幕ストリームをプレゼンテーショングラフィクスメモリ５ｃに書き込み、ライトビュー用の字幕ストリームをプレゼンテーショングラフィクスメモリ５ｄに書き込む。また、例えば２Ｄの字幕ストリーム（平面表示のために用いる字幕ストリーム）がストリームに含まれている場合には、２Ｄの字幕ストリームをプレゼンテーショングラフィクスメモリ５ｃに書き込む。
【００８０】
多重分離によって得られるシナリオ情報は、動的シナリオメモリ１２に格納される。
【００８１】
デマルチプレクサ３による多重分離は、ＴＳパケットをＰＥＳパケットに変換するという変換処理を含む。
【００８２】
ビデオデコーダ４ａは、デマルチプレクサ３から出力されたビデオフレームを復号して非圧縮形式のピクチャをレフトビュービデオプレーン４ｃ（図３のビデオプレーン４ｃにおける符号（Ｌ）で示したもの）に書き込む。
【００８３】
ビデオデコーダ４ｂは、デマルチプレクサ３から出力されたビデオフレームを復号して非圧縮形式のピクチャをライトビュービデオプレーン４ｃ（図３のビデオプレーン４ｃにおける符号（Ｒ）で示したもの）に書き込む。
【００８４】
ビデオプレーン４ｃは、例えば、1920×2160(1280×1440)といった解像度によってピクチャデータを格納することができるプレーンメモリであり、1920×1080(1280×720)の解像度をもつ左目用プレーン（図３のビデオプレーン４ｃにおける符号（Ｌ）で示したもの）、1920×1080(1280×720)の解像度をもつ右目用プレーン（図３のビデオプレーン４ｃにおける符号（Ｒ）で示したもの）を有しており、各プレーンには非圧縮形式のピクチャが格納される。
【００８５】
ビデオプレーン４ｃに含まれる、左目用プレーン及び右目用プレーンは、物理的に分離したメモリを例示しているが、これに限定される必要はなく、例えば１つのメモリ内に左目用プレーンの領域と右目用プレーンの領域とを設け、これらの領域に、対応するビデオデータを書き込むような構成であってもよい。
【００８６】
プレゼンテーショングラフィクスデコーダ５ａ，５ｂは、デマルチプレクサ３から出力され、プレゼンテーショングラフィクスメモリ５ｃ、５ｄに書き込まれた字幕ストリームを構成するTSパケットを復号して非圧縮形式のグラフィクス字幕をプレゼンテーショングラフィクスプレーン５ｆに書き込む。プレゼンテーショングラフィクスデコーダ５ａ，５ｂによりデコードされる"字幕ストリーム"は、ランレングス符号化によって圧縮された字幕を表すデータであり、Y値、Cr値、Cb値、α値を示すピクセルコードと、そのピクセルコードのランレングスとによって定義される。
【００８７】
プレゼンテーショングラフィクスプレーン５ｆは、例えば1920×1080(1280×720)といった解像度によって、字幕ストリームをデコードすることにより得られたグラフィクスデータ（例えば字幕データ）を格納することができるグラフィクスプレーンであり、例えば1920×1080(1280×720)の解像度をもつデータを格納できるような記憶領域を有する左目用プレーン（図３に示したプレゼンテーショングラフィクスプレーン５ｆにおける符号（Ｌ）で示したもの）、1920×1080(1280×720)の解像度をもつデータを格納できるような記憶領域を有する右目用プレーン（図３に示したプレゼンテーショングラフィクスプレーン５ｆにおける符号（Ｒ）で示したもの）を有しており、プレゼンテーショングラフィクスデコーダ５ａ，５ｂから出力されたグラフィクスデータが格納される。
【００８８】
プレゼンテーショングラフィクスプレーン５ｆに含まれる、左目用プレーン及び右目用プレーンは、物理的に分離したメモリを例示しているが、これに限定される必要はなく、例えば１つのメモリ内に左目用プレーンの領域と右目用プレーンの領域とを設け、これらの領域に、対応するグラフィクススデータを書き込むような構成であってもよい。
【００８９】
静止画メモリ６ａは、仮想パッケージから取り出された背景画となる背景（静止画）データを格納する。
【００９０】
静止画デコーダ６ｂは、静止画メモリ６ａに格納されている背景データをデコードして、非圧縮の背景データをバックグラウンドプレーン６ｃに書き込む。
【００９１】
バックグラウンドプレーン６ｃは、例えば1920×1080(1280×720)といった解像度によって、背景画となるべき背景データを格納することができるプレーンメモリである。
【００９２】
図４は、バックグラウンドプレーンの内部構成を示す。解像度が1920×1080に設定されている場合、図４に示すように、バックグラウンドプレーンは、横1920×縦1080の３２ビット長の記憶素子からなる。バックグラウンドプレーンは、1920×1080の解像度で、1画素当たり３２ビットのR,G,B,α値を格納できるメモリアロケーションをもつ。記憶素子に記憶される３２ビットのR,G,B,α値は、８ビットのR値、８ビットのG値、８ビットのR値、８ビットの透明度αから構成される。記憶素子には、透明色以外を示すR,G,B,α値が格納されており、この透明色以外のR,G,B,α値によって、背景が描かれることになる。
【００９３】
図３に戻って、オーディオデコーダ７は、デマルチプレクサ３から出力されたオーディオフレームを復号して、非圧縮形式のオーディオデータを出力する。
【００９４】
インタラクティブグラフィクスプレーン８は、例えば1920×1080(1280×720)といった解像度によって、BD-Jアプリケーションがレンダリングエンジン２２ａを利用して描画したグラフィクスデータを格納することができる記憶領域を有するグラフィクスプレーンであり、例えば1920×1080(1280×720)の解像度をもつデータを格納できるような記憶領域を有する左目用プレーン（図３のインタラクティブグラフィクスプレーン８において、符号（Ｌ）を付したもの）、1920×1080(1280×720)の解像度をもつデータを格納できるような記憶領域を有する右目用プレーン（図３のインタラクティブグラフィクスプレーン８において、符号（Ｒ）を付したもの）を有する。
【００９５】
なお、図３に示したビデオプレーン４ｃ、プレゼンテーショングラフィクスプレーン５ｆ、及びインタラクティブグラフィクススプレーン８は、左目用のデータを格納するための記憶領域と右目用のデータを格納するための記憶領域とを設ける構成としたが、これに限定される必要はなく、例えば１つの記憶領域を左目用／右目用の記憶領域として交互に利用するような構成であってもよい。
【００９６】
プレーンシフトエンジン９ａは、左右処理記憶部３１のフラグと、イメージシフト量レジスタ２８に格納されている値とを基に、プレゼンテーショングラフィクスプレーン５ｆ及び／またはインタラクティブグラフィクスプレーン８に格納されている画素データの座標を一定の方向（例えば表示画面の水平方向）にシフトする（以下、「プレーンシフト」という）。この場合、左目用のインタラクティブグラフィクスプレーンと右目用のインタラクティブグラフィクスプレーンとが同一の描画オブジェクトを利用したものであっても、シフトによって、表示画面よりも手前に飛び出した位置に表示しているかのように表示することも可能となる。つまり、プレゼンテーショングラフィクスプレーンやインタラクティブグラフィクスプレーンの描画に用いた字幕やGUI等のグラフィクスのオブジェクト自体が立体視用の素材でなくても、表示画面よりも手前の位置に飛び出るエフェクトを得ることが可能になる。ビデオを２D表示させたまま、グラフィクスのみ立体効果を持たせたい場合には、レフトビュービデオ、及びライトビュービデオの組みを用いるのではなく、レフトビュー及びライトビューの両方にレフトビュー用のビデオを用いて、その上に上記シフト済みプレゼンテーショングラフィクスプレーンやインタラクティブグラフィクスプレーンを合成する。
【００９７】
プレーンシフトの対象は、プレゼンテーショングラフィクスプレーン５ｆ、及びインタラクティブグラフィクスプレーン８の双方である必然性はなく、インタラクティブグラフィクスプレーン８のみをプレーンシフトの対象にしたり、プレゼンテーショングラフィクスプレーン５ｆのみをプレーンシフトの対象にしたりしてもよい。
【００９８】
同様に、プレーンシフトエンジン９ｂは、左右処理記憶部３１のフラグと、イメージシフト量レジスタ２８に格納されている値とを基に、バックグラウンドプレーン６ｃに格納されている画素データの座標を一定の方向（例えば表示画面の水平方向）にシフトする。この場合、左目用のバックグラウンドプレーンと右目用のバックグラウンドプレーンとが同一の描画オブジェクトを利用したものであっても、シフトによって、表示画面よりも手前に飛び出した位置に表示しているかのように表示することも可能となる。
【００９９】
合成部１０は、インタラクティブグラフィクスプレーン８、プレゼンテーショングラフィクスプレーン５ｆ、ビデオプレーン４ｃ、バックグラウンドプレーン６ｃの格納内容を合成する。インタラクティブグラフィクスプレーン８、プレゼンテーショングラフィクスプレーン５ｆ、ビデオプレーン４ｃ、及びバックグラウンドプレーン６ｃは、それぞれ別々のレイヤ構成になっており、合成部１０は、必ず、下から、バックグラウンドプレーン６ｃ、ビデオプレーン４ｃ、プレゼンテーショングラフィクスプレーン５ｆ、インタラクティブグラフィクスプレーン８の順に、各プレーンに格納されたデータの合成（重ね合わせ）を行う。つまり、たとえ平面のグラフィクスを立体視ビデオの上に重ね合わせるケースにおいても、バックグラウンドプレーン６ｃに格納された背景画の上にビデオプレーン４ｃに格納されたビデオを合成し、その合成画像の上にプレゼンテーショングラフィクスプレーン５ｆに格納された字幕を合成し、この合成画像の上に、インタラクティブグラフィクスプレーン８に格納されたグラフィクスを合成して表示する。そうしないと、グラフィクスの部分がビデオにめり込んだ形になり、不自然になってしまうからである。
【０１００】
静的シナリオメモリ１１は、カレントＰＬ情報やカレントクリップ情報を格納しておくためのメモリである。カレントＰＬ情報とは、仮想ファイルシステム２５から読み出すことのできるＰＬ情報のうち、その時点での処理対象になっているものをいう。カレントクリップ情報とは、仮想ファイルシステム２５から読み出すことのできる複数クリップ情報のうち、その時点での処理対象になっているものをいう。
【０１０１】
動的シナリオメモリ１２は、カレント動的シナリオを格納し、ＨＤＭＶモジュール１４、ＢＤ−Ｊモジュール１５による処理に供されるメモリである。カレント動的シナリオとは、仮想ファイルシステム２５から読み出すことのできる複数シナリオ情報のうち、その時点での実行対象になっているものをいう。
【０１０２】
制御部１３は、ＲＯＭ、ＲＡＭ、ＣＰＵからなるマイコンシステムであり、ＲＯＭには再生装置を制御するプログラムが記録されており、ＲＯＭ内のプログラムがＣＰＵに読み込まれ、プログラムとハードウェア資源とが協動することにより、HDMVモジュール１４、ＢＤ−Ｊモジュール１５、モード管理モジュール１６、ディスパッチャ１７、ＡＶ再生ライブラリ１８、アプリデータ関連付けモジュール１９の機能が実現される。
【０１０３】
HDMVモジュール１４は、HDMVモードの動作主体となるDVD映像仮想プレイヤであり、HDMVモードの実行主体となる。本モジュールは、コマンドインタプリタを具備し、ムービーオブジェクトを構成するナビゲーションコマンドを解読して実行することでHDMVモードの制御を実行する。ナビゲーションコマンドは、DVD-Videoと似たようなシンタックスで記述されているため、かかるナビゲーションコマンドを実行することにより、DVD-Videoライクな再生制御を実現することができる。
【０１０４】
ＢＤ−Ｊモジュール１５は、Ｊａｖａ（登録商標）仮想マシンを含むミドルウェアプラットフォームであり、JARアーカイブファイルに存在するクラスファイルからバイトコードを読み出して、ヒープメモリに格納することにより、ＢＤ−Ｊアプリを実行する。
【０１０５】
ＢＤ−Ｊアプリは、再生映像と関連付けされてBD-ROM１００の中に記録されており、再生時には動的シナリオメモリ１２に読み出された後、ＢＤ−Ｊモジュール１５によって実行される。
【０１０６】
Ｊａｖａ（登録商標）仮想マシンは、ＢＤ−Ｊアプリを解釈しＣＰＵに実行させる。ＢＤ−Ｊモジュール１５の一部はハードウェアによって実現されていてもよいし、ソフトウェアによって実現されていてもよい。
【０１０７】
モード管理モジュール１６は、仮想ファイルシステム２５から読み出されたモード管理テーブルを保持して、モード管理及び分岐制御を行う。モード管理モジュール１６によるモード管理とは、動的シナリオをＨＤＭＶモジュール１４とＢＤ−Ｊモジュール１５のどちらに実行させるかという、モジュールの割り当てである。
【０１０８】
ディスパッチャ１７は、ＵＯ検地モジュール２１により受け取ったユーザオペレーション（以下、「ＵＯ」ともいう）から、現在の再生装置におけるモードに適切なＵＯのみを選んで、そのモードを実行するモジュールに渡す。例えばＨＤＭＶモードの実行中に、上下左右、アクティベートといったＵＯを受け付けた場合、ＨＤＭＶモードのモジュールにこれらのＵＯを出力するのがディスパッチャ１７の処理である。
【０１０９】
ＡＶ再生ライブラリ１８は、ＨＤＭＶモジュール１４、あるいはＢＤ−Ｊモジュール１５からの呼び出しに応じて、ＡＶ再生機能、プレイリストの再生機能を実行する。ＡＶ再生機能とは、BD-ROMにて定義されている、ＤＶＤプレイヤ、ＣＤプレイヤから踏襲した機能群であり、再生開始、再生停止、一時停止、一時停止の解除、静止画機能の解除、再生速度を即値で指定した早送り、再生速度を即値で指定した巻戻し、音声切り替え、副映像切り替え、アングル切り替えといった処理である。プレイリスト再生機能とは、このＡＶ再生機能のうち、再生開始や再生停止をプレイリスト情報に従って行うことをいう。
【０１１０】
アプリデータ関連付けモジュール１９は、仮想ファイルシステム２５から読み出される情報と、再生装置内で計算した結果、及びアプリケーションが設定する属性情報を元に、アプリケーション関連付け情報を生成、及び更新する機能を有している。
【０１１１】
ＵＯ検地モジュール２１は、GUIに対するユーザオペレーション（ＵＯ）を受け取る。これは、例えばリモート・コントローラのような遠隔機器で入力される場合もあるし、再生装置に設置されているボタンのようなインタフェースによって直接入力される場合もある。
【０１１２】
レンダリングエンジン２２aは、Java２D，OPEN-GLといった基盤ソフトウェアを備え、BD-JモードにおいてはＢＤ−Ｊモジュール１５からの指示に従って、インタラクティブグラフィクスプレーン８に対する描画処理を行う。ＢＤ−Ｊモジュール１５は、色指定を伴った線や矩形等図形の描画、指定領域の塗りつぶし、指定されたイメージのコピー・ペースト等の描画処理を、レンダリングエンジン２２ａを通じてインタラクティブグラフィクスプレーン８に対して行うライブラリを有しており、ＢＤ−Ｊアプリは、これらのライブラリを呼び出すことで、グラフィクス描画処理を実現できる。
【０１１３】
また、ＨＤＭＶモードにおいては、レンダリングエンジン２２ａは、字幕に対応するストリーム（字幕ストリーム）以外のグラフィクスストリームから抽出したグラフィクスデータ（例えば、入力ボタンに対応するグラフィクススデータ）をレンダリングし、インタラクティブグラフィクスプレーン８に書き込む。
【０１１４】
レンダリングエンジン（以下、「ブランク描画エンジン」ともいう）２２ｂは、レンダリングエンジン２２a と同様に、Java２D，OPEN-GLといった基盤ソフトウェアを備え、BD-JモードにおいてはＢＤ−Ｊモジュール１５からの指示に従って、プレーンシフトエンジン９ｂによるプレーンシフトにより生じる、バックグラウンドプレーン６ｃにおける無画素（以下、「ブランク」ともいう）領域に対するレンダリング処理を行う。以下、無画素領域に対するレンダリング処理をブランク描画処理という。ブランク領域およびブランク描画処理については後述する。
【０１１５】
ネットワークインタフェース２３は、再生装置の外部と通信を行うためのものであり、インターネットでアクセス可能なサーバにアクセスしたり、ローカルネットワークで接続されたサーバにアクセスしたりすることが可能である。例えば、インターネット上に公開されたBD-ROM追加コンテンツのダウンロードに用いられたり、コンテンツが指定するインターネット上のサーバとの間でデータ通信を行うこうことでネットワーク機能を利用したコンテンツの再生に用いられたりする。
【０１１６】
BD-ROM追加コンテンツとは、オリジナルのBD-ROMにないコンテンツで、例えば追加の副音声、字幕、特典映像、アプリケーションなどである。ＢＤ−Ｊモジュール１５からネットワークインタフェース２３を制御することができ、インターネット上に公開された追加コンテンツをローカルストレージ２４やリムーバブルメディア２７にダウンロードすることができる。また、ダウンロードした追加コンテンツをどのようにBD-ROM上のデータとマージするのかを示すマージ管理情報も、ローカルストレージ２４あるいはリムーバブルメディア２７に併せてダウンロードされる。
【０１１７】
ローカルストレージ２４は、再生装置に内蔵されているハードディスク等の磁気記録装置である。BD-ROM１００に記録されているファイル形式またはそれに準ずる形で、トランスポートストリームや再生に使用する各種のデータを記録する。
【０１１８】
仮想ファイルシステム２５は、BD-ROM１００、または、ローカルストレージ２４若しくはリムーバブルメディア２７に記録されているファイルに対するリード・ライト機構を提供するファイルシステムである。
【０１１９】
BD-ROMの再生時に必要とされるファイルアクセスは、通常、BD-ROM１００に対して行われるが、仮想ファイルシステム２５は、マージ管理情報を元に、ローカルストレージ２４、またはリムーバブルメディア２７に存在するファイルを、あたかもBD-ROM１００上に記録されているファイルであるかのように仮想的にファイルのアドレス変換を行う機構を備える。すなわち、本仮想ファイルシステム２５は、ファイルの物理的な記録先を抽象化する機構を提供する。これにより、仮想的なBD-ROM（仮想パッケージ）を構築することができる。
【０１２０】
HDMVモードの動作主体であるコマンドインタプリタやBD-Jモードの動作主体であるBD-Jプラットフォームからは、仮想パッケージとオリジナルBD-ROMを区別なく参照することができる。仮想パッケージ再生中、再生装置はBD-ROM上のデータとローカルストレージ上のデータの両方を用いて再生制御を行うことになる。
【０１２１】
リムーバブルメディア２７は、例えば可搬性を有する記録媒体であり、再生装置に装着された外部スロットから挿入される記憶媒体である。リムーバブルメディアは、典型的にはＳＤカードなどのフラッシュメディアであるが、ＵＳＢメモリ、リムーバブルハードディスク、その他任意の種類の記憶媒体であってもよい。
【０１２２】
リムーバブルメディアを半導体メモリカードとしたときを例に説明をすると、再生装置にはリムーバブルメディアを装着するためのスロット（図示せず）およびスロットに装着されたリムーバブルメディアを読み取るためのインタフェース（例えばメモリカードI/F）が備えられており、スロットに半導体メモリを装着すると、リムーバブルメディアと再生装置とが電気的に接続され、インタフェース（例えばメモリカードI/F）を利用して、半導体メモリに記録されたデータを電気信号に変換して読み出すことが可能となる。
【０１２３】
イメージシフト量レジスタ２８は、プレーンシフトエンジン９ａ，９ｂにてプレーンをどの方向にどれだけシフトさせるかを示すプレーンオフセット（オフセット値）を格納する。プレーンオフセットは、再生装置を視聴するユーザによって設定されても良いし、ＢＤ−Ｊアプリの中で与えられ、実行時にＢＤ−Ｊモジュール１５を経由して設定されてもよい。
【０１２４】
図５は、プレーンオフセットの正負の違いによって、背景の見え方がどのように変化するかを示す図である。
【０１２５】
同図（ａ）、（ｂ）において、手前の方は、レフトビュー出力時にシフトしたシフト後のバックグラウンドプレーンを用いて出力されるレフトビュー用の背景を示す。奥の方は、ライトビュー出力時にシフトしたシフト後のバックグラウンドプレーンを用いて出力されるライトビュー用の背景を示す。
【０１２６】
本図（ａ）は、プレーンオフセットの符号が正（レフトビュー用の背景を右方向へずらし、ライトビュー用の背景を左方向へずらす）である場合を示す。プレーンオフセットが正の値であると、レフトビュー出力時の背景が、ライトビュー出力時の背景より右の位置に見えるようになる。つまり、輻輳点（焦点位置）が表示画面（スクリーン）より手前にくるので、背景も手前に見えるようになる。
【０１２７】
本図（ｂ）は、プレーンオフセットの符号が負である場合を示す。プレーンオフセットが負の値であると、レフトビュー出力時の背景が、ライトビューの出力時の背景より左の位置に見えるようになる。つまり、輻輳点（焦点位置）がスクリーンより奥にゆくので、背景も奥に見えるようになる。
【０１２８】
図３に戻って、次元判定部２９は、再生対象の映像が、立体視（３Ｄ）用のものであるか、２Ｄ用のものであるかを判定し、その結果を次元モード記憶部３０に出力する。
【０１２９】
次元判定部２９による判定は、カレントＰＬ若しくはカレントストリームの中に、立体視（３Ｄ）に対応する映像か対応しない映像かを示すフラグが含まれている場合には、このフラグに基づいてなされるとしてもよいし、または再生装置のユーザの指定によって切り替えが行われるようになっていてもよい。
【０１３０】
本実施の形態では、以下、プレイリスト中に３Ｄ用か２Ｄ用かを識別する次元識別フラグを有しているものとして説明する。
【０１３１】
次元モード記憶部３０は、次元モードを記憶する。次元モードは、その時点で再生されている映像が、立体視（３Ｄ）用のものであるか、通常の２Ｄ用のものであるかを示す。
【０１３２】
左右処理記憶部３１は、現在の出力処理がレフトビュー用の出力か、または、ライトビュー用の出力かを記憶する。左右処理記憶部３１のフラグは、図１に示した再生装置と接続する表示デバイス（図１の例ではテレビ）に対する出力が、レフトビュー出力であるか、ライトビュー出力であるかを示す。レフトビュー出力をしている間、左右処理記憶部３１のフラグはレフトビュー出力を示すフラグに設定される。また、ライトビュー出力をしている間、左右処理記憶部３１のフラグはライトビュー出力を示すフラグに設定される。
【０１３３】
HDMI送受信部３２は、例えばHDMI規格（HDMI:High Definition Multimedia Interface）に準拠したインタフェースを含み、再生装置とHDMI接続する装置（この例ではテレビ４００）との間でHDMI規格に準拠するように送受信を行うものであり、合成部１０により合成された映像と、オーディオデコーダ７によってデコードされた非圧縮のオーディオデータとを、HDMI送受信部３２を介してテレビ４００に伝送する。
【０１３４】
テレビ４００は、例えば立体視表示に対応しているかに関する情報、平面表示可能な解像度に関する情報、立体表示可能な解像度に関する情報を保持しており、再生装置からHDMI送受信部３２を介して要求があると、要求された必要な情報（例えば立体視表示に対応しているかに関する情報、平面表示可能な解像度に関する情報、立体表示可能な解像度に関する情報）を再生装置へ返す。
【０１３５】
このように、HDMI送受信部３２を介することで、テレビ４００が立体視表示に対応しているかどうかの情報を、テレビ４００から取得することができる。
【０１３６】
以上が、本実施の形態に係る再生装置２００の構成である。
＜再生処理＞
続いて、図６、７は、３Ｄストリームの再生処理を示すフローチャートである。
【０１３７】
このフローチャートでは、インタラクティブグラフィクス及びプレゼンテーショングラフィクスについては、Ｌ画像及びＲ画像が予め用意されているものとする。また、図６のステップＳ１０５〜１１２がレフトビュー用の処理であり、図７のステップＳ２０１〜２０８がライトビュー用の処理である。
【０１３８】
まず、ＡＶ再生ライブラリ１８は、何等かの要因によってカレントプレイリストが選択されると、カレントプレイリストに対応するカレントＰＬ情報及びカレントクリップ情報を読み出し、静的シナリオメモリ１１に設定する（ステップＳ１０１）。
【０１３９】
デマルチプレクサ３は、静的シナリオメモリ１１のカレントＰＬ情報を参照し、再生対象となるＡＶストリームを取得する（ステップＳ１０２）。
【０１４０】
デマルチプレクサ３は、静的シナリオメモリ１１のカレントＰＬ情報から次元識別フラグを取得し、次元判定部２９に送信する。次元判定部２９は、次元識別フラグに基づいて、再生対象のＡＶストリームが３Ｄ用か否かを判定する（ステップＳ１０３）。
【０１４１】
再生対象のＡＶストリームが３Ｄ用でない場合、すなわち２Ｄストリームである場合には（ステップＳ１０３でＮｏ）、２Ｄの映像再生処理を行う（ステップＳ１０４）。
【０１４２】
再生対象のＡＶストリームが３Ｄ用である場合には（ステップＳ１０３でＹｅｓ）、立体視再生を行う。以下、立体視再生について詳細に説明する。
【０１４３】
静止画デコーダ６ｂは、静止画メモリ６ａに格納されている背景データをデコードして、非圧縮の背景データをバックグラウンドプレーン６ｃに書き込む（ステップＳ１０５）。
【０１４４】
プレーンシフトエンジン９ｂは、イメージシフト量レジスタ２８の値（プレーンオフセット）を基に、バックグラウンドプレーン６ｃをシフトする、左目用シフト処理を行う（ステップＳ１０６）。
【０１４５】
左目シフト処理後、レンダリングエンジン２２ｂは、ブランク描画処理を行う（ステップＳ１０７）。ブランク描画処理の詳細については、後述する。
【０１４６】
ビデオデコーダ４ａは、デマルチプレクサ３から出力されたビデオフレームを復号して非圧縮形式のビデオフレーム（Ｌ用）をビデオプレーン４ｃに書き込む（ステップＳ１０８）。
【０１４７】
プレゼンテーショングラフィクスデコーダ５ａは、デマルチプレクサ３から出力され、プレゼンテーショングラフィクスメモリ５ｃに書き込まれた字幕ストリームを構成するTSパケットを復号して、プレゼンテーショングラフィクス（Ｌ用）をプレゼンテーショングラフィクスプレーン５ｆに書き込む（ステップＳ１０９）。
【０１４８】
BD-Jアプリケーションは、レンダリングエンジン２２ａを利用して、インタラクティブグラフィクスプレーン８にインタラクティブグラフィクス（Ｌ用）を書き込む（ステップＳ１１０）。
【０１４９】
合成部１０は、バックグラウンドプレーン６ｃに書き込まれた背景データ、ビデオプレーン４ｃに書き込まれたビデオデータ、プレゼンテーショングラフィクスプレーンに書き込まれたプレゼンテーショングラフィクスデータ、インタラクティブグラフィクスプレーンに書き込まれたインタラクティブグラフィクスを順に合成し、レフトビューとしてディスプレイへ出力する（ステップＳ１１１）。ここで、バックグラウンドプレーンにおいては、シフト処理が施された後の背景データが合成の対象となる。
【０１５０】
そして、ディスプレイの出力のタイミングで左右処理記憶部３１のフラグを転換する（ステップＳ１１２）。
【０１５１】
ステップＳ１０５〜１１２のレフトビュー用の処理の後、ライトビュー用の処理を行う。ライトビュー用の処理の基本的な流れは、レフトビュー用の処理と同様である。
【０１５２】
まず、静止画デコーダ６ｂは、静止画メモリ６ａに格納されている背景データをデコードして、非圧縮の背景データをバックグラウンドプレーン６ｃに書き込む（ステップＳ２０１）。
【０１５３】
プレーンシフトエンジン９ｂは、イメージシフト量レジスタ２８の値を基に、バックグラウンドプレーン６ｃをシフトする、右目用シフト処理を行う（ステップＳ２０２）。
【０１５４】
右目シフト処理後、レンダリングエンジン２２ｂは、ブランク描画処理を行う（ステップＳ２０３）。
【０１５５】
ビデオデコーダ４ｂは、デマルチプレクサ３から出力されたビデオフレームを復号して非圧縮形式のビデオフレーム（Ｒ用）をビデオプレーン４ｃに書き込む（ステップＳ２０４）。
【０１５６】
プレゼンテーショングラフィクスデコーダ５ｂは、デマルチプレクサ３から出力され、プレゼンテーショングラフィクスメモリ５ｄに書き込まれた字幕ストリームを構成するTSパケットを復号して、プレゼンテーショングラフィクス（Ｒ用）をプレゼンテーショングラフィクスプレーン５ｆに書き込む（ステップＳ２０５）。
【０１５７】
BD-Jアプリケーションは、レンダリングエンジン２２ａを利用して、インタラクティブグラフィクスプレーン８にインタラクティブグラフィクス（Ｒ用）を書き込む（ステップＳ２０６）。
【０１５８】
合成部１０は、バックグラウンドプレーン６ｃに書き込まれた背景データ、ビデオプレーン４ｃに書き込まれたビデオデータ、プレゼンテーショングラフィクスプレーンに書き込まれたプレゼンテーショングラフィクスデータ、インタラクティブグラフィクスプレーンに書き込まれたインタラクティブグラフィクスを順に合成し、ライトビューとしてディスプレイへ出力する（ステップＳ２０７）。
【０１５９】
そして、ディスプレイの出力のタイミングで左右処理記憶部３１のフラグを転換する（ステップＳ２０８）。
【０１６０】
次フレームが存在するか判定し（ステップＳ２０９）、フレーム入力が継続している限り（ステップＳ２０９でＹｅｓ）、以上の処理が繰り返されることになる。
＜ブランク描画処理＞
続いて、レンダリングエンジン２２ｂによるブランク描画処理について説明する。図８は、ブランク描画処理を示すフローチャートである。
【０１６１】
まず、レンダリングエンジン２２ｂは、バックグラウンドプレーン６ｃにおける背景データの格納領域のうちブランク領域を検出する（ステップＳ３０１）。
【０１６２】
ここで、表示画面上において、画面の横座標の左端をＸ０、右端をＸ１とし、画面の縦座標の上端をＹ０、下端をＹ１とし、オフセット値をＳとすると、左方向へのプレーンシフトにより生じるブランク領域は、（Ｘ１−Ｓ、Ｙ０）、（Ｘ１、Ｙ０）、（Ｘ１−Ｓ、Ｙ１）、（Ｘ１、Ｙ１）で囲まれる矩形領域で表せる。同様に、右方向へのプレーンシフトにより生じるブランク領域は、（Ｘ０、Ｙ０）、（Ｓ、Ｙ０）、（Ｘ０、Ｙ１）、（Ｓ、Ｙ１）で囲まれる矩形領域で表せる。
【０１６３】
次に、バックグランドプレーン６ｃに関する一部領域を選択する（ステップＳ３０２）。ここで、バックグラウンドプレーンに関する一部領域とは、例えば、プレーンシフトによりバックグラウンドプレーンからはみ出した領域である。以下、選択された一部領域の画像をクリップ画像ともいう。
【０１６４】
検出したブランク領域に、選択した領域の画素データを書き込む（ステップＳ３０３）。
【０１６５】
これが最終的にビデオプレーン等と重畳されるバックグラウンドプレーン６ｃとなる。この描画処理自体については、通常のレンダリングエンジンによって行われる描画処理と同様のものであるため、説明の詳細は省略する。
＜具体例＞
続いて、プレーンシフト及びブランク描画処理を、具体例を用いて説明する。
【０１６６】
図９は、プレーンシフト及びブランク描画処理の具体例を示す図である。図９上段は、バックグラウンドプレーン６ｃに描かれた背景画像２０１を示したものである。ここで、背景データを構成する各画素データが、バックグラウンドプレーン６ｃにどのように格納されているのか説明する。
【０１６７】
図１０は、バックグラウンドプレーンに格納されている画素データを示す図である。本図において、四角枠は、ビット長が３２ビット、又は、８ビットの記憶素子であり、0001,0002,0003,0004,07A5,07A6,07A7,07A8,07A9,07AA,07ABといった１６進数の数値は、CPUのメモリ空間において、これらの記憶素子に連続的に割り当てられるアドレスである。また、記憶素子中の(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)の画素データが格納されていることがわかる。
【０１７５】
また、プレーンオフセットに示される画素数だけずれることにより、アドレス0001,0002,0003の記憶素子には、画素データが格納されていないことがわかる。
【０１７６】
さらに、プレーンオフセットに示される画素数だけずれることにより、領域Ｌ２に対応する座標の画素データがプレーン内に存在しないことがわかる。
【０１７７】
同図（ｂ）は、プレーンオフセットが"3"に設定されていて、左方向にシフトされたバックグラウンドプレーンを示す。プレーンオフセットが"3"であるから、アドレス0001の記憶素子には、バックグラウンドプレーン座標系における座標(3,0)の画素データが、アドレス0002の記憶素子には、バックグラウンドプレーン座標系における座標(4,0)の画素データが、アドレス0003の記憶素子には、バックグラウンドプレーン座標系における座標(5,0)の画素データが格納されていることがわかる。
【０１７８】
同様に、アドレス07A9の記憶素子には、バックグラウンドプレーン座標系における座標(3,1)の画素データが、アドレス07AAの記憶素子には、バックグラウンドプレーン座標系における座標(4,1)の画素データが、アドレス07ABの記憶素子には、バックグラウンドプレーン座標系における座標(5,1)の画素データが格納されていることがわかる。
【０１７９】
また、プレーンオフセットに示される画素数だけずれることにより、アドレス07A6,07A7,07A8の記憶素子には、画素データが格納されていないことがわかる。
【０１８０】
さらに、プレーンオフセットに示される画素数だけずれることにより、領域Ｒ２に対応する座標の画素データがプレーン内に存在しないことがわかる。
【０１８１】
以上のように、シフトされたバックグラウンドプレーンは、バックグラウンドプレーンにおける各画素データの座標が、本来の座標から右方向、左方向に、プレーンオフセットに示される画素数だけずれていることがわかる。
【０１８２】
また、プレーンオフセットに示される画素数だけずれることにより、画素データを有しない記憶素子が生じるとともに、領域Ｌ２やＲ２に対応する座標の画素データがプレーン内に存在しないことがわかる。
【０１８３】
背景データを構成する各画素データが配置される記憶素子のアドレスを、所定のアドレスだけ変化させることで、バックグラウンドプレーンのシフトは実現することができる。当然であるが、実際に、画素データが配置される記憶素子のアドレスを変化させなくても、これと等価な処理であるなら、バックグラウンドプレーンのシフトを実現することは可能になる。
【０１８４】
図９に戻って、図９下段左側にはブランク描画処理後のＬ画像を、下段右側にはブランク描画処理後のＲ画像を示している。Ｌ画像においては、無画素領域Ｌ１に、プレーンからはみ出た領域Ｌ２の画像を貼り付けている。同様に、Ｒ画像においては、無画素領域Ｒ１に、プレーンからはみ出た領域Ｒ２の画像を貼り付けている。
【０１８５】
無画素領域Ｌ１，Ｒ１には、それぞれ背景画像（元画像）の一部が貼り付けられるので、表示画面上において、当該領域が３Ｄには見えないまでも、黒帯として現れることはなく、３Ｄとして認識できる領域の画像と似た画像が表示されるので、視聴者の違和感や不快感を軽減することができる。
【０１８６】
図１２は、ブランク描画処理がなされた後のバックグラウンドプレーンの格納内容を示す。同図（ａ）において、アドレス0001の記憶素子には、バックグラウンドプレーン座標系における座標(1917,0)の画素データが、アドレス0002の記憶素子には、バックグラウンドプレーン座標系における座標(1918,0)の画素データが、アドレス0003の記憶素子には、バックグラウンドプレーン座標系における座標(1919,0)の画素データが格納されていることがわかる。
【０１８７】
同様に、アドレス07A9の記憶素子には、バックグラウンドプレーン座標系における座標(1917,1)の画素データが、アドレス07AAの記憶素子には、バックグラウンドプレーン座標系における座標(1918,1)の画素データが、アドレス07ABの記憶素子には、バックグラウンドプレーン座標系における座標(1919,1)の画素データが格納されていることがわかる。
【０１８８】
同図（ｂ）において、アドレス07A6の記憶素子には、バックグラウンドプレーン座標系における座標(0,0)の画素データが、アドレス07A7の記憶素子には、バックグラウンドプレーン座標系における座標(1,0)の画素データが、アドレス07A8の記憶素子には、バックグラウンドプレーン座標系における座標(2,0)の画素データが格納されていることがわかる。
【０１８９】
同様に、アドレス0EEAの記憶素子には、バックグラウンドプレーン座標系における座標(0,1)の画素データが、アドレス0EEBの記憶素子には、バックグラウンドプレーン座標系における座標(1,1)の画素データが、アドレス0EECの記憶素子には、バックグラウンドプレーン座標系における座標(2,1)の画素データが格納されていることがわかる。
【０１９０】
なお、Ｌ画像に対して選択されるクリップ画像と、Ｒ画像に対して選択されるクリップ画像は、必ずしも別々のものである必要はなく、同一のものでもよい。
【０１９１】
また、クリップ画像のサイズは、必ずしもブランク領域のサイズと一致していなくてもよい。クリップ画像のサイズがブランク領域のサイズと一致しない場合には、クリップ画像をスケーリング（拡大・縮小）して描画を行ってもよい。また、クリップ画像のサイズが、ブランク領域より小さい場合には、当該クリップ画像のサイズを変えずに、ブランク領域内に複数枚クリップ画像を並べて、タイリング状に描画を行ってもよい。この場合の具体例を変形例１−２で後述する。その他、ブランク描画処理の際には、横回転や縦回転、左右の反転や上下の反転、輝度の調整や輪郭調整など、クリップ画像に対して特殊な処理を行ってもよい。これら以外のクリップ画像の指定する方法が用いられていてもよい。
【０１９２】
以上のように本実施の形態によれば、再生装置２００において背景画像を立体視再生する際には、バックグラウンドプレーンをプレーンシフトする。バックグラウンドプレーンにおいてプレーンシフトにより生じる無画素領域には、元画像２０１の一部が書き込まれる。したがって、ビデオの再生停止が実行された場合等、背景画像のみが表示される場合であっても、視聴者が液晶眼鏡を通して背景画像を視聴した際には、Ｌ画像とＲ画像とで共通の描画がなされる共通描画領域については立体効果を得ることができるとともに、無画素領域には元画像２０１の一部が書き込まれているため、表示画面の両脇に、無画素領域に書き込まれた元画像２０１の一部を認識することになる。元画像２０１の一部は、立体効果が得られる共通描画領域における画像と似ているため、視聴者はあまり違和感や不快感を抱くことなく、背景画像を見ることができる。本実施の形態で示したように背景画像がパターン画像である場合には、特に有効である。
（変形例１−１）
バックグラウンドプレーンに関する一部領域として、プレーンシフトによりバックグラウンドプレーンからはみ出した領域を用いた。以下、この一部領域を、ブランク領域に隣接する領域へと替えた一変形例について説明する。
【０１９３】
図１３は、変形例１−１における具体例を示す図である。図１３上段は、バックグラウンドプレーンに描かれた背景画像２０１を示したものであり、図９上段と同様である。
【０１９４】
図１３中段左側にはＬ画像を、中段右側にはＲ画像を示しており、これらは図９中段と同様である。ここで、Ｌ画像において、無画素領域Ｌ１に隣接する領域を隣接領域Ｌ４とする。同様に、Ｒ画像において、無画素領域Ｒ１に隣接する領域を隣接領域Ｒ４とする。
【０１９５】
図１３下段左側には、ブランク描画処理後のＬ画像を、下段右側にはブランク描画処理後のＲ画像を示している。Ｌ画像においては、無画素領域Ｌ１に隣接領域Ｌ４の画像をコピーし貼り付けている。Ｒ画像においては、無画素領域Ｒ１に隣接領域Ｒ４の画像をコピーし貼り付けている。
【０１９６】
このように、無画素領域に、当該無画素領域に隣接する隣接領域をコピーし貼り付けることにより、表示画面上において、当該無画素領域が３Ｄには見えないまでも、３Ｄとして認識できる領域の画像と似た画像が表示されるので、視聴者の違和感や不快感を軽減することができる。
（変形例１−２）
続いて、バックグラウンドプレーンに関する一部領域を、アプリケーションにより指定された領域へと替えた一変形例について説明する。
【０１９７】
この場合、指定する領域の情報が、ＢＤ−Ｊアプリケーションの中に記録されており、このＢＤ−Ｊアプリケーションは、仮想ファイルシステム２５から提供され、ＢＤ−Ｊモジュールの中で実行される。ＢＤ−Ｊアプリケーションは、レンダリングエンジン２２ｂを通じて、ブランク描画処理で用いる領域を指定する。
【０１９８】
図１４は、変形例１−２における具体例を示す図である。図１４上段は、バックグラウンドプレーンに描かれた背景画像２０１を示したものであり、図９上段と同様である。
【０１９９】
図１４中段左側にはＬ画像を、中段右側にはＲ画像を示しており、これらは図９中段と同様である。ここで、Ｌ画像において、ＢＤ−Ｊアプリケーションにより指定された領域を領域Ｌ５とする。同様に、Ｒ画像において、ＢＤ−Ｊアプリケーションにより指定された領域を領域Ｒ５とする。
【０２００】
図１３下段左側には、ブランク描画処理後のＬ画像を、下段右側にはブランク描画処理後のＲ画像を示している。Ｌ画像においては、無画素領域Ｌ１に、領域Ｌ５の画像を複数タイル状に貼り付けている。Ｒ画像においては、無画素領域Ｒ１に、領域Ｒ５の画像を複数タイル状に貼り付けている。
【０２０１】
このように、ブランク領域のサイズと、ＢＤ−Ｊアプリケーションにより指定された領域のサイズとが一致しない場合であっても、当該領域の画像を複数タイル状に貼り付けることにより、視聴者の違和感や不快感を軽減することができる。
（実施の形態２）
実施の形態１では、背景画像（元画像）の一部を無画素領域に貼り付けることで、視聴者の違和感及び不快感を軽減したが、本実施の形態では、プレーンシフトの際に特定の色で無画素領域を塗りつぶすことにより視聴者の違和感及び不快感を軽減する。
＜ブランク描画処理＞
図１５は、本実施の形態におけるレンダリングエンジン２２ｂによるブランク描画処理を示すフローチャートである。
【０２０２】
まず、レンダリングエンジン２２ｂは、バックグラウンドプレーン６ｃにおける背景データの格納領域のうちブランク領域を検出する（ステップＳ４０１）。
【０２０３】
次に、ブランク領域を塗りつぶす色を指定する（ステップＳ４０２）。ここで、ブランク領域を塗りつぶす色とは、バックグラウンドプレーンに格納された画素データを用いて生成され、例えば、無画素領域に隣接する縦画素列の各画素データに対応する色の平均をとったものである。
【０２０４】
検出したブランク領域に、指定した色を示す画素データを書き込む（ステップＳ４０３）。
【０２０５】
これが最終的にビデオプレーン等と重畳されるバックグラウンドプレーンとなる。
＜具体例＞
続いて、プレーンシフト及びブランク描画処理を、具体例を用いて説明する。
【０２０６】
図１６は、本実施の形態におけるプレーンシフト及びブランク描画処理の具体例を示す図である。図１６上段は、バックグラウンドプレーンに描かれた背景画像２０１を示したものである。
【０２０７】
図１６中段左側にはＬ画像を、中段右側にはＲ画像を示しており、これらは図９中段と同様である。ここで、Ｌ画像において、無画素領域Ｌ１に隣接する縦画素列を縦画素列Ｌ６とする。同様に、Ｒ画像において、無画素領域Ｒ１に隣接する縦画素列を縦画素列Ｒ６とする。
【０２０８】
ここで、色設定を３つの数値の組（Ｒ、Ｇ、Ｂ）で表現し、プレーンの縦方向の画素数をymaxとする。バックグラウンドプレーンの縦画素列Ｌ６のＹ座標yに設定された画素の色を（Ｒ[y]、Ｇ[y]、Ｂ[y]）と表現すると、ブランク領域に設定する色は、以下のように算出することができる。縦画素列Ｒ６についても同様に算出することができる。
（Ｒa、Ｇa、Ｒa）
Ｒa：（Ｒ[0]〜Ｒ[ymax-1]の総和）/ ymax
Ｇa：（Ｇ[0]〜Ｇ[ymax-1]の総和）/ ymax
Ｂa：（Ｂ[0]〜Ｂ[ymax-1]の総和）/ ymax
なお、ここに示した計算方法はもちろん一例であり、他の計算方法を用いてもよい。また、背景データの輝度、色相、明度、及び彩度を示す情報のうち少なくとも一つ以上の情報に基づいて、背景データの色を示す色情報を算出できればよい。
【０２０９】
また、無画素領域に隣接する縦画素列の画素データ以外の、イメージプレーンにおける他の画素データを用いて色を算出するとしてもよいし、またイメージプレーンではなく、ビデオプレーンなど他のプレーンから情報を取得することにしてもよい。
【０２１０】
図１６に戻って、本図下段左側には、ブランク描画処理後のＬ画像を、下段右側にはブランク描画処理後のＲ画像を示している。Ｌ画像においては、無画素領域Ｌ１は、縦画素列Ｌ６の色の平均をとったもので塗りつぶされている。Ｒ画像においては、無画素領域Ｒ１に、縦画素列Ｒ６の色の平均をとったもので塗りつぶされている。
【０２１１】
無画素領域Ｌ１，Ｒ１は、縦画素列の色の平均をとったもので塗りつぶされるため、表示画面上において、当該領域には、３Ｄとして認識できる領域との界面の色と似た色が表示されることになる。そうすると、その領域は３Ｄとして認識できる領域と非常に似たものとなり、特別目立つこともないため、視聴者の違和感や不快感を軽減することができる。
【０２１２】
なお、Ｌ画像に対して選択される色と、Ｒ画像に対して選択される色とは、必ずしも別々のものである必要はなく、同一のものでもよい。
【０２１３】
以上のように本実施の形態によれば、バックグラウンドプレーンにおいてプレーンシフトにより生じる無画素領域には、当該無画素領域に隣接する縦画素列における平均の色を示す画素データが書き込まれることになる。したがって、ビデオの再生停止が実行された場合等、背景画像のみが表示される場合であっても、視聴者が液晶眼鏡を通して背景画像を視聴した際には、Ｌ画像とＲ画像とで共通の描画がなされる共通描画領域については立体効果を得ることができるとともに、無画素領域が当該無画素領域に隣接する縦画素列における平均の色で塗りつぶされるため、表示画面の両脇に、当該平均の色で塗りつぶされた領域を認識することになる。縦画素列における平均の色は、立体効果が得られる共通描画領域の界面の色と似ているため、視聴者はあまり違和感や不快感を抱くことなく、背景画像を見ることができる。
【０２１４】
なお、ここでは、ブランク領域の描画色を、無画素領域に隣接する縦画素列における平均の色としたが、ディスプレイ画面外の環境色（例えば、テレビ４００のフレームの色）に近似した色としても、視聴者の違和感及び不快感を軽減させることができる。
（変形例２−１）
ブランク領域を塗りつぶす色として、無画素領域に隣接する縦画素列の各画素データに対応する色の平均をとったものを用いた。以下、ブランク領域を塗りつぶす色を、ユーザが指定した色へと替えた一変形例について説明する。
【０２１５】
図１７は、色指定のための対話型のユーザインタフェース９０１を示す図である。設定する色の選択肢９１１を提示し、リモコン入力によってフォーカス９１２を動かし、最終的には対話型の選択確認表示９１３を使用して、ユーザに指定色を決定させる機能を実現する。
【０２１６】
もちろんユーザに色を指定させる手段はこれに限定されるものではなく、他の手段で実現されていてもよい。
【０２１７】
ユーザインタフェース９０１によって指定された色を用いて、ブランク領域は塗りつぶされる。
【０２１８】
このユーザインタフェース９０１は、例えば、メニューが表示されるタイミングで当該メニューに併せて表示されてもよいし、ビデオの再生が停止されたタイミングで表示されてもよいし、ユーザ操作に基づいて表示されてもよい。
【０２１９】
これにより、視聴者は例えば、部屋の照明が明るい場合には明るい色を指定したり、部屋の壁紙の色に合わせて色を指定したりすることで、立体視の際に感じる違和感及び不快感を軽減することができる。
（変形例２−２）
続いて、ブランク領域を塗りつぶす色を、アプリケーションによって指定された色へと替えた一変形例について説明する。
【０２２０】
この場合、指定する色の色情報が、ＢＤ−Ｊアプリケーションの中に記録されており、このＢＤ−Ｊアプリケーションは、仮想ファイルシステム２５から提供され、ＢＤ−Ｊモジュールの中で実行される。ＢＤ−Ｊアプリケーションは、レンダリングエンジン２２ｂを通じて、バックグラウンドプレーンに対してブランク領域の色を指定し、この色によってブランク領域は塗りつぶされる。
（実施の形態３）
本実施の形態では、ブランク領域に貼り付けるための補助画像を予め用意しておき、ブランク領域が発生すると、当該領域に補助画像を貼り付けることにより、視聴者の違和感及び不快感を軽減する。
【０２２１】
図１８は、本実施の形態におけるレンダリングエンジン２２ｂによるブランク描画処理を示すフローチャートである。
【０２２２】
まず、レンダリングエンジン２２ｂは、バックグラウンドプレーンにおける背景データの格納領域のうちブランク領域を検出する（ステップＳ５０１）。
【０２２３】
次に、ブランク領域に描画する補助画像を取得する（ステップＳ５０２）。ここで、補助画像は、ローカルストレージ２４またはリムーバブルメディア２７に予め格納されているものとし、ブランク領域に貼り付けた際に視聴者の違和感及び不快感を軽減させるものであるのが望ましい。
【０２２４】
検出したブランク領域に、取得した補助画像を構成する画素データを書き込む（ステップＳ５０３）。これが最終的にビデオプレーン等と重畳されるバックグラウンドプレーンとなる。
【０２２５】
続いて、プレーンシフト及びブランク描画処理を、具体例を用いて説明する。
【０２２６】
図１９は、本実施の形態におけるプレーンシフト及びブランク描画処理の具体例を示す図である。図１９上段左側にはＬ画像を、上段右側にはＲ画像を示しており、これらは図９中段と同様である。
【０２２７】
図１９下段左側は、ローカルストレージ２４またはリムーバブルメディア２７に格納されている補助画像Ｌ７，Ｒ７を示す図である。ここでは、補助画像Ｌ７，Ｒ７は、画素領域Ｌ３，Ｒ３の画像と似た画像になっている。
【０２２８】
補助画像Ｌ７が、Ｌ画像における無画素領域Ｌ１に貼り付けられ、補助画像Ｒ７が、Ｒ画像における無画素領域Ｒ１に貼り付けられる。
【０２２９】
無画素領域Ｌ１，Ｒには、補助画像Ｌ７，Ｒ７が貼り付けられるため、表示画面上において、当該領域には、３Ｄとして認識できる領域の画像と似た画像が表示されることになる。そうすると、その領域は３Ｄとして認識できる領域と非常に似たものとなり、特別目立つこともないため、視聴者の違和感や不快感を軽減することができる。
【０２３０】
なお、Ｌ画像に対して指定される補助画像と、Ｒ画像に対して指定される補助画像とは、必ずしも別々のものでなくともよく、同一の補助画像がそれぞれの無画素領域に貼り付けられてもよい。
【０２３１】
また、補助画像のサイズは、必ずしもブランク領域のサイズと一致していなくてもよい。補助画像のサイズがブランク領域のサイズと一致しない場合には、補助画像をスケーリング（拡大・縮小）して描画を行ってもよい。また、補助画像のサイズがブランク領域のサイズより小さい場合には、当該補助画像のサイズを変えずに、ブランク領域内に補助画像を複数枚並べてタイリング状に描画を行ってもよい。その他、ブランク描画処理の際には、横回転や縦回転、左右の反転や上下の反転、輝度の調整や輪郭調整など、補助画像に対して特殊な処理を行ってもよい。
【０２３２】
以上のように本実施の形態によれば、バックグラウンドプレーンにおいてプレーンシフトにより生じる無画素領域には、補助画像が貼り付けられることになる。したがって、ビデオの再生停止が実行された場合等、背景画像のみが表示される場合であっても、視聴者が液晶眼鏡を通して背景画像を視聴した際には、Ｌ画像とＲ画像とで共通の描画がなされる共通描画領域については立体効果を得ることができるとともに、無画素領域には補助画像が貼り付けられているため、表示画面の両脇に、補助画像を認識することになる。補助画像は、立体効果が得られる共通描画領域の画像と似ているため、視聴者はあまり違和感や不快感を抱くことなく、背景画像を見ることができる。
（変形例３−１）
ローカルストレージ２４またはリムーバブルメディア２７に予め格納されていた補助画像を用いた。以下、補助画像を、アプリケーションにより指定された補助画像へと替えた一変形例について説明する。
【０２３３】
この場合、ＢＤ−Ｊアプリケーションは仮想ファイルシステム２５から提供され、ＢＤ−Ｊモジュール１５の中で実行される。補助画像の指定は、ＢＤ−Ｊアプリケーションの中に記録されている。ＢＤ−Ｊアプリケーションは、レンダリングエンジン２２ｂを通じて、予め記憶されている1つ以上の補助画像の中から、ブランク描画処理に用いる補助画像を指定する。
＜補足＞
以上、本発明に係る再生装置について、実施の形態に基づいて説明したが、本発明は上記実施の形態に限られないことは勿論である。
（１）上記実施の形態では、映像を再生する再生装置２００と、映像を表示する表示ディスプレイ４００とは、別々の機器で実施されていることを前提に説明したが、映像の再生および表示を同一機器で行う構成であってもよい。
（２）上記実施の形態では、シャッタ眼鏡５００を用いて立体視視聴を行う方法を前提に説明したが、Ｌ画像・Ｒ画像をそれぞれ左眼・右眼に視聴させる他の方式を利用してもよい。例えば、サイドバイサイド方式や、レンチキュラレンズなどを表示ディスプレイに使い、眼鏡などの特別な視聴器具を利用しない方式を用いていても構わない。
（３）再生装置の構成において、一組のビデオデコーダとビデオプレーンを持ち、立体視映像を出力する際には左眼用の映像と右眼用の映像の処理を交互に行い出力するとしてもよい。このような構成にすることで、メモリやグラフィックにおける機器リソースが乏しい機器（例えばＣＥ機器）では、必要とする演算量を抑えることができる利点を得る。ＰＧデコーダとＰＧプレーンについても、一組のみ備えることにより同様の効果を得ることができる。
（４）上記実施の形態では、液晶眼鏡５００は、液晶シャッタと制御部とから構成され、視聴者の左目にレフトビュー用の画像を、右目にライトビュー用の画像を供する仕組みとしたが、これに限定される必要はない。例えば、液晶ではなく偏光フィルタを用いることにより立体視を実現する眼鏡が市販されているが、そのような機構が用いられた眼鏡を用いてももちろんよい。
（５）上記実施の形態では、Ｌ画像の場合は、バックグラウンドプレーンをイメージシフト量レジスタの値だけシフトさせ、Ｒ画像の場合には、その反対の方向に同じ値だけシフトさせるとしたが、他の方法を用いてもよい。例えば、Ｌ画像の場合は、バックグラウンドプレーンをシフトさせず、Ｒ画像の場合にのみ、バックグラウンドプレーンをイメージシフト量レジスタの値だけシフトさせてもよい。また、Ｌ画像の場合にのみ、バックグラウンドプレーンをイメージシフト量レジスタの値だけシフトさせ、Ｒ画像の場合はシフトさせないとしてもよい。いずれの方法を用いても、イメージシフト量レジスタの値に比例する分だけ、Ｌ画像とＲ画像の間ではプレーンシフトによる視差が生まれることになる。
（６）上記実施の形態では、バックグラウンドプレーンを例に挙げて、プレーンシフトに起因する視聴者の違和感や不快感を軽減する方法について説明したが、本発明は、プレゼンテーショングラフィクスプレーン、インタラクティブグラフィクスプレーンに対しても適用可能である。
（７）また、ＢＤ−ＲＯＭの再生では、再生映像のスケーリング（縮小）表示を行うことができる。例えば、バックグラウンドプレーンを用いている立体視画像をスケーリングし、はめ込み画像として表示した場合であっても、プレーンシフトを伴っていればブランク領域を生じることには変わりない。その場合、はめ込み画像の両端に関しては、左目用及び右目用のはめ込み画像の一方では無画素領域で、他方では何らかの描画がなされた領域が生じることとなる。したがって、本発明をスケーリング後のはめ込み画像にも適用することができる。
【０２３４】
もちろん、スケーリング時には強制的に２Ｄ表示することにして、３Ｄ再生を停止することで不快感を軽減するとしてもよい。
（８）上記実施の形態では、プレーンメモリにおける記憶素子の内容をシフトすることで、プレーンシフトを実現したが、プレーンメモリに格納されている画素データをライン単位に合成部１０に読み出す際、以下のような改良を行ってもよい。ここで、1920×1080、1280×720といった解像度をもつ画素データの集合体のうち、一ライン、つまり、横1920画素の集まり、又は横1280画素の集まりをラインデータと呼ぶ。
【０２３５】
合成部１０は、ビデオプレーン４ｃ、バックグラウンドプレーン６ｃ、ＰＧプレーン５ｆ、ＩＧプレーン８のそれぞれから読み出されたラインデータに対し、合成を実行する。
【０２３６】
図２０は、合成部１０の構成を示す図である。本図に示すように、合成部１０は、ラインメモリ５０〜５４、α１乗算部５４、（１−α１）乗算部５５、ブレンド部５６、（１−α２）乗算部５７、スケーラ５８、α２乗算部５９、ブレンド部６０、スケーラ６１、α３乗算部６２、（１−α３）乗算部６３、ブレンド部６４から構成される。
【０２３７】
ラインメモリ５０は、ＩＧプレーン８から読み出されたラインデータを格納する。
【０２３８】
ラインメモリ５１は、ＰＧプレーン５ｆから読み出されたラインデータを格納する。
【０２３９】
ラインメモリ５２は、ビデオプレーン４ｃから読み出されたインデータを格納する。
【０２４０】
ラインメモリ５３は、バックグラウンドプレーン６ｃから読み出されたラインデータを格納する。
【０２４１】
α１乗算部５４は、ラインメモリ５１に読み出されたピクチャを構成するラインデータの揮度に、透過率α１を乗じる。
【０２４２】
（１−α１）乗算部５５は、ラインメモリ５３に読み出された背景データを構成するラインデータの揮度に、透過率（１−α１）を乗じる。
【０２４３】
ブレンド部５６は、α１乗算部５４により画素毎に透過率α１が乗じられたラインデータと、（1−α１）乗算部５５により画素毎に透過率（1-α１）が乗じられたラインデータとを合成する。
【０２４４】
（１−α２）乗算部５７は、ブレンド部５６の出力に、透過率（１−α２）を乗じる。
【０２４５】
スケーラ５８は、ラインメモリ５２に読み出されたラインデータを拡大する。
【０２４６】
α２乗算部５９は、スケーラ５８によって拡大がなされたピクチャを構成するラインデータの揮度に、透過率α２を乗じる。
【０２４７】
ブレンド部６０は、透過率α２が乗じられたラインデータと、（1−α２）乗算部５７により画素毎に透過率（1-α２）が乗じられたラインデータとをブレンドする。
【０２４８】
スケーラ６１は、ラインメモリ５０に読み出されたラインデータを拡大する。
【０２４９】
α３乗算部６２は、ラインメモリ５０に読み出され、スケーラ６１によって拡大がなされたグラフィクスを構成するラインデータの揮度に、透過率α３を乗じる。
【０２５０】
（１−α３）乗算部６３は、ブレンド部６０の出力結果であるラインデータの揮度に、透過率（１−α３）を乗じる。
【０２５１】
ブレンド部６４は、透過率α３が乗じられたラインデータと、（1−α３）乗算部６３により画素毎に透過率（1-α３）が乗じられたラインデータとをブレンドする。
【０２５２】
以上で、合成部１０の構成についての説明を終える。
【０２５３】
上記実施の形態で説明したプレーンシフトエンジン９ａは、ＩＧプレーン、及びＰＧプレーンにおける記憶素子からライン単位の画素データを読み出して、各プレーンに対応するラインメモリのそれぞれに格納するという転送処理を実現する。この転送処理にあたって、各ラインメモリにおける画素データの転送先となるアドレスを変化させることで、上記実施の形態に示したような記憶素子内の画素データの座標移動と等価の処理を実現する。プレーンシフトエンジン９ｂについても同様である。
【０２５４】
図２１は、左方向のプレーンシフトをラインデータ毎に実行する過程を示す。（ａ）は、バックグラウンドプレーンに存在するyライン目の画素データであり、（ｂ）は、ラインメモリに読み出された、yラインの画素データを示す。本図に示すように、プレーンオフセットがFピクセルであれば、yライン目の画素データのうち、(F+1,y)から(1919,0)までが、格納されることがわかる。そして、右端には、Ｆピクセル分の空きが存在することがわかる。
【０２５５】
（ｃ）は、非透明画素データの追加を示す。Fピクセル分の空きに、非透明画素データが追加されていることがわかる。この非透明画素データは、上記各実施の形態で説明したとおりであり、例えば、所定の色を表す画素データである。
【０２５６】
図２２は、右方向のプレーンシフトをラインデータ毎に実行する過程を示す。（ａ）は、バックグラウンドプレーンに存在するyライン目の画素データであり、（ｂ）は、ラインメモリに読み出された画素データを示す。本図に示すように、プレーンオフセットがFピクセルであれば、yライン目の画素データのうち、(0,y)から(1919-F,0)までが、格納されることがわかる。そして、左端には、Ｆピクセル分の空きが存在することがわかる。
【０２５７】
（ｃ）は、左端への非透明画素データの追加を示す。Fピクセル分の空きに、非透明画素データが追加されていることがわかる。
【０２５８】
以上で、プレーンシフトをラインデータ毎に実行する過程についての説明を終える。
【０２５９】
プレーンシフトをラインデータ毎に実行するプレーンシフトエンジン９ｂは、図２３のフローチャートの処理手順をＣＰＵに実行させるようなプログラムを作成して、再生装置に組込むことで実装することができる。以降、ソフトウェアによるプレーンシフトエンジン９ｂの実装について説明する。
【０２６０】
図２３は、ラインメモリへの読み出しの処理手順を示すフローチャートである。
【０２６１】
ステップＳ６０１〜ステップＳ６０５は、ステップＳ６０１において変数iに0を設定した上、ステップＳ６０２〜ステップＳ６０５の処理を繰り返すループ構造になっている。本ループの終了条件は、変数iがライン数-1になることであり、かかるステップＳ６０４においてNoと判定される限り、変数iはインクリメントされて、ステップＳ６０２〜６０５の処理を繰り返すことになる。ステップＳ６０２では、バックグラウンドプレーンにおける(X0,Yi)から(Xn-プレーンオフセット-1,Yi)までの画素データを読み出して、ラインメモリにおける(X0+プレーンオフセット)から(Xn)までに書き込む。ステップＳ６０３において、ラインメモリにおけるX0から〜までに非透明画素データを書き込む。
【０２６２】
ステップＳ６０６〜ステップＳ６１０は、ステップＳ６０６において変数iに0を設定した上、ステップＳ６０７〜ステップＳ６１０の処理を繰り返すループ構造になっている。本ループの終了条件は、ステップＳ６０９において変数iがライン数-1になることであり、かかるステップＳ６０９においてNoと判定される限り、変数iはインクリメントされて、ステップＳ６０７〜６１０の処理を繰り返すことになる。ステップＳ６０７では、バックグラウンドプレーンにおける(X0＋プレーンオフセット,Yi)から(Xn,Yi)までの画素データを読み出して、ラインメモリにおける(X0)から(Xn−プレーンオフセット-1)までに書き込む。ステップＳ６０８において、ラインメモリにおけるX0から(X0+プレーンオフセット-1)までに非透明画素データを書き込む。
【０２６３】
以上で、左方向のプレーンシフトをラインデータ毎に実行する過程についての説明を終える。
【０２６４】
以上のように、バックグラウンドプレーンにおける画素データを、ライン毎に読み出す際、ラインメモリにおいて右方向のシフト、左方向のシフトを実現するので、バックグラウンドプレーンに対するメモリアクセスの頻度を少なくすることができる。プレーンシフトエンジン９ａについても同様である。
【０２６５】
また、以下に示す技術的トピックについては、更なる改良や変更実施を加えることができる。各実施の形態に示した通り実施するか、これらの改良・変更を施すか否かは、何れも任意的であり、実施する者の主観によることは留意されたい。
＜記録装置としての実施＞
再生装置２００は、ローカルストレージ２４およびリムーバブルメディア２７を具備していて、これらへの書き込みを想定した構成になっているので、本願明細書に記載された再生装置は、記録装置としての機能を兼備しているといえる。再生装置２００が記録装置として機能する場合、以下の2つの態様によって、管理オブジェクトの書き込みを実行する。
【０２６６】
i)再生装置２００が仮想パッケージを再生する機能をもつ場合、BD-Jオブジェクトの書き込みを以下のように行う。つまり、BD-ROMが装填された際、アプリケーションからの要求に従い、前記BD-ROMに対応する追加コンテンツを、ネットワークを介して、WWWサーバから取得する。取得された追加コンテンツはGUI管理テーブルが記述されてあるBD-Jオブジェクトを含む。「GUI管理テーブル」は、動作中のアプリケーションがGUIを行う際の管理テーブルであり、GUI表示を実行するにあたっての解像度や、GUIに用いるフォントデータ、GUIに対するメニューコール、タイトルコールがユーザによってなされた場合、これらのコールをマスクするかどうかを規定するマスクフラグを含む。
【０２６７】
再生装置２００において、記録制御を行う制御部は、前記アプリケーションからの要求に従い、取得したBD-Jオブジェクトをローカルストレージに書き込む。こうすることで、BD-ROMに記録されたコンテンツと、前記ローカルストレージに記録された追加コンテンツとを組み合わせることで、前記仮想パッケージを構築することが可能になる。
【０２６８】
ここで、前記BD-ROMには、ディスクルート証明書の識別子、BD-ROMコンテンツを頒布した組織の識別子、BD-ROMの識別子が記録されており、追加コンテンツが格納されるべき領域は、ディスクルート証明書識別子と、組織識別子と、BD-ROM識別子とを含むファイルパスによって特定される。
【０２６９】
前記アプリケーションは、追加コンテンツが格納されるべき領域を特定するファイルパスを、制御部に引き渡すことで書き込みを行う。
【０２７０】
前記ローカルストレージが、ディレクトリ名、及び、ファイル名が２５５文字以下に制限されたファイルシステムを有している場合、前記ローカルストレージへの書き込みに用いられるファイルパスは、８文字以下のディレクトリ名、及び、ファイル名で、かつ拡張子名が３文字以下である８.３形式のファイルシステムにおけるファイル名と、拡張子との指定を含む。
【０２７１】
ii)再生装置２００がオンデマンドマニュファクチャサービス又は電子的セルスルーサービス(MODEST)の供給を受ける機能をもつ場合、BD-Jオブジェクトの書き込みを以下のように行う。
【０２７２】
つまり再生装置２００がオンデマンドマニュファクチャサービス又は電子的セルスルーサービスによってBD-Jオブジェクトの供給を受ける際、リムーバブルメディアにおけるルートディレクトリの配下に、デフォルトのディレクトリと、MODESTディレクトリとをクリエイトして、MODESTディレクトリの配下に、BDMVディレクトリをクリエイトする。MODESTディレクトリは、ファーストMODESTディレクトリであり、ファーストMODESTディレクトリは、前記サービスを初めて受けた際、クリエイトされるMODESTディレクトリである。ユーザが２回目以降にサービスを受ける際、再生装置２００における制御部は、２回目以降のサービスに対応するMODESTディレクトリをクリエイトする。
【０２７３】
そして、上述したように、GUI管理テーブルが記述されたBD-Jオブジェクトを取得すると、制御部は、デフォルトディレクトリにスタートアッププログラムを書き込み、MODESTディレクトリ配下のBDMVディレクトリにBD-Jオブジェクトを書き込む。このスタートアッププログラムは、記録媒体が再生装置２００に装填された際、最初に実行されるべきプログラムであり、BDMVディレクトリを選択する操作をユーザから受け付けるためのメニューを再生装置２００に表示させて、ルート変更機能を再生装置２００に実行させる。このルート変更機能は、メニューに対する選択操作がユーザによってなされた場合、選択されたBDMVディレクトリが属するMODESTディレクトリをルートディレクトリとして認識させる機能である。かかるルート変更機能によって、BD-ROMを再生するのと同じ制御手順によって取得したBD-Jオブジェクトに基づく再生制御を実行することができる。
＜Java(TM)アプリケーション＞
BD-Jアプリケーションは、例えば電子商取引(EC(Electronic Commerce))のクライアントアプリケーションであってもよいし、ネット対戦型のオンラインゲームであってもよい。更に、検索エンジンと連携して、様々なオンラインサービスを、ユーザに供給するものでもよい。
＜GUI管理テーブルを組込む単位＞
GUI管理テーブルをBD-Jオブジェクトに設けてもよい。また、GUI管理テーブルをプレイリスト情報やプレイアイテム情報に対応付けるように設けて、カレントプレイリストが特定のプレイリストになったタイミングまたはカレントプレイアイテムが、特定のプレイアイテムになった際、プレーンメモリの解放を行った上で、立体視再生のためのプレーンメモリの確保又は平面視再生のためのプレーンメモリの確保を実行してもよい。このようにすることで、メモリデバイスの領域管理がより決め細かい時間精度でなされることになる。
＜立体視のためのビデオストリーム＞
レフトビュー用、ライトビュー用のビデオストリームをBD-ROMに記録しておくというのは、一例に過ぎない。ピクチャ毎に、画素毎の奥行き値を表すビデオストリームをエンハンスドビュービデオストリームとしてBD-ROMに記録しておいて、再生に供してもよい。
＜実装すべきパッケージ＞
再生装置の実施にあたっては、以下のBD-J Extensionを再生装置に実装するのが望ましい。BD-J Extensionは、GEM[1.0.2]を越えた機能を、Java(TM)プラットフォームに与えるために特化された、様々なパッケージを含んでいる。BD-J Extensionにて供給されるパッケージには、以下のものがある。
・org.bluray.media
このパッケージは、Java(TM) Media FrameWorkに追加すべき、特殊機能を提供する。アングル、音声、字幕の選択についての制御が、このパッケージに追加される。
・org.bluray.ti
このパッケージは、GEM[1.0.2]における"サービス"を"タイトル"にマップして動作するためのAPIや、BD-ROMからタイトル情報を問い合わせる機構や新たなタイトルを選択する機構を含む。
・org.bluray.application
このパッケージは、アプリケーションの生存区間を管理するためのAPIを含む。また、アプリケーションを実行させるにあたってのシグナリングに必要な情報を問い合わせるAPIを含む。
・org.bluray.ui
このパッケージは、BD-ROMに特化されたキーイベントのための定数を定義し、映像再生との同期を実現するようなクラスを含む。
・org.bluray.vfs
このパッケージは、データの所在に拘らず、データをシームレスに再生するため、BD-ROMに記録されたコンテンツ(on-discコンテンツ)と、BD-ROMに記録されていないLocal Storage上のコンテンツ(off-discコンテンツ)とをバインドする機構(Binding Scheme)を提供する。
【０２７４】
Binding Schemeとは、BD-ROM上のコンテンツ(AVクリップ、字幕、BD-Jアプリケーション)と、Local Storage上の関連コンテンツとを関連付けるものである。このBinding Schemeは、コンテンツの所在に拘らず、シームレス再生を実現する。
＜プレーンの構成＞
プレゼンテーショングラフィクスプレーン５ｆ、インタラクティブグラフィクスプレーン８、バックグラウンドプレーン６ｃがSDRAMによって構成される場合、SDRAMに格納されている画素データを移動させるための特有の制御が必要になる。
【０２７５】
SDRAMは、時分割でアドレスピンに出力されたROWアドレスをメモリアレイに出力するROWアドレスデコーダ、時分割でアドレスピンに出力されたCOLUMNアドレスをメモリアレイに出力するCOLUMNアドレスデコーダ、メモリアレイから読み出された一ページ長のデータを保持してデータピンに出力するページデータバッファ、バースト読み出しすべきワード長をページデータバッファに指示するワード長レジスタを有する。SDRAMは、記憶素子に、コンデンサを採用しているので、自然放電が発生する。そのため、SDRAMでは、各記憶素子に対して、リフレッシュを行う必要があり、そのリフレッシュのための付加回路が必要になる。
【０２７６】
SDRAMにピクチャが格納されている場合、RAS,CAS,WE,CS,CKEの状態の組合せにてコマンドを形成し、これとアドレスの組合せによって、読み出し／書き込みを実行することでプレーンシフトを行う。例えば、バースト転送モードを利用する場合、活性化コマンドを発行すると共に、SDRAMのアドレスピンにROWアドレスを発行する。発行から一定時間のディレイを行った上でREADコマンドを発行すると共に、アドレスピンにCOLUMNアドレスを発行する。
＜プログラミング言語の適用範囲＞
上記実施形態では、仮想マシンのプログラミング言語としてJava（TM）を利用したが、Java（TM）ではなく、UNIX（TM） OSなどで使われているB-Shellや、Perl Script、ECMA Scriptなど他のプログラミング言語であっても良い。
＜マルチドライブ化＞
上記実施形態では、記録媒体の一例としてBD-ROM、BD-ROMからデータを読み出す機能を有する具体的な手段の一例としてBD-ROMドライブを例に挙げて説明をした。しかしながら、BD-ROMは単なる一例であり、記録媒体としてBD-R、BD-RE、DVD、CDなどの光ディスク媒体であっても、これらの記録媒体に上述したデータ構造を有するデータが格納されていること、これらの記録媒体を読み取るドライブ装置があれば、上述の実施の形態で説明した動作が可能である。
【０２７７】
各実施の形態における記録媒体は、光ディスク、半導体メモリカード等、パッケージメディア全般を含んでいる。上記実施の形態の記録媒体は予め必要なデータが記録された光ディスク（例えばBD-ROM、DVD-ROMなどの既存の読み取り可能な光ディスク）を例に説明をしたが、これに限定される必要はなく、例えば、放送またはネットワークを経由して配信された本発明の実施に必要なデータを含んだ３Ｄコンテンツを光ディスクへ書き込む機能を有する端末装置（例えば左記の機能は再生装置に組み込まれていても良いし、再生装置とは別の装置であってもよい）を利用して書き込み可能な光ディスク（例えばBD-RE、DVD-RAMなどの既存の書き込み可能な光ディスク）に記録し、この記録した光ディスクを本発明の再生装置に適用しても本発明の実施は可能である。
【０２７８】
また、記録媒体は光ディスク以外にも例えば、SDメモリカードなどのリムーバブルメディア（半導体メモリカード）であっても本発明の実施は可能である。
【０２７９】
BD-ROMの代わりに半導体メモリを用いた場合には、半導体メモリカード内のデータを読み出すためのインタフェース（メモリカードＩ／Ｆ）を介してトラックバッファ２、ヒープメモリ、動的シナリオメモリ１２、静的シナリオメモリ１１に、データが転送されるように構成すればよい。
【０２８０】
より詳細には、再生装置２００のスロット（図示せず）に半導体メモリカードが挿入されると、メモリカードＩ／Ｆを経由して再生装置２００と半導体メモリカードが電気的に接続される。半導体メモリカードに記録されたデータはメモリカードＩ／Ｆを介してトラックバッファ２、ヒープメモリ、動的シナリオメモリ１２、静的シナリオメモリ１１に転送されるように構成すれば良い。
【０２８１】
続いて、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カードなどの可搬性を有する半導体メモリカード）に適用した場合においても、実施が可能である。
【０２８９】
例えば、BD-ROMに記録されるデータに相応するデータを例えば電子配信を利用して半導体メモリカードに記録して、半導体メモリカードから再生をするような構成としても良い。電子配信を利用して必要なデータを配信し、配信されたデータを記録する場合においても、配信されたデータのうちの一部または全てのデータに対して必要に応じて暗号化を行なって配信し、半導体メモリに必要なデータについては暗号化がなされたままで記録するのが望ましい。
【０２９０】
電子配信を利用して、本実施の形態で説明をしたデータに相応するデータ（配信データ）を半導体メモリに記録する動作について説明をする。
【０２９１】
上述の動作は本実施の形態において説明をした再生装置がそのような動作を行なえるように構成をされていても良いし、本実施の形態の再生装置とは別に半導体メモリに配信データを記憶することを行う専用の端末装置にて行なうような形態であっても良い。ここでは再生装置が行なう例について説明をする。また記録先の半導体メモリとしてSDカードを例に説明をする。
【０２９２】
再生装置が備えるスロットに挿入されたSDメモリカードに配信データを記録する場合、まず配信データを蓄積する配信サーバ（図示せず）へ配信データの送信を要求する。このとき再生装置は挿入したSDメモリカードを一意に識別するための識別情報（例えば個々のSDメモリカード固有の識別番号、より具体的には、例えばSDメモリカードのシリアル番号等）をSDメモリカードから読み出して、読み出した識別情報を配信要求とともに、配信サーバへ送信する。
【０２９３】
この、SDメモリカードを一意に識別するための識別情報は例えば上述のボリュームIDに相当する。
【０２９４】
一方、配信サーバでは、配信するデータのうち必要なデータ（例えばビデオストリーム、オーディオストリーム等）が暗号解読に必要な鍵（例えばタイトルキー）を用いて暗号の解除ができるように暗号化がなされてサーバ上に格納されている。
【０２９５】
例えば配信サーバは、秘密鍵を保持しており、半導体メモリカードの固有の識別番号のそれぞれに対して異なる公開鍵情報が動的に生成できるように構成されている。
【０２９６】
また、配信サーバは、暗号化されたデータの解読に必要な鍵（タイトルキー）自身に対して暗号化ができるように構成されている（つまり暗号化タイトルキーを生成できるように構成されている）。
【０２９７】
生成される公開鍵情報は例えば上述のMKB、ボリュームID及び暗号化タイトルキーに相当する情報を含む。暗号化されたデータは例えば半導体メモリ固有の識別番号、後述する公開鍵情報に含まれる公開鍵本体、および再生装置に予め記録されたデバイスキーの組み合わせが正しければ、暗号解読に必要な鍵（例えばデバイスキー、MKB及び半導体メモリ固有の識別番号を元に、暗号化タイトルキーを復号して得られるタイトルキー）が得られ、この得られた暗号解読に必要な鍵（タイトルキー）を用いて、暗号化されたデータの解読ができるものである。
【０２９８】
次に、再生装置は、受信した公開鍵情報と配信データをスロットに挿入した半導体メモリカードの記録領域に記録する。
【０２９９】
次に、半導体メモリカードの記録領域に記録した公開鍵情報と配信データに含まれるデータのうち暗号化したデータを復号して再生する方法の一例について説明をする。
【０３００】
受信した公開鍵情報は例えば公開鍵本体（例えば上述のMKB及び暗号化タイトルキー）、署名情報、半導体メモリカードの固有の識別番号、および無効にすべきデバイスに関する情報を示すデバイスリストが記録されている。
【０３０１】
署名情報には例えば、公開鍵情報のハッシュ値を含む。
【０３０２】
デバイスリストには例えば、不正に再生がなされる可能性があるデバイスに関する情報が記載されている。これは例えば再生装置に予め記録されたデバイスキー、再生装置の識別番号、または再生装置が備えるデコーダの識別番号といったように、不正に再生される可能性がある装置、装置に含まれる部品、または機能（プログラム）といったものを一意に特定するための情報である。
【０３０３】
半導体メモリカードの記録領域に記録した配信データのうち、暗号化されたデータの再生に関し、説明をする。
【０３０４】
まず、公開鍵本体を利用して暗号化したデータを復号する前に復号鍵本体を機能させてよいかどうかに関するチェックを行う。
【０３０５】
具体的には、
（１）  公開鍵情報に含まれる半導体メモリ固有の識別情報と半導体メモリカードに予め記憶されている固有の識別番号とが一致するかどうかのチェック
（２）  再生装置内で算出した公開鍵情報のハッシュ値と署名情報に含まれるハッシュ値が一致するかのチェック
（３）  公開鍵情報に含まれるデバイスリストに示される情報に基づいて、再生を行う再生装置が不正な再生が可能かどうかのチェック（例えば公開鍵情報に含まれるデバイスリストに示されるデバイスキーと、再生装置に予め記憶されたデバイスキーが一致するかどうかのチェック）
を行なう。これらのチェックを行なう順番どのような順序で行なってもよい。
【０３０６】
上述の（１）〜（３）のチェックにおいて、公開鍵情報に含まれる半導体メモリ固有の識別情報と半導体メモリに予め記憶されている固有の識別番号とが一致しない、再生装置内で算出した公開鍵情報のハッシュ値と署名情報に含まれるハッシュ値が一致しない、または、再生を行う再生装置が不正に再生される可能性があると判断した、のいずれかを満足すれば、再生装置は、暗号化されたデータの解読がなされないように制御する。
【０３０７】
また、公開鍵情報に含まれる半導体メモリカードの固有の識別情報と半導体メモリカードに予め記憶されている固有の識別番号とが一致し、かつ再生装置内で算出した公開鍵情報のハッシュ値と署名情報に含まれるハッシュ値が一致し、かつ再生を行う再生装置が不正に再生される可能性がないと判断したのであれば、半導体メモリ固有の識別番号、公開鍵情報に含まれる公開鍵本体、および再生装置に予め記録されたデバイスキーの組み合わせが正しいと判断し、暗号解読に必要な鍵（デバイスキー、MKB及び半導体メモリ固有の識別番号を元に、暗号化タイトルキーを復号して得られるタイトルキー）を用いて、暗号化されたデータの解読を行なう。
【０３０８】
例えば暗号化されたデータがビデオストリーム、オーディオストリームである場合、ビデオデコーダは上述の暗号解読に必要な鍵（暗号化タイトルキーを復号して得られるタイトルキー）を利用してビデオストリームを復号し（デコードし）、オーディオデコーダは、上述の暗号解読に必要な鍵を利用してオーディオストリームを復号する（デコードする）。
【０３０９】
このように構成をすることにより、電子配信時において不正利用される可能性がある再生装置、部品、機能（プログラム）などが分っている場合、これらを識別するための情報をデバイスリストに示して、配信するようにすれば、再生装置側がデバイスリストに示されているものを含むような場合には公開鍵情報（公開鍵本体）を用いた復号を抑止できるようにできるため、半導体メモリ固有の識別番号、公開鍵情報に含まれる公開鍵本体、および再生装置に予め記録されたデバイスキーの組み合わせが、たとえ正しくても、暗号化されたデータの解読がなされないように制御できるため、不正な装置上での配信データの利用を抑止することが可能となる。
【０３１０】
また半導体メモリカードに予め記録されている半導体メモリカードの固有の識別子は秘匿性の高い記録領域に格納するような構成を採用するのが望ましい。何故ならば、半導体メモリカードに予め記録されている固有の識別番号（例えばSDメモリカードを例にすればSDメモリカードのシリアル番号等）は改竄がなされると、違法コピーが容易になされてしまう。何故ならば複数の半導体メモリカードには、それぞれ異なる固有の識別番号が割り当てられているが、この固有の識別番号が同一となるように改竄がなされてしまえば、上述の（１）の判定が意味を成さなくなり、改竄がなされた数に相当する違法コピーがなされてしまう可能性があるからである。
【０３１１】
従って、半導体メモリカードの固有の識別番号といった情報は秘匿性が高い記録領域に記録するような構成を採用するのが望ましい。
【０３１２】
このような構成を実現するために、例えば半導体メモリカードは、半導体メモリカードの固有の識別子と言った秘匿性の高いデータを記録するための記録領域を通常のデータを格納する記録領域（第１の記録領域と称す）とは別の記録領域（第２の記録領域と称す）に設けること、およびこの第２の記録領域へのアクセスをするための制御回路を設けるとともに、第２の記録領域へのアクセスには制御回路を介してのみアクセスできるような構成とする。
【０３１３】
例えば、第２の記録領域に記録されているデータは暗号化がなされて、記録されており、制御回路は、例えば暗号化されたデータを復号するための回路が組み込まれている。制御回路へ第２の記録領域へのデータのアクセスが合った場合には、暗号を復号し、復号したデータを返すように構成すれば良い。または、制御回路は第２の記録領域に記録されているデータの格納場所の情報を保持しており、データのアクセスの要求があれば、対応するデータの格納場所を特定し、特定した格納場所から読み取ったデータを返すような構成としても良い。
【０３１４】
再生装置上で動作するアプリケーションで、電子配信を利用して半導体メモリカードに記録する要求するアプリケーションは、メモリカードＩ／Ｆを介して制御回路へ第２の記録領域に記録されたデータ（例えば半導体メモリ固有の識別番号）へのアクセス要求を発行すると、要求を受けた制御回路は第２の記録領域に記録されたデータを読み出して再生装置上で動作するアプリケーションへ返す。この半導体メモリカードの固有の識別番号とともに必要なデータの配信要求を配信サーバに要求し、配信サーバから送られる公開鍵情報、および対応する配信データを第１の記録領域に記録するように構成すればよい。
【０３１５】
また、再生装置上で動作するアプリケーションで、電子配信を利用して半導体メモリカードに記録を要求するアプリケーションは、メモリカードＩ／Ｆを介して制御回路へ第２の記録領域に記録されたデータ（例えば半導体メモリ固有の識別番号）へのアクセス要求を発行する前に、アプリケーションの改竄がされていないかを事前にチェックすることが望ましい。改竄のチェックには例えば既存のＸ.５０９仕様に準拠したデジタル証明書を利用したチェックなどを利用しても良い。
【０３１６】
また、半導体メモリカードの第１の記録領域に記録された配信データへのアクセスは半導体メモリカードが有する制御回路を介してアクセスする必要は必ずしもない。
＜プログラムの実施形態＞
各実施の形態に示したアプリケーションプログラムは、以下のようにして作ることができる。先ず初めに、ソフトウェア開発者は、プログラミング言語を用いて、各フローチャートや、機能的な構成要素を実現するようなソースプログラムを記述する。この記述にあたって、ソフトウェア開発者は、プログラミング言語の構文に従い、クラス構造体や変数、配列変数、外部関数のコールを用いて、各フローチャートや、機能的な構成要素を具現するソースプログラムを記述する。
【０３１７】
記述されたソースプログラムは、ファイルとしてコンパイラに与えられる。コンパイラは、これらのソースプログラムを翻訳してオブジェクトプログラムを生成する。
【０３１８】
コンパイラによる翻訳は、構文解析、最適化、資源割付、コード生成といった過程からなる。構文解析では、ソースプログラムの字句解析、構文解析および意味解析を行い、ソースプログラムを中間プログラムに変換する。最適化では、中間プログラムに対して、基本ブロック化、制御フロー解析、データフロー解析という作業を行う。資源割付では、ターゲットとなるプロセッサの命令セットへの適合を図るため、中間プログラム中の変数をターゲットとなるプロセッサのプロセッサが有しているレジスタまたはメモリに割り付ける。コード生成では、中間プログラム内の各中間命令を、プログラムコードに変換し、オブジェクトプログラムを得る。
【０３１９】
ここで生成されたオブジェクトプログラムは、各実施の形態に示したフローチャートの各ステップや、機能的構成要素の個々の手順を、コンピュータに実行させるような1つ以上のプログラムコードから構成される。ここでプログラムコードは、プロセッサのネイティブコード、JAVAバイトコードというように、様々な種類がある。プログラムコードによる各ステップの実現には、様々な態様がある。外部関数を利用して、各ステップを実現することができる場合、この外部関数をコールするコール文が、プログラムコードになる。また、1つのステップを実現するようなプログラムコードが、別々のオブジェクトプログラムに帰属することもある。命令種が制限されているRISCプロセッサでは、算術演算命令や論理演算命令、分岐命令等を組合せることで、フローチャートの各ステップを実現してもよい。
【０３２０】
オブジェクトプログラムが生成されるとプログラマはこれらに対してリンカを起動する。リンカはこれらのオブジェクトプログラムや、関連するライブラリプログラムをメモリ空間に割り当て、これらを１つに結合して、ロードモジュールを生成する。こうして生成されるロードモジュールは、コンピュータによる読み取りを前提にしたものであり、各フローチャートに示した処理手順や機能的な構成要素の処理手順を、コンピュータに実行させるものである。かかるプログラムをコンピュータ読取可能な記録媒体に記録してユーザに提供してよい。
＜システムLSIの単体実施＞
システムLSIとは、高密度基板上にベアチップを実装し、パッケージングしたものをいう。複数個のベアチップを高密度基板上に実装し、パッケージングすることにより、あたかも1つのLSIのような外形構造を複数個のベアチップに持たせたものも、システムLSIに含まれる(このようなシステムLSIは、マルチチップモジュールと呼ばれる。)。
【０３２１】
ここでパッケージの種別に着目するとシステムLSIには、QFP(クッド フラッド アレイ)、PGA(ピン グリッド アレイ)という種別がある。QFPは、パッケージの四側面にピンが取り付けられたシステムLSIである。PGAは、底面全体に、多くのピンが取り付けられたシステムLSIである。
【０３２２】
これらのピンは、他の回路とのインタフェースとしての役割を担っている。システムLSIにおけるピンには、こうしたインタフェースの役割が存在するので、システムLSIにおけるこれらのピンに、他の回路を接続することにより、システムLSIは、再生装置２００の中核としての役割を果たす。
【０３２３】
かかるシステムLSIは、再生装置２００は勿論のこと、TVやゲーム、パソコン、ワンセグ携帯等、映像再生を扱う様々な機器に組込みが可能であり、本発明の用途を多いに広げることができる。
【０３２４】
バッファやビデオデコーダ、オーディオデコーダ、グラフィクスデコーダをも、一体のシステムLSIにする場合、システム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部分をそれぞれ独立して並行開発することができ、より効率よく開発することが可能となる。なお、それぞれのインタフェースの部分のきり方には、様々なきり方がある。例えば、ビデオデコーダ４ａ、４ｂ、オーディオデコーダ７、合成部１０を一チップ化したとき、これらを制御するミドルウェアおよびこれらと対応するミドルウェアとの間のインタフェースの部分について、チップを開発する側で開発をし、完成後、チップを再生装置に組み込むとともに、開発したミドルウェア、インタフェース部分を再生装置内のメモリなどの記憶部に組み入れることにより、再生装置側の開発とチップ側の開発を並行して行なうことができるようになり、開発効率が向上する。
【０３４０】
開発したチップと開発したチップに関連するミドルウェアとの間のインタフェース部分について、共通にすると、汎用性が高くなる。
【０３４１】
なお、システムLSIにて構成をした部分に関しては、LSIでしか構成ができないというものではなく、システムLSIに含まれるべき機能に対応する信号処理回路を用いて構成をしても良いことは言うまでもない。
＜ボリューム領域におけるエクステントの位置付け＞
所定のデータがファイルに格納されて記録媒体に記録されている場合、ファイルシステム上では、“エクステント”という態様で扱われる。記録媒体において、このエクステントのアドレスは、以下のようにして管理されている。
【０３４２】
エクステントは、ボリューム領域におけるパーティション空間において、物理的に連続する複数のセクタ上に形成される。パーティション空間は、「ファイルセット記述子が記録された領域」、「終端記述子が記録された領域」、「ROOTディレクトリ領域」、「BDMVディレクトリ領域」、「JARディレクトリ領域」、「BDJOディレクトリ領域」、「PLAYLISTディレクトリ領域」、「CLIPINFディレクトリ領域」、「STREAMディレクトリ領域」から構成され、ファイルシステムによってアクセスされる領域のことである。以降、これらの領域について説明する。
【０３４３】
「ファイルセット記述子」は、ディレクトリ領域のうち、ROOTディレクトリのファイルエントリが記録されているセクタを指し示す論理ブロック番号（LBN)を含む。「終端記述子」は、ファイルセット記述子の終端を示す。
【０３４４】
次に、ディレクトリ領域の詳細について説明する。上述したような複数のディレクトリ領域は、何れも共通の内部構成を有している。つまり、「ディレクトリ領域」は、「ファイルエントリ」と、「ディレクトリファイル」と、「下位ファイルについてのファイル記録領域」とから構成される。
【０３４５】
「ファイルエントリ」は、「記述子タグ」と、「ICBタグ」と、「アロケーション記述子」とを含む。
【０３４６】
「記述子タグ」は、自身がファイルエントリである旨を示すタグである。
【０３４７】
「ICBタグ」は、ファイルエントリ自身に関する属性情報を示す。
【０３４８】
「アロケーション記述子」は、ディレクトリファイルの記録位置を示す論理ブロック番号（LBN）を含む。以上がファイルエントリについての説明である。続いて、ディレクトリファイルの詳細について説明する。
【０３４９】
「ディレクトリファイル」は、「下位ディレクトリについてのファイル識別記述子」と、「下位ファイルのファイル識別記述子」とを含む。
【０３５０】
「下位ディレクトリのファイル識別記述子」は、自身の配下にある下位ディレクトリをアクセスするための参照情報であり、その下位ディレクトリを示す識別情報と、その下位ディレクトリのディレクトリ名の長さと、下位ディレクトリのファイルエントリがどの論理ブロック番号に記録されているかを示すファイルエントリアドレスと、その下位ディレクトリのディレクトリ名とから構成される。
【０３５１】
「下位ファイルのファイル識別記述子」は、自身の配下にある下位ファイルをアクセスするための参照情報であり、その下位ファイルを示す識別情報と、その下位ファイル名の長さと、下位ファイルについてのファイルエントリがどの論理ブロック番号に記録されているかを示すファイルエントリアドレスと、下位ファイルのファイル名とから構成される。
【０３５２】
これらのディレクトリのディレクトリファイルにおけるファイル識別記述子には、下位ディレクトリ及び下位ファイルのファイルエントリが、どの論理ブロックに記録されているかが示されているので、このファイル識別記述子を辿ってゆけば、ROOTディレクトリのファイルエントリからBDMVディレクトリのファイルエントリに到達することができ、また、BDMVディレクトリのファイルエントリからPLAYLISTディレクトリのファイルエントリに到達することができる。同様に、JARディレクトリ、BDJOディレクトリ、CLIPINFディレクトリ、STREAMディレクトリのファイルエントリにも到達することができる。
【０３５３】
「下位ファイルのファイル記録領域」とは、あるディレクトリの配下にある下位ファイルの実体が記録されている領域であり、当該下位ファイルについての「ファイルエントリ」と、1つ以上の「エクステント」とが記録されている。
【０３５４】
「ファイルエントリ」は、「記述子タグ」と、「ICBタグ」と、「アロケーション記述子」とを含む。
【０３５５】
「記述子タグ」は、自身がファイルエントリである旨を示すタグである。タグには、ファイルエントリ記述子、スペースビットマップ記述子などの種別があるが、ファイルエントリの場合には、記述子タグとしてファイルエントリを示す“261”が記述される。
【０３５６】
「ICBタグ」は、ファイルエントリ自身に関する属性情報を示す。
【０３５７】
「アロケーション記述子」は、あるディレクトリの配下にある下位ファイルを構成するエクステントの記録位置を示す論理ブロック番号（LBN）を含む。アロケーション記述子は、エクステント長を示すデータと、エクステントの記録位置を示す論理ブロック番号とを含む。ただしエクステント長を示すデータの上位２ビットは、“０”に設定されることで、割り付け済みかつ記録済みエクステントである旨を示し、“１”に設定されることで、割り付け済みかつ未記録エクステントである旨を示す。“０”に設定されることで、アロケーション識別子の続きのエクステントであることを示す。あるディレクトリの配下にある下位ファイルが複数のエクステントに分割されている場合には、ファイルエントリはエストテント毎に複数のアロケーション記述子を有することになる。
【０３５８】
上述したようなファイルエントリのアロケーション識別子を参照することで、プレイリスト情報ファイル、クリップ情報ファイル、AVクリップファイル、BD-Jオブジェクトファイル、JARアーカイブファイルを構成するエクステントのアドレスを知得することができる。
【０３５９】
本願の主眼となるストリーム、データ、フラグを格納したファイルは、そのファイルが帰属するディレクトリのディレクトリ領域内に存在するファイル記録領域のことであり、ディレクトリファイルにおけるファイル識別記述子、及び、ファイルエントリにおけるアロケーション識別子を辿ってゆくことで、アクセスすることができる。
＜ファイルオープン＞
記録媒体上のファイルを、装置内に読み込む際の処理について説明する。
【０３６０】
上述したようなAVストリーム、Index.bdmv、JARファイル、BD-Jオブジェクトは、ファイル構造、ディレクトリ構造に従ってBD-ROMに記録されているので、再生装置は、ファイルオープンのためのシステムコールを行うことで、これらをメモリに読み出すことができる。
【０３６１】
ファイルオープンとは、システムコール時に与えられたファイル名によってディレクトリを検索し、ファイルが存在すればFCB(File Control Block)を確保して、ファイルハンドルの番号を返す処理をいう。FCBは、目的のファイルのディレクトリエントリーの内容がメモリ上にコピーされることにより生成される。
＜リアルタイムレコーディングへの適用＞
AVクリップ、プレイリスト情報は、オーサリングシステムにおけるプリレコーディング技術にて、BD-ROMに記録され、ユーザに供給されることを前提としたが、リアルタイムレコーディングにてBD-RE又はBD-R、ハードディスク、半導体メモリカードに記録され、ユーザに供給されるものであってもよい。
【０３６２】
この場合AVクリップは、アナログ入力信号を記録装置がリアルタイムエンコードすることにより得られたトランスポートストリームであってもよいし、記録装置がデジタル入力したトランスポートストリームをパーシャル化することで得られるトランスポートストリームであってもよい。
【０３６３】
リアルタイムレコーディングを実行する記録装置は、ビデオ信号をエンコードしてビデオストリームを得るビデオエンコーダと、オーディオ信号をエンコードしてオーディオストリームを得るオーディオエンコーダと、ビデオストリーム、オーディオストリーム等を多重化して、MPEG2-TS形式のデジタルストリームを得るマルチプレクサと、MPEG2-TS形式のデジタルストリームを構成するTSパケットをソースパケットに変換するソースパケッタイザとを備え、ソースパケット形式に変換されたMPEG2デジタルストリームをAVクリップファイルに格納してBD-RE,BD-R等に書き込む。
【０３６４】
デジタルストリームの書き込みと共に、記録装置の制御部は、メモリ上でクリップ情報やプレイリスト情報を生成する処理を行う。具体的には、ユーザによって録画処理が要求された際、制御部は、AVクリップファイル及びクリップ情報ファイルをBD-RE,BD-R上にクリエイトする。
【０３６５】
そして、装置外部から入力されるトランスポートストリームからビデオストリームにおけるGOPの先頭位置が検出されるか、エンコーダによってビデオストリームのGOPが生成されれば、記録装置の制御部は、このGOPにおいて、先頭に位置するイントラピクチャのPTSと、このGOPの先頭部分を格納したソースパケットのパケット番号とを取得して、このPTS及びパケット番号の組みを、EP#PTSエントリー及びEP#SPNエントリーの組みとして、クリップ情報ファイルのエントリーマップに追記する。以降、GOPが生成される度に、EP#PTSエントリー及びEP#SPNエントリーの組みを、クリップ情報ファイルのエントリーマップに追記してゆく。この際、GOPの先頭がIDRピクチャである場合は、“オン”に設定されたis#angle#changeフラグをEP#PTSエントリー及びEP#SPNエントリーの組みに追加する。GOPの先頭がIDRピクチャでなければ場合は、“オフ”に設定されたis#angle#changeフラグをEP#PTSエントリー及びEP#SPNエントリーの組みに追加する。
【０３６６】
また、クリップ情報ファイルにおけるストリームの属性情報については、記録されるべきストリームの属性に従い設定する。以上のようにしてAVクリップ、クリップ情報が生成されてBD-RE,BD-Rに書き込まれれば、このクリップ情報内のエントリーマップを介して、再生経路を定義するプレイリスト情報を生成し、BD-RE,BD-Rに書き込む。このような処理を、リアルタイムレコーディング技術において実行することで、AVクリップ−クリップ情報−プレイリスト情報という階層構造をBD-RE,BD-R上に得ることができる。
＜マネージドコピーを実現する記録装置としての実施＞
各実施の形態で説明した再生装置は、マネージドコピーによってデジタルストリームの書き込む機能を有していてもよい。
【０３６７】
マネージドコピーとは、BD-ROM等の読み出し専用記録媒体に記録されているデジタルストリームやプレイリスト情報、クリップ情報、アプリケーションプログラムを、別の光ディスク（BD-R，BD-RE，DVD-R，DVD-RW，DVD-RAM等）やハードディスク、リムーバブルメディア（SDメモリカード、メモリスティック、コンパクトフラッシュ、スマートメディア、マルチメディアカード等）などの読み書き可能な記録媒体へコピーする際、サーバと通信を行い、認証が行われ許可された状態においてのみコピー実行可能にする技術である。この技術により、バックアップ回数を制限したり、課金された状態でのみバックアップを許したりする等の制御を行うことができる。
【０３６８】
BD-ROMからBD-R,BD-REへのコピーを実現する場合、コピー元と、コピー先とで記録容量が同じであるなら、マネージドコピーにおいては、コピー元となるBD-ROMにおけるビットストリームを最内周から最外周まで、順次コピーしてゆくという動作で足りる。
【０３６９】
マネージドコピーが、異種媒体間のコピーを想定したものであるなら、トランスコードが必要になる。ここで“トランスコード”とは、BD-ROMに記録されているデジタルストリームの形式をMPEG2トランスポートストリーム形式からMPEG2プログラムストリーム形式等に変換したり、ビデオストリーム及びオーディオストリームに割り当てられているビットレートを低くして再エンコードすることにより、デジタルストリームを、コピー先メディアのアプリケーションフォーマットに適合させたりする処理をいう。かかるトランスコードにあたっては、上述したリアルタイムレコーディング技術の処理を行うことで、AVClip、Clip情報、プレイリスト情報を得る必要がある。
＜オンデマンドマニュファクチャサービス又は電子的セルスルーサービス(MODEST)で使用される記録装置＞
再生装置２００がオンデマンドマニュファクチャサービス又は電子的セルスルーサービス(MODEST)の供給を受ける機能をもつ場合、BD-Jオブジェクトの書き込みを以下のように行う。つまり再生装置２００がオンデマンドマニュファクチャサービス又は電子的セルスルーサービスによってBD-Jオブジェクトの供給を受ける際、リムーバブルメディアにおけるルートディレクトリの配下に、デフォルトのディレクトリと、MODESTディレクトリとをクリエイトして、MODESTディレクトリの配下に、BDMVディレクトリをクリエイトする。MODESTディレクトリは、ファーストMODESTディレクトリであり、ファーストMODESTディレクトリは、前記サービスを初めて受けた際、クリエイトされるMODESTディレクトリである。ユーザが２回目以降にサービスを受ける際、再生装置２００における制御部は、２回目以降のサービスに対応するMODESTディレクトリをクリエイトする。
【０３７０】
そして、上述したように、GUI管理テーブルが記述されたBD-Jオブジェクトを取得すると、制御部は、デフォルトディレクトリにスタートアッププログラムを書き込み、MODESTディレクトリ配下のBDMVディレクトリにBD-Jオブジェクトを書き込む。このスタートアッププログラムは、記録媒体が再生装置２００に装填された際、最初に実行されるべきプログラムであり、BDMVディレクトリを選択する操作をユーザから受け付けるためのメニューを再生装置２００に表示させて、ルート変更機能を再生装置２００に実行させる。このルート変更機能は、メニューに対する選択操作がユーザによってなされた場合、選択されたBDMVディレクトリが属するMODESTディレクトリをルートディレクトリとして認識させる機能である。かかるルート変更機能によって、BD-ROMを再生するのと同じ制御手順によって取得したBD-Jオブジェクトに基づく再生制御を実行することができる。
＜データ構造の記述の仕方＞
各実施の形態に示したデータ構造のうち、ある決まった型の情報が複数存在するという繰り返し構造は、for文に、制御変数の初期値と、繰り返し条件とを設定することで定義することができる。
【０３７１】
また、所定の条件が成立する際、ある決まった情報を定義するという任意的なデータ構造は、if文に、その成立すべき条件と、条件成立時に設定すべき変数とを、if文を用いて記述することができる。このように、各実施の形態に示したデータ構造は、高級プログラミング言語の文法によって記述することができるので、各実施の形態に示したデータ構造は、構文解析、最適化、資源割付、コード生成といった、コンパイラによる翻訳過程を経て、上記プログラムと同様、コンピュータが読み取り可能なコンピュータコードに変換された状態で記録媒体に記録される。こうして、高級プログラミング言語によって記述されたデータ構造は、オブジェクト指向言語においては、クラス構造体のメソッド以外の部分、つまり、クラス構造体における配列型のメンバー変数として扱われ、プログラムの一部をなす。つまり、各実施形態のデータ構造は、コンピュータコードに変換されて記録媒体に記録され、プログラムのメンバー変数となるため、実質的にはプログラムと同じものであり、コンピュータ関連発明として保護を受けるものである。
＜プログラムにおけるプレイリスト情報、クリップ情報の位置付け＞
プレイリスト情報に基づきAV再生を行う実行形式のプログラムは、記録媒体からメモリにロードされ、コンピュータによる実行に供された際、メモリ上において、textセクション、dataセクション、bssセクション、stackセクションといった複数のセクションから構成されることになる。
【０３７２】
textセクションは、プログラムコード列や、初期値、書き換えられることがないデータから構成される。
【０３７３】
dataセクションは、初期値をもち、実行中に書き換えられる可能性があるデータが配置される。記録媒体において、ファイルに格納され、随時アクセスされるようなデータは、このdataセクションに格納される。
【０３７４】
bssセクションは、初期値をもたないデータが配置される。textセクションは、bssセクションのデータをアドレス指定でアクセスするため、コンパイル、リンク時に決定したRAMに、bssセクションのための領域を確保せねばならない。
【０３７５】
stackセクションは、必要に応じて一時的にプログラムに与えられる領域であり、各フローチャートの処理を実現するにあたって、一時的に使用されるようなローカル変数は、ここに格納される。
【０３７６】
bssセクションは、プログラムの初期化時に、初期値が設定され、stackセクションは、プログラムの初期化時に、必要領域が確保される。
【０３７７】
プレイリスト情報及びクリップ情報は、上述したようにコンピュータコードに変換されて記録媒体に記録されているため、プログラムの実行時において、上述したtextセクションにおける“書き換えられることのないデータ”、又は、上述したdataセクションにおける“ファイルに格納され、随時アクセスされるようなデータ”として管理されることになる。各実施形態に示したプレイリスト情報、クリップ情報は、プログラムの実行時において、プログラムの構成要素となるべきものであり、プレイリスト情報、クリップ情報は、単なるデータの提示に該当しない。
【産業上の利用可能性】
【０３７８】
本発明は、映像コンテンツを立体視再生する再生装置に適用可能であり、特に、プレーンシフトにより立体視を行う再生装置に有効である。
【符号の説明】
【０３７９】
１００  BD-ROM
２００  再生装置
３００  リモコン
４００  テレビ
５００  液晶眼鏡
１      BD-ROMドライブ
２      トラックバッファ
３      デマルチプレクサ
４ａ，４ｂ  ビデオデコーダ
４ｃ    ビデオプレーン
５ａ，５ｂ  プレゼンテーショングラフィクス（ＰＧ）デコーダ
５ｃ，５ｄ  プレゼンテーショングラフィクス（ＰＧ）メモリ
５ｆ    プレゼンテーショングラフィクス（ＰＧ）プレーン
６ａ    静止画メモリ
６ｂ    静止画デコーダ
６ｃ    バックグラウンドプレーン
７      オーディオデコーダ
８      インタラクティブグラフィクス（ＩＧ）プレーン
９ａ，９ｂ  プレーンシフトエンジン
１０    合成部
１１    静的シナリオメモリ
１２    動的シナリオメモリ
１３    制御部
１４    ＨＤＭＶモジュール
１５    ＢＤ−Ｊモジュール
１６    モード管理モジュール
１７    ディスパッチャ
１８    ＡＶ再生ライブラリ
１９    アプリデータ関連付けモジュール
２１    ＵＯ探知モジュール
２２ａ，２２ｂ  レンダリングエンジン
２３    ネットワークインタフェース
２４    ローカルストレージ
２５    仮想ファイルシステム
２７    リムーバブルメディア
２８    イメージシフト量レジスタ
２９    次元判定部
３０    次元モード記憶部
３１    左右処理記憶部
３２    HDMI送受信部
【図１】
2010032403.tif 000003
【図２】
2010032403.tif 000004
【図３】
2010032403.tif 000005
【図４】
2010032403.tif 000006
【図５】
2010032403.tif 000007
【図６】
2010032403.tif 000008
【図７】
2010032403.tif 000009
【図８】
2010032403.tif 000010
【図９】
2010032403.tif 000011
【図１０】
2010032403.tif 000012
【図１１】
2010032403.tif 000013
【図１２】
2010032403.tif 000014
【図１３】
2010032403.tif 000015
【図１４】
2010032403.tif 000016
【図１５】
2010032403.tif 000017
【図１６】
2010032403.tif 000018
【図１７】
2010032403.tif 000019
【図１８】
2010032403.tif 000020
【図１９】
2010032403.tif 000021
【図２０】
2010032403.tif 000022
【図２１】
2010032403.tif 000023
【図２２】
2010032403.tif 000024
【図２３】
2010032403.tif 000025
【図２４】
2010032403.tif 000026
【図２５】
2010032403.tif 000027
【手続補正書】
【提出日】平成22年3月1日(2010.3.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
（削除）
【請求項２】
（削除）
【請求項３】
（削除）
【請求項４】
（削除）
【請求項５】
（削除）
【請求項６】
（削除）
【請求項７】
（削除）
【請求項８】
（削除）
【請求項９】
（削除）
【請求項１０】
（削除）
【請求項１１】
（削除）
【請求項１２】
（削除）
【請求項１３】
（削除）
【請求項１４】
（削除）
【請求項１５】
（削除）
【請求項１６】
レフトビュー再生およびライトビュー再生を交互に実行することで立体視再生を行う再生装置であって、
所定の縦画素数×横画素数の画素データから構成されるイメージデータを格納するプレーンメモリと、
レフトビュー再生期間において、プレーンメモリに対する左目用シフト処理を行い、左方向及び右方向のうち何れか一方向に移動された左目用のイメージを得、ライトビュー再生期間において、プレーンメモリに対する右目用シフト処理を行い、前記一方向とは反対方向に移動された右目用のイメージを得るシフトエンジンと、
左目用及び右目用のイメージのそれぞれにおいて、そのイメージの移動方向とは反対方向の端部の矩形領域に、非透明色の代替画素データより生成される代替イメージを描画するレンダリング処理を行うレンダリングエンジンとを備え、
前記各矩形領域は、横方向の画素数が移動量に相当する画素数であり、縦方向の画素数が前記所定の縦画素数である領域であり、
前記代替イメージは、前記イメージデータを構成する画素データの一部より生成されるイメージであり、
前記再生装置は、記録媒体を再生するものであり、
前記イメージデータを構成する画素データの一部は、前記記録媒体から読み出したアプリケーションにより指定された矩形領域の画素データである
再生装置。
【請求項１７】
前記アプリケーションにより指定された矩形領域の画素データは、前記イメージデータを構成する画素データのうち右方向及び左方向の一方の端部にあたる矩形領域の画素データである
請求項１６記載の再生装置。
【請求項１８】
前記アプリケーションにより指定された矩形領域の画素データは、前記各矩形領域の何れかに隣接した矩形領域の画素データである
請求項１６記載の再生装置。
【請求項１９】
ビデオフレームを保持するビデオプレーンと、
グラフィクスデータを格納するグラフィクスプレーンと、
プレーンメモリ、ビデオプレーン、グラフィクスプレーンの順で、各プレーンに格納されたデータを合成する合成部と
をさらに備える請求項１６記載の再生装置。
【請求項２０】
レフトビュー再生およびライトビュー再生を交互に実行することで立体視再生を行う再生装置であって、
所定の縦画素数×横画素数の画素データから構成されるイメージデータを格納するプレーンメモリと、
レフトビュー再生期間において、プレーンメモリに対する左目用シフト処理を行い、左方向及び右方向のうち何れか一方向に移動された左目用のイメージを得、ライトビュー再生期間において、プレーンメモリに対する右目用シフト処理を行い、前記一方向とは反対方向に移動された右目用のイメージを得るシフトエンジンと、
左目用及び右目用のイメージのそれぞれにおいて、そのイメージの移動方向とは反対方向の端部の矩形領域に、非透明色の代替画素データより生成される代替イメージを描画するレンダリング処理を行うレンダリングエンジンと、
ユーザ操作に基づいて、前記レンダリング処理で用いられる色を示す色情報を受け付けるユーザ入力受付手段とを備え、
前記各矩形領域は、横方向の画素数が移動量に相当する画素数であり、縦方向の画素数が前記所定の縦画素数である領域であり、
前記代替イメージは、前記ユーザ入力受付手段が受け付けた前記色情報により示される色に対応する画素データより生成されるイメージである
再生装置。
【請求項２１】
ビデオフレームを保持するビデオプレーンと、
グラフィクスデータを格納するグラフィクスプレーンと、
プレーンメモリ、ビデオプレーン、グラフィクスプレーンの順で、各プレーンに格納されたデータを合成する合成部と
をさらに備える請求項２０記載の再生装置。
【請求項２２】
レフトビュー再生およびライトビュー再生を交互に実行することで立体視再生を行う再生装置であって、
所定の縦画素数×横画素数の画素データから構成されるイメージデータを格納するプレーンメモリと、
レフトビュー再生期間において、プレーンメモリに対する左目用シフト処理を行い、左方向及び右方向のうち何れか一方向に移動された左目用のイメージを得、ライトビュー再生期間において、プレーンメモリに対する右目用シフト処理を行い、前記一方向とは反対方向に移動された右目用のイメージを得るシフトエンジンと、
左目用及び右目用のイメージのそれぞれにおいて、そのイメージの移動方向とは反対方向の端部の矩形領域に、非透明色の代替画素データより生成される代替イメージを描画するレンダリング処理を行うレンダリングエンジンとを備え、
前記各矩形領域は、横方向の画素数が移動量に相当する画素数であり、縦方向の画素数が前記所定の縦画素数である領域であり、
前記再生装置は、記録媒体を再生するものであり、
前記代替イメージは、前記記録媒体から読み出したアプリケーションにより指定された色に対応する画素データより生成されるイメージである
再生装置。
【請求項２３】
ビデオフレームを保持するビデオプレーンと、
グラフィクスデータを格納するグラフィクスプレーンと、
プレーンメモリ、ビデオプレーン、グラフィクスプレーンの順で、各プレーンに格納されたデータを合成する合成部と
をさらに備える請求項２２記載の再生装置。
【請求項２４】
レフトビュー再生およびライトビュー再生を交互に実行することで立体視再生を行う再生装置であって、
所定の縦画素数×横画素数の画素データから構成されるイメージデータを格納するプレーンメモリと、
レフトビュー再生期間において、プレーンメモリに対する左目用シフト処理を行い、左方向及び右方向のうち何れか一方向に移動された左目用のイメージを得、ライトビュー再生期間において、プレーンメモリに対する右目用シフト処理を行い、前記一方向とは反対方向に移動された右目用のイメージを得るシフトエンジンと、
左目用及び右目用のイメージのそれぞれにおいて、そのイメージの移動方向とは反対方向の端部の矩形領域に、非透明色の代替画素データより生成される代替イメージを描画するレンダリング処理を行うレンダリングエンジンと、
所定の縦画素数×横画素数の画素データから構成される複数の補足イメージデータを予め記憶している記憶手段とを備え、
前記各矩形領域は、横方向の画素数が移動量に相当する画素数であり、縦方向の画素数が前記所定の縦画素数である領域であり、
前記再生装置は、記録媒体を再生するものであり、
前記代替イメージは、前記記録媒体から読み出したアプリケーションにより指定された前記補足イメージデータより生成されるイメージである
再生装置。
【請求項２５】
ビデオフレームを保持するビデオプレーンと、
グラフィクスデータを格納するグラフィクスプレーンと、
プレーンメモリ、ビデオプレーン、グラフィクスプレーンの順で、各プレーンに格納されたデータを合成する合成部と
をさらに備える請求項２４記載の再生装置。
【請求項２６】
レフトビュー再生およびライトビュー再生を交互に実行することで立体視再生を行う再生装置に用いられる再生方法であって、
再生装置におけるプレーンメモリには、所定の縦画素数×横画素数の画素データから構成されるイメージデータが格納されており、
レフトビュー再生期間において、プレーンメモリに対する左目用シフト処理を行い、左方向及び右方向のうち何れか一方向に移動された左目用のイメージを得、ライトビュー再生期間において、プレーンメモリに対する右目用シフト処理を行い、前記一方向とは反対方向に移動された右目用のイメージを得るシフトステップと、
左目用及び右目用のイメージのそれぞれにおいて、そのイメージの移動方向とは反対方向の端部の矩形領域に、非透明色の代替画素データより生成される代替イメージを描画するレンダリング処理を行うレンダリングステップとを有し、
前記各矩形領域は、横方向の画素数が移動量に相当する画素数であり、縦方向の画素数が前記所定の縦画素数である領域であり、
前記代替イメージは、前記イメージデータを構成する画素データの一部より生成されるイメージであり、
前記再生装置は、記録媒体を再生するものであり、
前記イメージデータを構成する画素データの一部は、前記再生装置が前記記録媒体から読み出したアプリケーションにより指定された矩形領域の画素データである
再生方法。
【請求項２７】
レフトビュー再生およびライトビュー再生を交互に実行することで立体視再生を行う再生装置に用いられる再生方法であって、
再生装置におけるプレーンメモリには、所定の縦画素数×横画素数の画素データから構成されるイメージデータが格納されており、
レフトビュー再生期間において、プレーンメモリに対する左目用シフト処理を行い、左方向及び右方向のうち何れか一方向に移動された左目用のイメージを得、ライトビュー再生期間において、プレーンメモリに対する右目用シフト処理を行い、前記一方向とは反対方向に移動された右目用のイメージを得るシフトステップと、
左目用及び右目用のイメージのそれぞれにおいて、そのイメージの移動方向とは反対方向の端部の矩形領域に、非透明色の代替画素データより生成される代替イメージを描画するレンダリング処理を行うレンダリングステップと、
ユーザ操作に基づいて、前記レンダリング処理で用いられる色を示す色情報を受け付けるユーザ入力受付ステップとを有し、
前記各矩形領域は、横方向の画素数が移動量に相当する画素数であり、縦方向の画素数が前記所定の縦画素数である領域であり、
前記代替イメージは、前記ユーザ入力受付ステップが受け付けた前記色情報により示される色に対応する画素データより生成されるイメージである
再生方法。
【請求項２８】
レフトビュー再生およびライトビュー再生を交互に実行することで立体視再生を行う再生装置に用いられる再生方法であって、
再生装置におけるプレーンメモリには、所定の縦画素数×横画素数の画素データから構成されるイメージデータが格納されており、
レフトビュー再生期間において、プレーンメモリに対する左目用シフト処理を行い、左方向及び右方向のうち何れか一方向に移動された左目用のイメージを得、ライトビュー再生期間において、プレーンメモリに対する右目用シフト処理を行い、前記一方向とは反対方向に移動された右目用のイメージを得るシフトステップと、
左目用及び右目用のイメージのそれぞれにおいて、そのイメージの移動方向とは反対方向の端部の矩形領域に、非透明色の代替画素データより生成される代替イメージを描画するレンダリング処理を行うレンダリングステップとを有し、
前記各矩形領域は、横方向の画素数が移動量に相当する画素数であり、縦方向の画素数が前記所定の縦画素数である領域であり、
前記再生装置は、記録媒体を再生するものであり、
前記代替イメージは、前記再生装置が前記記録媒体から読み出したアプリケーションにより指定された色に対応する画素データより生成されるイメージである
再生方法。
【請求項２９】
レフトビュー再生およびライトビュー再生を交互に実行することで立体視再生を行う再生装置に用いられる再生方法であって、
再生装置におけるプレーンメモリには、所定の縦画素数×横画素数の画素データから構成されるイメージデータが格納されており、
レフトビュー再生期間において、プレーンメモリに対する左目用シフト処理を行い、左方向及び右方向のうち何れか一方向に移動された左目用のイメージを得、ライトビュー再生期間において、プレーンメモリに対する右目用シフト処理を行い、前記一方向とは反対方向に移動された右目用のイメージを得るシフトステップと、
左目用及び右目用のイメージのそれぞれにおいて、そのイメージの移動方向とは反対方向の端部の矩形領域に、非透明色の代替画素データより生成される代替イメージを描画するレンダリング処理を行うレンダリングステップとを有し、
前記各矩形領域は、横方向の画素数が移動量に相当する画素数であり、縦方向の画素数が前記所定の縦画素数である領域であり、
前記再生装置は、記録媒体を再生するものであり、所定の縦画素数×横画素数の画素データから構成される複数の補足イメージデータを予め記憶しており、
前記代替イメージは、前記再生装置が前記記録媒体から読み出したアプリケーションにより指定された前記補足イメージデータより生成されるイメージである
再生方法。
【請求項３０】
レフトビュー再生およびライトビュー再生を交互に実行することで立体視再生を行う再生処理をコンピュータに実行させるための処理手順を示した再生プログラムであって、
コンピュータにおけるプレーンメモリには、所定の縦画素数×横画素数の画素データから構成されるイメージデータが格納されており、
前記処理手順は、
レフトビュー再生期間において、プレーンメモリに対する左目用シフト処理を行い、左方向及び右方向のうち何れか一方向に移動された左目用のイメージを得、ライトビュー再生期間において、プレーンメモリに対する右目用シフト処理を行い、前記一方向とは反対方向に移動された右目用のイメージを得るシフト手順と、
左目用及び右目用のイメージのそれぞれにおいて、そのイメージの移動方向とは反対方向の端部の矩形領域に、非透明色の代替画素データより生成される代替イメージを描画するレンダリング処理を行うレンダリング手順とを有し、
前記各矩形領域は、横方向の画素数が移動量に相当する画素数であり、縦方向の画素数が前記所定の縦画素数である領域であり、
前記代替イメージは、前記イメージデータを構成する画素データの一部より生成されるイメージであり、
前記コンピュータは、記録媒体を再生するものであり、
前記イメージデータを構成する画素データの一部は、前記コンピュータが前記記録媒体から読み出したアプリケーションにより指定された矩形領域の画素データである
再生プログラム。
【請求項３１】
レフトビュー再生およびライトビュー再生を交互に実行することで立体視再生を行う再生処理をコンピュータに実行させるための処理手順を示した再生プログラムであって、
コンピュータにおけるプレーンメモリには、所定の縦画素数×横画素数の画素データから構成されるイメージデータが格納されており、
前記処理手順は、
レフトビュー再生期間において、プレーンメモリに対する左目用シフト処理を行い、左方向及び右方向のうち何れか一方向に移動された左目用のイメージを得、ライトビュー再生期間において、プレーンメモリに対する右目用シフト処理を行い、前記一方向とは反対方向に移動された右目用のイメージを得るシフト手順と、
左目用及び右目用のイメージのそれぞれにおいて、そのイメージの移動方向とは反対方向の端部の矩形領域に、非透明色の代替画素データより生成される代替イメージを描画するレンダリング処理を行うレンダリング手順と、
ユーザ操作に基づいて、前記レンダリング処理で用いられる色を示す色情報を受け付けるユーザ入力受付手順とを有し、
前記各矩形領域は、横方向の画素数が移動量に相当する画素数であり、縦方向の画素数が前記所定の縦画素数である領域であり、
前記代替イメージは、前記ユーザ入力受付手順が受け付けた前記色情報により示される色に対応する画素データより生成されるイメージである
再生プログラム。
【請求項３２】
レフトビュー再生およびライトビュー再生を交互に実行することで立体視再生を行う再生処理をコンピュータに実行させるための処理手順を示した再生プログラムであって、
コンピュータにおけるプレーンメモリには、所定の縦画素数×横画素数の画素データから構成されるイメージデータが格納されており、
前記処理手順は、
レフトビュー再生期間において、プレーンメモリに対する左目用シフト処理を行い、左方向及び右方向のうち何れか一方向に移動された左目用のイメージを得、ライトビュー再生期間において、プレーンメモリに対する右目用シフト処理を行い、前記一方向とは反対方向に移動された右目用のイメージを得るシフト手順と、
左目用及び右目用のイメージのそれぞれにおいて、そのイメージの移動方向とは反対方向の端部の矩形領域に、非透明色の代替画素データより生成される代替イメージを描画するレンダリング処理を行うレンダリング手順とを有し、
前記各矩形領域は、横方向の画素数が移動量に相当する画素数であり、縦方向の画素数が前記所定の縦画素数である領域であり、
前記コンピュータは、記録媒体を再生するものであり、
前記代替イメージは、前記コンピュータが前記記録媒体から読み出したアプリケーションにより指定された色に対応する画素データより生成されるイメージである
再生プログラム。
【請求項３３】
レフトビュー再生およびライトビュー再生を交互に実行することで立体視再生を行う再生処理をコンピュータに実行させるための処理手順を示した再生プログラムであって、
コンピュータにおけるプレーンメモリには、所定の縦画素数×横画素数の画素データから構成されるイメージデータが格納されており、
前記処理手順は、
レフトビュー再生期間において、プレーンメモリに対する左目用シフト処理を行い、左方向及び右方向のうち何れか一方向に移動された左目用のイメージを得、ライトビュー再生期間において、プレーンメモリに対する右目用シフト処理を行い、前記一方向とは反対方向に移動された右目用のイメージを得るシフト手順と、
左目用及び右目用のイメージのそれぞれにおいて、そのイメージの移動方向とは反対方向の端部の矩形領域に、非透明色の代替画素データより生成される代替イメージを描画するレンダリング処理を行うレンダリング手順とを有し、
前記各矩形領域は、横方向の画素数が移動量に相当する画素数であり、縦方向の画素数が前記所定の縦画素数である領域であり、
前記コンピュータは、記録媒体を再生するものであり、所定の縦画素数×横画素数の画素データから構成される複数の補足イメージデータを予め記憶しており、
前記代替イメージは、前記コンピュータが前記記録媒体から読み出したアプリケーションにより指定された前記補足イメージデータより生成されるイメージである
再生プログラム。
【手続補正書】
【提出日】平成23年3月8日(2011.3.8)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像コンテンツ、特に背景（スチル）画像を立体視再生する技術に関する。
【背景技術】
【０００２】
近年、次世代光ディスク規格であるＢｌｕ−ｒａｙ  Ｄｉｓｃ（以下、「ＢＤ」という）の普及が加速している。BD-ROM規格に準拠した再生装置では、当該再生装置に接続されたディスプレイなどの表示装置に、高画質なビデオストリームに字幕やグラフィクスを重ね合わせて出力することで、高い臨場感を持つ映像を楽しむことができる（例えば特許文献１参照）。
【０００３】
一方、表示装置の技術動向として、フラットな映像だけではなく、飛び出るような映像を楽しむことができる立体視ディスプレイが普及し始めている。立体視ディスプレイにはさまざまな方式があるが、基本的な原理としてレフトビューとライトビューとで左右の目に異なる絵を見せる仕組みを導入し、両目間の視差を利用することにより、立体的な映像を擬似的に作る。
【０００４】
通常のフラットな映像と同等のフレームレートで立体化された映像を視聴者に見せようとすると、ディスプレイ側には、通常の２倍の応答性能が必要であり、例えば一秒６０コマのビデオを表示するためには、最低でも１秒１２０コマの切り替えをしなければならない。
【０００５】
したがって、表示されるビデオストリームは、１秒１２０コマの状態でエンコードされなければならないが、フレームレートを上げる以外の方法で立体効果を得るために、非特許文献１のようにサイドバイサイド方式を利用するという方法もある。
【０００６】
いずれの表示方法も、ビデオストリーム、字幕、及びグラフィクスのそれぞれについて、レフトビュー用およびライトビュー用を用意することが、立体視効果を得るための前提となる。また、背景（スチル）画像についても、立体視効果を得るためには、レフトビュー用およびライトビュー用を用意することが必要になる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】ＷＯ２００５−１１９６７５号公報
【非特許文献】
【０００８】
【非特許文献１】ＦＯＵＮＤＡＴＩＯＮＳ  ＯＦ  ＴＨＥ  ＳＴＥＲＥＯＳＣＯＰＩＣ  ＣＩＮＥＭＡ  Ａ  ＳＴＵＤＹ  ＩＮ  ＤＥＰＴＨ（ｂｙ  ＬＥＮＮＹ  ＬＩＰＴＯＮ）
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ところで、本来ならこれらの全てについて、レフトビュー用およびライトビュー用を用意することが望ましいが、BD-ROMの容量が限られているため、全てについて、レフトビュー用およびライトビュー用を用意するのは困難である。特に、背景画像に関しては、映像コンテンツにおける重要度がビデオストリームに比べて低く、映像コンテンツ作成者からは、手間をかけずに、簡単に背景画像の立体視を実現したいという要望もある。
【００１０】
そこで、背景画像については、レフトビュー用およびライトビュー用を予め用意するのではなく、一枚の背景画像からレフトビュー用の背景画像（以下、「Ｌ画像」という）とライトビュー用の背景画像（以下、「Ｒ画像」という）とを再生装置において生成することが考えられている。具体的には、再生装置における背景プレーンに、所定の縦画素数×横画素数の画素データから構成される背景データを格納し、再生装置におけるシフトエンジンが、レフトビュー再生期間において、背景データにおける各画素データの座標を左方向及び右方向のうち何れか一方向に移動させ、ライトビュー再生期間において、背景データにおける各画素データの座標を反対方向に移動させる処理を行うことで、Ｌ画像及びＲ画像を生成する（以下、背景データにおける各画素データの座標を移動させる処理を「プレーンシフト」という）。このとき、プレーンシフト時のシフト量を調整することにより、プレーンに描画されたオブジェクトがどれだけの立体感を伴って見えるかが決定される（以下、オブジェクトがどれだけの立体感を伴って見えるかを示す値を「Ｚ値」という）。
【００１１】
図２４は、背景プレーンにおけるプレーンシフトの一例を示す図である。図２４の上段は、背景画像（元画像）１０１Ｎを示している。背景画像１０１Ｎにおける領域１０２Ｌおよび１０２Ｒは、横方向の画素数がｘ画素であり、縦方向の画素数が前記所定の縦画素数である領域である。
【００１２】
図２４の中段左側にはＬ画像を、中段右側にはＲ画像を示している。ここで、プレーンシフトにより、Ｌ画像においては右方向に、Ｒ画像においては左方向に、それぞれｘ画素移動させたものとする。Ｌ画像の生成の際、プレーンシフトにより背景データにおける各画素データの座標が右方向にｘ画素移動されるため、その移動量分だけ、Ｌ画像の左側端部にあたる矩形領域には、画素データを有しない無画素領域１０３Ｌが生じることとなる。
【００１３】
同様に、Ｒ画像の生成の際、プレーンシフトにより背景データにおける各画素データの座標が左方向にｘ画素移動されるため、その移動量分だけ、Ｒ画像の右側端部にあたる矩形領域には無画素領域１０３Ｒが生じることとなる。
【００１４】
このようなＬ画像を左眼に、Ｒ画像を右眼にそれぞれ割り当てて、液晶眼鏡を通してこれらを視聴することにより、Ｌ画像とＲ画像とで共通の描画がなされる共通描画領域１０４（図２４の下段）については、図２５に示すように、プレーンをシフトした量に比例するＺ値に応じた立体効果を得ることができる。
【００１５】
しかしながら、上述のように生成されたＬ画像及びＲ画像により背景画像の立体視を実現する場合、視聴者が不快感を抱くことがある。この不快感について具体的に説明する。
再生装置は、一般的に、ビデオプレーン、グラフィクスプレーン、字幕プレーン、及び背景プレーンを有しており、これらは、別々のレイヤ構成である。そして、必ず、下から、背景プレーン、ビデオプレーン、字幕プレーン、グラフィクスプレーンの順に、各プレーンに格納されたデータの合成（重ね合わせ）が行われる。したがって、字幕やグラフィクスの下には、ビデオや背景画像が存在するので、たとえ字幕プレーンやグラフィクスプレーンで無画素領域が生じたところで、合成の際に、当該無画素領域に対応する領域には、その下のレイヤのビデオや背景画像の画素データに基づく描画がなされることになる。
【００１６】
ところが、例えばビデオの再生停止が実行された場合等、背景画像のみが表示される場合には、背景画像の下には、もはや何も存在しないため、合成の際に、背景プレーンの無画素領域に対応する領域に、他のプレーンに格納されている画素データに基づく描画を行うことは不可能である。その場合、無画素領域には、再生装置において、デフォルトの設定に基づいて何らかの書き込みがなされることになり、映像コンテンツ側で、当該無画素領域にどのような画素データが書き込まれるかを保証することはできない。例えば、再生装置により無画素領域が黒色で塗りつぶされることが想定され、その場合には、背景プレーンにおける無画素領域１０３Ｌ，１０３Ｒは、表示の際、表示画面の両脇に、黒帯として現れることになる（図２５参照）。
【００１７】
このように、プレーンシフトにより立体視を実現する場合には、無画素領域に書き込まれる画素データを映像コンテンツ側で保証できないため、視聴者に対して不快感を与えてしまうことがある。
【００１８】
なお、ここでは背景画像をプレーンシフトにより立体視する場合について説明したが、字幕及びグラフィクスをプレーンシフトにより立体視する場合についても、プレーンシフトにより視聴者が不快感を抱く場合がある。上述したように、字幕プレーンやグラフィクスプレーンで無画素領域が生じたとしても、当該無画素領域に対応する領域には、合成の際に、その下のレイヤのビデオや背景画像の画素データに基づく描画がなされることになる。そうすると、Ｌ画像及びＲ画像の一方ではグラフィクス（または字幕）が描画され、他方ではビデオあるいは背景画像が描画される領域が存在することになる。このようにＬ画像とＲ画像とで対応する描画がなされない領域が存在し、液晶眼鏡を通して視聴した場合、これらが同一の空間に位置するように見えてしまう。その結果、左眼と右眼の視覚の不一致を引き起こし、背景プレーンをプレーンシフトした場合と同様、視聴者が不快感を抱くおそれがある。
【００１９】
本発明は、プレーンシフトにより立体視を実現する際に視聴者に与える不快感を軽減する再生装置を提供することを目的とする。
【課題を解決するための手段】
【００２０】
上記目的を達成するために、本発明の一実施態様である再生装置は、レフトビュー再生およびライトビュー再生を交互に実行することで立体視再生を行う再生装置であって、所定の縦画素数×横画素数の画素データから構成されるイメージデータを格納するプレーンメモリと、レフトビュー再生期間において、プレーンメモリに対する左目用シフト処理を行い、左方向及び右方向のうち何れか一方向に移動された左目用のイメージを得、ライトビュー再生期間において、プレーンメモリに対する右目用シフト処理を行い、前記一方向とは反対方向に移動された右目用のイメージを得るシフトエンジンと、左目用及び右目用のイメージのそれぞれにおいて、そのイメージの移動方向とは反対方向の端部の矩形領域に、非透明色の代替画素データより生成される代替イメージを描画するレンダリング処理を行うレンダリングエンジンとを備える。
【発明の効果】
【００２１】
上記課題を解決するための手段に記載の構成により、左目用及び右目用のイメージを得る際、左目用及び右目用のイメージのそれぞれにおいて、そのイメージの移動方向とは反対方向の端部の矩形領域に、非透明色の代替画素データより生成される代替イメージを描画することができる。この矩形領域に、代替イメージとして、視聴者が不快感を抱きにくいイメージを描画することで、視聴者の不快感を軽減することができる。
【図面の簡単な説明】
【００２２】
【図１】ホームシアターシステムの構成を示す図である。
【図２】BD-ROMの内部構成を示す図である。
【図３】再生装置の内部構成を示す図である。
【図４】バックグラウンドプレーンの内部構成を示す図である。
【図５】プレーンオフセットの正負の違いにより背景の奥行きがどのように変化するかを示す図である。
【図６】３Ｄストリームの再生処理を示すフローチャートである。
【図７】再生処理のうち図６で示す部分に後続する部分を示すフローチャートである。
【図８】ブランク描画処理を示すフローチャートである。
【図９】実施の形態１における具体例を示す図である。
【図１０】バックグラウンドプレーンに格納されている画素データを示す図である。
【図１１】プレーンシフトがなされた後のバックグラウンドプレーンの格納内容を示す図である。
【図１２】ブランク描画処理がなされた後のバックグラウンドプレーンの格納内容を示す図である。
【図１３】変形例１−１における具体例を示す図である。
【図１４】変形例１−２における具体例を示す図である。
【図１５】実施の形態２におけるブランク描画処理を示すフローチャートである。
【図１６】実施の形態２における具体例を示す図である。
【図１７】色指定のための対話型のユーザインタフェースを示す図である。
【図１８】実施の形態３におけるブランク描画処理を示すフローチャートである。
【図１９】実施の形態３における具体例を示す図である。
【図２０】合成部１０の構成を示す図である。
【図２１】右方向のプレーンシフトをラインデータ毎に実行する過程を示す。
【図２２】左方向のプレーンシフトをラインデータ毎に実行する過程を示す。
【図２３】ラインメモリへの読み出しの処理手順を示すフローチャートである。
【図２４】背景プレーンにおけるプレーンシフトの一例を示す図である。
【図２５】プレーンシフトによる立体効果および視聴者の不快感を説明するための図である。
【発明を実施するための形態】
【００２３】
以下、図面を参照しながら本発明の実施の形態を説明する。
（実施の形態１）
＜全体構成＞
図１は、記録媒体及び再生装置の使用行為についての形態を示す図である。本図に示すように、記録媒体の一例であるBD-ROM１００、及び再生装置２００は、リモコン３００、テレビ４００、液晶眼鏡５００と共にホームシアターシステムを構成し、ユーザによる使用に供される。
【００２４】
BD-ROM１００は、上記ホームシアターシステムに、例えば映画作品を供給する。
再生装置２００は、テレビ４００と接続され、BD-ROM１００を再生する。
リモコン３００は、階層化されたGUIに対する操作をユーザから受け付ける機器であり、かかる操作受け付けのため、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ディレクトリは、いわばトランスポートストリーム本体となるファイルを格納しているディレクトリであり、STREAMディレクトリには、拡張子"m２ts"が付与されたファイル(０００００１. m２ts)が存在する。
【００３６】
PLAYLISTディレクトリには、拡張子"mpls"が付与されたファイル(０００００１.mpls)が存在する。
CLIPINFディレクトリには、拡張子"clpi"が付与されたファイル(０００００１.clpi)が存在する。
【００３７】
BDJOディレクトリには、拡張子"bdjo"付与されたファイル(XXXXX.bdjo)が存在する。
JARディレクトリには、拡張子"jar"が付与されたファイル(YYYYY.jar)が存在する。
METAディレクトリには、XMLファイル(ZZZZZ.xml)が存在する。
【００３８】
以下、これらのファイルについて説明する。
＜AVClip＞
先ず初めに、拡張子"m２ts"が付与されたファイルについて説明する。拡張子"m２ts"が付与されたファイルは、MPEG2-TS (TransportStream)形式のデジタルAVストリームであり、ビデオストリーム、1つ以上のオーディオストリーム、グラフィクスストリーム等を多重化することで得られる。ビデオストリームは映画の動画部分を、オーディオストリームは映画の音声部分をそれぞれ示している。３D用のストリームの場合はm２tsの中に左目用と右目用の両方のデータを入れることができるし、左目用と右目用とで別々にm２tsを用意することもできる。ストリームに使われる容量を少なくするため、レフトビュービデオストリームとライトビュービデオストリームが相互参照をするようなコーデック（例えば、MPEG-４ AVC MVC）を使うことが望ましい。そのようなコーデックで圧縮符号化されたビデオストリームを、MVCビデオストリームと呼ぶ。
【００３９】
MVCビデオストリームには、ベースビュービデオストリーム、エンハンスドビュービデオストリームという種別がある。ベースビューストリームとは、レフトビュー又はライトビューを構成するビデオストリームのうち、平面視表示を実現しうるものである。一方、ライトビュー又はレフトビューを構成するビデオストリームのうち、ベースビューストリームではないものを"エンハンスドビューストリーム"という。エンハンスドビューストリームを構成するピクチャデータは、ベースビューストリームを構成するピクチャデータとのフレーム相関性に基づき圧縮符号化されている。
【００４０】
＜PlayList情報＞
拡張子"mpls"が付与されたファイルは、PlayList(PL)情報を格納したファイルである。PL情報は、AVClipを参照してプレイリストを定義する情報である。
【００４１】
本実施の形態では、BD-ROM上のプレイリスト（PL）の構成フォーマットから再生対象のストリームに３D用のストリームが存在するかを特定できる。
プレイリスト情報は、MainPath情報、Subpath情報、PlayListMark情報を含む。
【００４２】
1)MainPath情報は、AVストリームの再生時間軸のうち、In＿Timeとなる時点と、Out＿Timeとなる時点の組みを1つ以上定義することにより、論理的な再生区間を定義する情報であり、AVストリームに多重化されているエレメンタリストリームのうち、どれの再生を許可し、どれの再生を許可しないかを規定するストリーム番号テーブル(STN＿table)をもつ。
【００４３】
2)PlayListMark情報は、In＿Time情報及びOut＿Time情報の組みにて指定されたAVストリームの一部分のうち、チャプターとなる時点の指定を含む。
3)Subpath情報は、1つ以上のSubPlayItem情報から構成され、SubPlayItem情報は、前記AVストリームと同期して再生すべきエレメンタリストリームの指定と、そのエレメンタリストリームの再生時間軸におけるIn＿Time情報及びOut＿Time情報の組みとを含む。再生制御のためのJava(登録商標)アプリケーションが、このプレイリスト情報を再生するJMFプレイヤインスタンスの生成をJava(登録商標)仮想マシンに命じることで、AV再生を開始させることができる。JMF(Java Media Frame work)プレイヤインスタンスとは、JMFプレイヤクラスを基にして仮想マシンのヒープメモリ上に生成される実際のデータのことである。
【００４４】
以後、２D用ストリームのみを含むストリームを"２Dストリーム"、２D，３D用のストリームの両方を含むストリームを"３Dストリーム"と呼ぶ。
＜Clip情報＞
拡張子"clpi"が付与されたファイルは、AVClipのそれぞれに1対1に対応するClip情報である。管理情報故に、Clip情報は、AVClipにおけるストリームの符号化形式、フレームレート、ビットレート、解像度等の情報や、GOPの先頭位置を示すEP＿mapをもっている。以上のClip情報及びPL情報は、"静的シナリオ"に分類される。
【００４５】
＜BD-Jオブジェクト＞
続いて、拡張子BD-Jオブジェクトを付したファイルについて説明する。
BD-ROM規格では、映像の再生中にアプリケーションプログラムを実行することによって、動的な再生制御や、再生中のユーザとのインタラクション等、映像の再生を行いながら任意の計算機処理を再生装置に行わせることが可能である。BD-ROMでは、このアプリケーションプラットフォーム規格としてＪａｖａ（登録商標）が用いられており、BD-ROM規格上で採用されるＪａｖａ（登録商標）プラットフォームは、ＢＤ−Ｊａｖａ、あるいはＢＤ−Ｊと呼ばれ、その実行アプリケーションはＢＤ−Ｊａｖａアプリ、あるいはＢＤ−Ｊアプリと呼ばれる。
【００４６】
拡張子BD-Jオブジェクトを付したファイルは、BD-Jオブジェクトを格納したファイルである。BD-Jオブジェクトは、PlayList情報により定義されるAVClip列と、アプリケーションとの関連付けにより、タイトルを定義する情報である。
【００４７】
このJava（登録商標）アプリケーションの実体にあたるのが、図２におけるBDMVディレクトリ配下のJARディレクトリに格納されたJava（登録商標）アーカイブファイル(YYYYY.jar)である。
【００４８】
アプリケーションは例えばJava（登録商標）アプリケーションであり、仮想マシンのヒープ領域(ワークメモリとも呼ばれる)にロードされた1つ以上のxletプログラムからなる。このワークメモリにロードされたxletプログラム、及び、データから、アプリケーションは構成されることになる。
【００４９】
BD-Jオブジェクトは、各種の情報を含んでおり、各種の情報としては、再生タイトルとの関連を示す情報、後述するＪＡＲファイルとの関連を示す情報、ＰｌａｙＬｉｓｔ情報に対する参照値、アプリケーション管理テーブルなどが含まれる。
【００５０】
アプリケーション管理テーブルは、タイトルを生存区間としたアプリケーションシグナリングを、再生装置に行わせるためのテーブルである。
アプリケーション管理テーブルは、BD-Jオブジェクトに対応するタイトルがカレントタイトルになった際、動作させるべきアプリケーションを特定する『アプリケーション識別子』と、『制御コード』とを含む。
【００５１】
制御コードは、AutoRunに設定された場合、このアプリケーションをヒープメモリにロードした上、自動的に起動する旨を示し、Presentに設定された場合、このアプリケーションをヒープメモリにロードした上、他のアプリケーションからのコールを待って、起動すべき旨を示す。
【００５２】
＜メタファイル＞
METAディレクトリに格納されたメタファイル（ZZZZZ.xml）には、ディスクに入っている映像作品に関する様々な情報が格納されている。メタファイルに格納されている情報としては、ディスクのディスク名及び画像、ディスクの作成者の名称を示す情報、各タイトルに関わるタイトル名等がある。
【００５３】
なお、メタファイルなど一部のファイルは、BD-ROM規格では必ずしも必須とされておらず、一部のファイルが存在していなくともBD-ROM１００は映像記録媒体としてBD-ROM規格のもと再生可能である。
【００５４】
以上がBD-ROM１００についての説明である。
＜再生装置＞
次に本実施の形態に係る再生装置２００の構成について説明する。この再生装置２００では、背景画像については、プレーンシフトにより立体視が実現され、ビデオについては、Ｌ画像及びＲ画像が予め用意されているものとする。また、インタラクティブグラフィクス及びプレゼンテーショングラフィクスについては、Ｌ画像及びＲ画像が予め用意されていてもよいし、プレーンシフトにより立体視を実現してもよい。
【００５５】
図３は、再生装置２００の内部構成を示すブロック図である。図３に示すように、再生装置２００は、BD-ROMドライブ１、トラックバッファ２、デマルチプレクサ３、ビデオデコーダ４ａ，４ｂ、ビデオプレーン４ｃ、プレゼンテーショングラフィクス（ＰＧ）デコーダ５ａ，５ｂ、プレゼンテーショングラフィクス（ＰＧ）メモリ５ｃ，５ｄ、プレゼンテーショングラフィクス（ＰＧ）プレーン５ｆ、静止画メモリ６ａ、静止画デコーダ６ｂ、バックグラウンドプレーン６ｃ、オーディオデコーダ７、インタラクティブグラフィクス（ＩＧ）プレーン８、プレーンシフトエンジン９ａ，９ｂ、合成部１０、静的シナリオメモリ１１、動的シナリオメモリ１２、制御部１３、ＨＤＭＶモジュール１４、ＢＤ−Ｊモジュール１５、モード管理モジュール１６、ディスパッチャ１７、ＡＶ再生ライブラリ１８、アプリデータ関連付けモジュール１９、ＵＯ探知モジュール２１、レンダリングエンジン２２ａ，２２ｂ、ネットワークインタフェース２３、ローカルストレージ２４、仮想ファイルシステム２５、リムーバブルメディア２７、イメージシフト量レジスタ２８、次元判定部２９、次元モード記憶部３０、左右処理記憶部３１、HDMI送受信部３２から構成される。
【００５６】
BD-ROMドライブ１は、BD-ROMのローディング／イジェクトを行い、BD-ROMに対するアクセスを実行する。
BD-ROMドライブ１は、具体的には、半導体レーザ（図示せず）、コリメートレンズ（図示せず）、ビームスプリッタ（図示せず）、対物レンズ（図示せず）、集光レンズ（図示せず）、光検出器（図示せず）を有する光学ヘッド（図示せず）を備える。半導体レーザから出射された光ビームは、コリメートレンズ、ビームスプリッタ、対物レンズを通って、光ディスクの情報面に集光される。集光された光ビームは、光ディスク上で反射／回折され、対物レンズ、ビームスプリッタ、集光レンズを通って、光検出器に集光される。光検出器にて集光された光の光量に応じて、生成された信号がBD-ROMから読み出されたデータに対応する。
【００５７】
トラックバッファ２は、典型的にはＦＩＦＯメモリであり、BD-ROMから読み出されたストリームを構成するエクステントを構成するソースパケットを一旦格納しておき、転送速度を調整した上、デマルチプレクサ４に転送するためのバッファである。
【００５８】
デマルチプレクサ３は、具体的には、ソースパケットデパケッタイザーと、PIDフィルタとから構成され、仮想ファイルシステム２５を通じて、BD-ROMドライブ１にローディングされているBD-ROM１００、または、ローカルストレージ２４若しくはリムーバブルメディア２７に保存されているトランスポートストリームの多重分離を行う。
【００５９】
また、デマルチプレクサ３は、次元判定部２９を用いて、立体視（３Ｄ）用の処理を行うか２Ｄ用の処理を行うかを切り替える。
多重分離によって得られる、ＧＯＰを構成するビデオフレームについて、当該ビデオフレームがレフトビュー用の場合にはビデオデコーダ４ａに出力され、ライトビュー用の場合にはビデオデコーダ４ｂに出力される。
【００６０】
また、例えばビデオフレームが２Ｄ用のビデオフレームである場合には、当該ビデオフレームは、ビデオデコーダ４ａに出力され、ビデオデコーダ４ａにより、デコードした２Ｄ用のビデオフレームは、左目用ビデオプレーン（図３に示したビデオプレーン４ｃにおける符号（Ｌ）で示したもの）に書き込まれる。
【００６１】
ＧＯＰを構成するオーディオフレームは、オーディオデコーダ７に出力される。
多重分離によって得られるストリームが字幕ストリームである場合には、プレゼンテーショングラフィクスメモリに格納される。例えば３Ｄ字幕ストリーム（レフトビュー用の字幕ストリーム及びライトビュー用の字幕ストリーム）がストリームに含まれている場合には、レフトビュー用の字幕ストリームをプレゼンテーショングラフィクスメモリ５ｃに書き込み、ライトビュー用の字幕ストリームをプレゼンテーショングラフィクスメモリ５ｄに書き込む。また、例えば２Ｄの字幕ストリーム（平面表示のために用いる字幕ストリーム）がストリームに含まれている場合には、２Ｄの字幕ストリームをプレゼンテーショングラフィクスメモリ５ｃに書き込む。
【００６２】
多重分離によって得られるシナリオ情報は、動的シナリオメモリ１２に格納される。
デマルチプレクサ３による多重分離は、ＴＳパケットをＰＥＳパケットに変換するという変換処理を含む。
【００６３】
ビデオデコーダ４ａは、デマルチプレクサ３から出力されたビデオフレームを復号して非圧縮形式のピクチャをレフトビュービデオプレーン４ｃ（図３のビデオプレーン４ｃにおける符号（Ｌ）で示したもの）に書き込む。
【００６４】
ビデオデコーダ４ｂは、デマルチプレクサ３から出力されたビデオフレームを復号して非圧縮形式のピクチャをライトビュービデオプレーン４ｃ（図３のビデオプレーン４ｃにおける符号（Ｒ）で示したもの）に書き込む。
【００６５】
ビデオプレーン４ｃは、例えば、1920×2160(1280×1440)といった解像度によってピクチャデータを格納することができるプレーンメモリであり、1920×1080(1280×720)の解像度をもつ左目用プレーン（図３のビデオプレーン４ｃにおける符号（Ｌ）で示したもの）、1920×1080(1280×720)の解像度をもつ右目用プレーン（図３のビデオプレーン４ｃにおける符号（Ｒ）で示したもの）を有しており、各プレーンには非圧縮形式のピクチャが格納される。
【００６６】
ビデオプレーン４ｃに含まれる、左目用プレーン及び右目用プレーンは、物理的に分離したメモリを例示しているが、これに限定される必要はなく、例えば１つのメモリ内に左目用プレーンの領域と右目用プレーンの領域とを設け、これらの領域に、対応するビデオデータを書き込むような構成であってもよい。
【００６７】
プレゼンテーショングラフィクスデコーダ５ａ，５ｂは、デマルチプレクサ３から出力され、プレゼンテーショングラフィクスメモリ５ｃ、５ｄに書き込まれた字幕ストリームを構成するTSパケットを復号して非圧縮形式のグラフィクス字幕をプレゼンテーショングラフィクスプレーン５ｆに書き込む。プレゼンテーショングラフィクスデコーダ５ａ，５ｂによりデコードされる"字幕ストリーム"は、ランレングス符号化によって圧縮された字幕を表すデータであり、Y値、Cr値、Cb値、α値を示すピクセルコードと、そのピクセルコードのランレングスとによって定義される。
【００６８】
プレゼンテーショングラフィクスプレーン５ｆは、例えば1920×1080(1280×720)といった解像度によって、字幕ストリームをデコードすることにより得られたグラフィクスデータ（例えば字幕データ）を格納することができるグラフィクスプレーンであり、例えば1920×1080(1280×720)の解像度をもつデータを格納できるような記憶領域を有する左目用プレーン（図３に示したプレゼンテーショングラフィクスプレーン５ｆにおける符号（Ｌ）で示したもの）、1920×1080(1280×720)の解像度をもつデータを格納できるような記憶領域を有する右目用プレーン（図３に示したプレゼンテーショングラフィクスプレーン５ｆにおける符号（Ｒ）で示したもの）を有しており、プレゼンテーショングラフィクスデコーダ５ａ，５ｂから出力されたグラフィクスデータが格納される。
【００６９】
プレゼンテーショングラフィクスプレーン５ｆに含まれる、左目用プレーン及び右目用プレーンは、物理的に分離したメモリを例示しているが、これに限定される必要はなく、例えば１つのメモリ内に左目用プレーンの領域と右目用プレーンの領域とを設け、これらの領域に、対応するグラフィクススデータを書き込むような構成であってもよい。
【００７０】
静止画メモリ６ａは、仮想パッケージから取り出された背景画となる背景（静止画）データを格納する。
静止画デコーダ６ｂは、静止画メモリ６ａに格納されている背景データをデコードして、非圧縮の背景データをバックグラウンドプレーン６ｃに書き込む。
【００７１】
バックグラウンドプレーン６ｃは、例えば1920×1080(1280×720)といった解像度によって、背景画となるべき背景データを格納することができるプレーンメモリである。
図４は、バックグラウンドプレーンの内部構成を示す。解像度が1920×1080に設定されている場合、図４に示すように、バックグラウンドプレーンは、横1920×縦1080の３２ビット長の記憶素子からなる。バックグラウンドプレーンは、1920×1080の解像度で、1画素当たり３２ビットのR,G,B,α値を格納できるメモリアロケーションをもつ。記憶素子に記憶される３２ビットのR,G,B,α値は、８ビットのR値、８ビットのG値、８ビットのR値、８ビットの透明度αから構成される。記憶素子には、透明色以外を示すR,G,B,α値が格納されており、この透明色以外のR,G,B,α値によって、背景が描かれることになる。
【００７２】
図３に戻って、オーディオデコーダ７は、デマルチプレクサ３から出力されたオーディオフレームを復号して、非圧縮形式のオーディオデータを出力する。
インタラクティブグラフィクスプレーン８は、例えば1920×1080(1280×720)といった解像度によって、BD-Jアプリケーションがレンダリングエンジン２２ａを利用して描画したグラフィクスデータを格納することができる記憶領域を有するグラフィクスプレーンであり、例えば1920×1080(1280×720)の解像度をもつデータを格納できるような記憶領域を有する左目用プレーン（図３のインタラクティブグラフィクスプレーン８において、符号（Ｌ）を付したもの）、1920×1080(1280×720)の解像度をもつデータを格納できるような記憶領域を有する右目用プレーン（図３のインタラクティブグラフィクスプレーン８において、符号（Ｒ）を付したもの）を有する。
【００７３】
なお、図３に示したビデオプレーン４ｃ、プレゼンテーショングラフィクスプレーン５ｆ、及びインタラクティブグラフィクススプレーン８は、左目用のデータを格納するための記憶領域と右目用のデータを格納するための記憶領域とを設ける構成としたが、これに限定される必要はなく、例えば１つの記憶領域を左目用／右目用の記憶領域として交互に利用するような構成であってもよい。
【００７４】
プレーンシフトエンジン９ａは、左右処理記憶部３１のフラグと、イメージシフト量レジスタ２８に格納されている値とを基に、プレゼンテーショングラフィクスプレーン５ｆ及び／またはインタラクティブグラフィクスプレーン８に格納されている画素データの座標を一定の方向（例えば表示画面の水平方向）にシフトする（以下、「プレーンシフト」という）。この場合、左目用のインタラクティブグラフィクスプレーンと右目用のインタラクティブグラフィクスプレーンとが同一の描画オブジェクトを利用したものであっても、シフトによって、表示画面よりも手前に飛び出した位置に表示しているかのように表示することも可能となる。つまり、プレゼンテーショングラフィクスプレーンやインタラクティブグラフィクスプレーンの描画に用いた字幕やGUI等のグラフィクスのオブジェクト自体が立体視用の素材でなくても、表示画面よりも手前の位置に飛び出るエフェクトを得ることが可能になる。ビデオを２D表示させたまま、グラフィクスのみ立体効果を持たせたい場合には、レフトビュービデオ、及びライトビュービデオの組みを用いるのではなく、レフトビュー及びライトビューの両方にレフトビュー用のビデオを用いて、その上に上記シフト済みプレゼンテーショングラフィクスプレーンやインタラクティブグラフィクスプレーンを合成する。
【００７５】
プレーンシフトの対象は、プレゼンテーショングラフィクスプレーン５ｆ、及びインタラクティブグラフィクスプレーン８の双方である必然性はなく、インタラクティブグラフィクスプレーン８のみをプレーンシフトの対象にしたり、プレゼンテーショングラフィクスプレーン５ｆのみをプレーンシフトの対象にしたりしてもよい。
【００７６】
同様に、プレーンシフトエンジン９ｂは、左右処理記憶部３１のフラグと、イメージシフト量レジスタ２８に格納されている値とを基に、バックグラウンドプレーン６ｃに格納されている画素データの座標を一定の方向（例えば表示画面の水平方向）にシフトする。この場合、左目用のバックグラウンドプレーンと右目用のバックグラウンドプレーンとが同一の描画オブジェクトを利用したものであっても、シフトによって、表示画面よりも手前に飛び出した位置に表示しているかのように表示することも可能となる。
【００７７】
合成部１０は、インタラクティブグラフィクスプレーン８、プレゼンテーショングラフィクスプレーン５ｆ、ビデオプレーン４ｃ、バックグラウンドプレーン６ｃの格納内容を合成する。インタラクティブグラフィクスプレーン８、プレゼンテーショングラフィクスプレーン５ｆ、ビデオプレーン４ｃ、及びバックグラウンドプレーン６ｃは、それぞれ別々のレイヤ構成になっており、合成部１０は、必ず、下から、バックグラウンドプレーン６ｃ、ビデオプレーン４ｃ、プレゼンテーショングラフィクスプレーン５ｆ、インタラクティブグラフィクスプレーン８の順に、各プレーンに格納されたデータの合成（重ね合わせ）を行う。つまり、たとえ平面のグラフィクスを立体視ビデオの上に重ね合わせるケースにおいても、バックグラウンドプレーン６ｃに格納された背景画の上にビデオプレーン４ｃに格納されたビデオを合成し、その合成画像の上にプレゼンテーショングラフィクスプレーン５ｆに格納された字幕を合成し、この合成画像の上に、インタラクティブグラフィクスプレーン８に格納されたグラフィクスを合成して表示する。そうしないと、グラフィクスの部分がビデオにめり込んだ形になり、不自然になってしまうからである。
【００７８】
静的シナリオメモリ１１は、カレントＰＬ情報やカレントクリップ情報を格納しておくためのメモリである。カレントＰＬ情報とは、仮想ファイルシステム２５から読み出すことのできるＰＬ情報のうち、その時点での処理対象になっているものをいう。カレントクリップ情報とは、仮想ファイルシステム２５から読み出すことのできる複数クリップ情報のうち、その時点での処理対象になっているものをいう。
【００７９】
動的シナリオメモリ１２は、カレント動的シナリオを格納し、ＨＤＭＶモジュール１４、ＢＤ−Ｊモジュール１５による処理に供されるメモリである。カレント動的シナリオとは、仮想ファイルシステム２５から読み出すことのできる複数シナリオ情報のうち、その時点での実行対象になっているものをいう。
【００８０】
制御部１３は、ＲＯＭ、ＲＡＭ、ＣＰＵからなるマイコンシステムであり、ＲＯＭには再生装置を制御するプログラムが記録されており、ＲＯＭ内のプログラムがＣＰＵに読み込まれ、プログラムとハードウェア資源とが協動することにより、HDMVモジュール１４、ＢＤ−Ｊモジュール１５、モード管理モジュール１６、ディスパッチャ１７、ＡＶ再生ライブラリ１８、アプリデータ関連付けモジュール１９の機能が実現される。
【００８１】
HDMVモジュール１４は、HDMVモードの動作主体となるDVD映像仮想プレイヤであり、HDMVモードの実行主体となる。本モジュールは、コマンドインタプリタを具備し、ムービーオブジェクトを構成するナビゲーションコマンドを解読して実行することでHDMVモードの制御を実行する。ナビゲーションコマンドは、DVD-Videoと似たようなシンタックスで記述されているため、かかるナビゲーションコマンドを実行することにより、DVD-Videoライクな再生制御を実現することができる。
【００８２】
ＢＤ−Ｊモジュール１５は、Ｊａｖａ（登録商標）仮想マシンを含むミドルウェアプラットフォームであり、JARアーカイブファイルに存在するクラスファイルからバイトコードを読み出して、ヒープメモリに格納することにより、ＢＤ−Ｊアプリを実行する。
【００８３】
ＢＤ−Ｊアプリは、再生映像と関連付けされてBD-ROM１００の中に記録されており、再生時には動的シナリオメモリ１２に読み出された後、ＢＤ−Ｊモジュール１５によって実行される。
【００８４】
Ｊａｖａ（登録商標）仮想マシンは、ＢＤ−Ｊアプリを解釈しＣＰＵに実行させる。ＢＤ−Ｊモジュール１５の一部はハードウェアによって実現されていてもよいし、ソフトウェアによって実現されていてもよい。
【００８５】
モード管理モジュール１６は、仮想ファイルシステム２５から読み出されたモード管理テーブルを保持して、モード管理及び分岐制御を行う。モード管理モジュール１６によるモード管理とは、動的シナリオをＨＤＭＶモジュール１４とＢＤ−Ｊモジュール１５のどちらに実行させるかという、モジュールの割り当てである。
【００８６】
ディスパッチャ１７は、ＵＯ検地モジュール２１により受け取ったユーザオペレーション（以下、「ＵＯ」ともいう）から、現在の再生装置におけるモードに適切なＵＯのみを選んで、そのモードを実行するモジュールに渡す。例えばＨＤＭＶモードの実行中に、上下左右、アクティベートといったＵＯを受け付けた場合、ＨＤＭＶモードのモジュールにこれらのＵＯを出力するのがディスパッチャ１７の処理である。
【００８７】
ＡＶ再生ライブラリ１８は、ＨＤＭＶモジュール１４、あるいはＢＤ−Ｊモジュール１５からの呼び出しに応じて、ＡＶ再生機能、プレイリストの再生機能を実行する。ＡＶ再生機能とは、BD-ROMにて定義されている、ＤＶＤプレイヤ、ＣＤプレイヤから踏襲した機能群であり、再生開始、再生停止、一時停止、一時停止の解除、静止画機能の解除、再生速度を即値で指定した早送り、再生速度を即値で指定した巻戻し、音声切り替え、副映像切り替え、アングル切り替えといった処理である。プレイリスト再生機能とは、このＡＶ再生機能のうち、再生開始や再生停止をプレイリスト情報に従って行うことをいう。
【００８８】
アプリデータ関連付けモジュール１９は、仮想ファイルシステム２５から読み出される情報と、再生装置内で計算した結果、及びアプリケーションが設定する属性情報を元に、アプリケーション関連付け情報を生成、及び更新する機能を有している。
【００８９】
ＵＯ検地モジュール２１は、GUIに対するユーザオペレーション（ＵＯ）を受け取る。これは、例えばリモート・コントローラのような遠隔機器で入力される場合もあるし、再生装置に設置されているボタンのようなインタフェースによって直接入力される場合もある。
【００９０】
レンダリングエンジン２２aは、Java２D，OPEN-GLといった基盤ソフトウェアを備え、BD-JモードにおいてはＢＤ−Ｊモジュール１５からの指示に従って、インタラクティブグラフィクスプレーン８に対する描画処理を行う。ＢＤ−Ｊモジュール１５は、色指定を伴った線や矩形等図形の描画、指定領域の塗りつぶし、指定されたイメージのコピー・ペースト等の描画処理を、レンダリングエンジン２２ａを通じてインタラクティブグラフィクスプレーン８に対して行うライブラリを有しており、ＢＤ−Ｊアプリは、これらのライブラリを呼び出すことで、グラフィクス描画処理を実現できる。
【００９１】
また、ＨＤＭＶモードにおいては、レンダリングエンジン２２ａは、字幕に対応するストリーム（字幕ストリーム）以外のグラフィクスストリームから抽出したグラフィクスデータ（例えば、入力ボタンに対応するグラフィクススデータ）をレンダリングし、インタラクティブグラフィクスプレーン８に書き込む。
【００９２】
レンダリングエンジン（以下、「ブランク描画エンジン」ともいう）２２ｂは、レンダリングエンジン２２a と同様に、Java２D，OPEN-GLといった基盤ソフトウェアを備え、BD-JモードにおいてはＢＤ−Ｊモジュール１５からの指示に従って、プレーンシフトエンジン９ｂによるプレーンシフトにより生じる、バックグラウンドプレーン６ｃにおける無画素（以下、「ブランク」ともいう）領域に対するレンダリング処理を行う。以下、無画素領域に対するレンダリング処理をブランク描画処理という。ブランク領域およびブランク描画処理については後述する。
【００９３】
ネットワークインタフェース２３は、再生装置の外部と通信を行うためのものであり、インターネットでアクセス可能なサーバにアクセスしたり、ローカルネットワークで接続されたサーバにアクセスしたりすることが可能である。例えば、インターネット上に公開されたBD-ROM追加コンテンツのダウンロードに用いられたり、コンテンツが指定するインターネット上のサーバとの間でデータ通信を行うこうことでネットワーク機能を利用したコンテンツの再生に用いられたりする。
【００９４】
BD-ROM追加コンテンツとは、オリジナルのBD-ROMにないコンテンツで、例えば追加の副音声、字幕、特典映像、アプリケーションなどである。ＢＤ−Ｊモジュール１５からネットワークインタフェース２３を制御することができ、インターネット上に公開された追加コンテンツをローカルストレージ２４やリムーバブルメディア２７にダウンロードすることができる。また、ダウンロードした追加コンテンツをどのようにBD-ROM上のデータとマージするのかを示すマージ管理情報も、ローカルストレージ２４あるいはリムーバブルメディア２７に併せてダウンロードされる。
【００９５】
ローカルストレージ２４は、再生装置に内蔵されているハードディスク等の磁気記録装置である。BD-ROM１００に記録されているファイル形式またはそれに準ずる形で、トランスポートストリームや再生に使用する各種のデータを記録する。
【００９６】
仮想ファイルシステム２５は、BD-ROM１００、または、ローカルストレージ２４若しくはリムーバブルメディア２７に記録されているファイルに対するリード・ライト機構を提供するファイルシステムである。
【００９７】
BD-ROMの再生時に必要とされるファイルアクセスは、通常、BD-ROM１００に対して行われるが、仮想ファイルシステム２５は、マージ管理情報を元に、ローカルストレージ２４、またはリムーバブルメディア２７に存在するファイルを、あたかもBD-ROM１００上に記録されているファイルであるかのように仮想的にファイルのアドレス変換を行う機構を備える。すなわち、本仮想ファイルシステム２５は、ファイルの物理的な記録先を抽象化する機構を提供する。これにより、仮想的なBD-ROM（仮想パッケージ）を構築することができる。
【００９８】
HDMVモードの動作主体であるコマンドインタプリタやBD-Jモードの動作主体であるBD-Jプラットフォームからは、仮想パッケージとオリジナルBD-ROMを区別なく参照することができる。仮想パッケージ再生中、再生装置はBD-ROM上のデータとローカルストレージ上のデータの両方を用いて再生制御を行うことになる。
【００９９】
リムーバブルメディア２７は、例えば可搬性を有する記録媒体であり、再生装置に装着された外部スロットから挿入される記憶媒体である。リムーバブルメディアは、典型的にはＳＤカードなどのフラッシュメディアであるが、ＵＳＢメモリ、リムーバブルハードディスク、その他任意の種類の記憶媒体であってもよい。
【０１００】
リムーバブルメディアを半導体メモリカードとしたときを例に説明をすると、再生装置にはリムーバブルメディアを装着するためのスロット（図示せず）およびスロットに装着されたリムーバブルメディアを読み取るためのインタフェース（例えばメモリカードI/F）が備えられており、スロットに半導体メモリを装着すると、リムーバブルメディアと再生装置とが電気的に接続され、インタフェース（例えばメモリカードI/F）を利用して、半導体メモリに記録されたデータを電気信号に変換して読み出すことが可能となる。
【０１０１】
イメージシフト量レジスタ２８は、プレーンシフトエンジン９ａ，９ｂにてプレーンをどの方向にどれだけシフトさせるかを示すプレーンオフセット（オフセット値）を格納する。プレーンオフセットは、再生装置を視聴するユーザによって設定されても良いし、ＢＤ−Ｊアプリの中で与えられ、実行時にＢＤ−Ｊモジュール１５を経由して設定されてもよい。
【０１０２】
図５は、プレーンオフセットの正負の違いによって、背景の見え方がどのように変化するかを示す図である。
同図（ａ）、（ｂ）において、手前の方は、レフトビュー出力時にシフトしたシフト後のバックグラウンドプレーンを用いて出力されるレフトビュー用の背景を示す。奥の方は、ライトビュー出力時にシフトしたシフト後のバックグラウンドプレーンを用いて出力されるライトビュー用の背景を示す。
【０１０３】
本図（ａ）は、プレーンオフセットの符号が正（レフトビュー用の背景を右方向へずらし、ライトビュー用の背景を左方向へずらす）である場合を示す。プレーンオフセットが正の値であると、レフトビュー出力時の背景が、ライトビュー出力時の背景より右の位置に見えるようになる。つまり、輻輳点（焦点位置）が表示画面（スクリーン）より手前にくるので、背景も手前に見えるようになる。
【０１０４】
本図（ｂ）は、プレーンオフセットの符号が負である場合を示す。プレーンオフセットが負の値であると、レフトビュー出力時の背景が、ライトビューの出力時の背景より左の位置に見えるようになる。つまり、輻輳点（焦点位置）がスクリーンより奥にゆくので、背景も奥に見えるようになる。
【０１０５】
図３に戻って、次元判定部２９は、再生対象の映像が、立体視（３Ｄ）用のものであるか、２Ｄ用のものであるかを判定し、その結果を次元モード記憶部３０に出力する。
次元判定部２９による判定は、カレントＰＬ若しくはカレントストリームの中に、立体視（３Ｄ）に対応する映像か対応しない映像かを示すフラグが含まれている場合には、このフラグに基づいてなされるとしてもよいし、または再生装置のユーザの指定によって切り替えが行われるようになっていてもよい。
【０１０６】
本実施の形態では、以下、プレイリスト中に３Ｄ用か２Ｄ用かを識別する次元識別フラグを有しているものとして説明する。
次元モード記憶部３０は、次元モードを記憶する。次元モードは、その時点で再生されている映像が、立体視（３Ｄ）用のものであるか、通常の２Ｄ用のものであるかを示す。
【０１０７】
左右処理記憶部３１は、現在の出力処理がレフトビュー用の出力か、または、ライトビュー用の出力かを記憶する。左右処理記憶部３１のフラグは、図１に示した再生装置と接続する表示デバイス（図１の例ではテレビ）に対する出力が、レフトビュー出力であるか、ライトビュー出力であるかを示す。レフトビュー出力をしている間、左右処理記憶部３１のフラグはレフトビュー出力を示すフラグに設定される。また、ライトビュー出力をしている間、左右処理記憶部３１のフラグはライトビュー出力を示すフラグに設定される。
【０１０８】
HDMI送受信部３２は、例えばHDMI規格（HDMI:High Definition Multimedia Interface）に準拠したインタフェースを含み、再生装置とHDMI接続する装置（この例ではテレビ４００）との間でHDMI規格に準拠するように送受信を行うものであり、合成部１０により合成された映像と、オーディオデコーダ７によってデコードされた非圧縮のオーディオデータとを、HDMI送受信部３２を介してテレビ４００に伝送する。
【０１０９】
テレビ４００は、例えば立体視表示に対応しているかに関する情報、平面表示可能な解像度に関する情報、立体表示可能な解像度に関する情報を保持しており、再生装置からHDMI送受信部３２を介して要求があると、要求された必要な情報（例えば立体視表示に対応しているかに関する情報、平面表示可能な解像度に関する情報、立体表示可能な解像度に関する情報）を再生装置へ返す。
【０１１０】
このように、HDMI送受信部３２を介することで、テレビ４００が立体視表示に対応しているかどうかの情報を、テレビ４００から取得することができる。
以上が、本実施の形態に係る再生装置２００の構成である。
＜再生処理＞
続いて、図６、７は、３Ｄストリームの再生処理を示すフローチャートである。
【０１１１】
このフローチャートでは、インタラクティブグラフィクス及びプレゼンテーショングラフィクスについては、Ｌ画像及びＲ画像が予め用意されているものとする。また、図６のステップＳ１０５〜１１２がレフトビュー用の処理であり、図７のステップＳ２０１〜２０８がライトビュー用の処理である。
【０１１２】
まず、ＡＶ再生ライブラリ１８は、何等かの要因によってカレントプレイリストが選択されると、カレントプレイリストに対応するカレントＰＬ情報及びカレントクリップ情報を読み出し、静的シナリオメモリ１１に設定する（ステップＳ１０１）。
【０１１３】
デマルチプレクサ３は、静的シナリオメモリ１１のカレントＰＬ情報を参照し、再生対象となるＡＶストリームを取得する（ステップＳ１０２）。
デマルチプレクサ３は、静的シナリオメモリ１１のカレントＰＬ情報から次元識別フラグを取得し、次元判定部２９に送信する。次元判定部２９は、次元識別フラグに基づいて、再生対象のＡＶストリームが３Ｄ用か否かを判定する（ステップＳ１０３）。
【０１１４】
再生対象のＡＶストリームが３Ｄ用でない場合、すなわち２Ｄストリームである場合には（ステップＳ１０３でＮｏ）、２Ｄの映像再生処理を行う（ステップＳ１０４）。
再生対象のＡＶストリームが３Ｄ用である場合には（ステップＳ１０３でＹｅｓ）、立体視再生を行う。以下、立体視再生について詳細に説明する。
【０１１５】
静止画デコーダ６ｂは、静止画メモリ６ａに格納されている背景データをデコードして、非圧縮の背景データをバックグラウンドプレーン６ｃに書き込む（ステップＳ１０５）。
【０１１６】
プレーンシフトエンジン９ｂは、イメージシフト量レジスタ２８の値（プレーンオフセット）を基に、バックグラウンドプレーン６ｃをシフトする、左目用シフト処理を行う（ステップＳ１０６）。
【０１１７】
左目シフト処理後、レンダリングエンジン２２ｂは、ブランク描画処理を行う（ステップＳ１０７）。ブランク描画処理の詳細については、後述する。
ビデオデコーダ４ａは、デマルチプレクサ３から出力されたビデオフレームを復号して非圧縮形式のビデオフレーム（Ｌ用）をビデオプレーン４ｃに書き込む（ステップＳ１０８）。
【０１１８】
プレゼンテーショングラフィクスデコーダ５ａは、デマルチプレクサ３から出力され、プレゼンテーショングラフィクスメモリ５ｃに書き込まれた字幕ストリームを構成するTSパケットを復号して、プレゼンテーショングラフィクス（Ｌ用）をプレゼンテーショングラフィクスプレーン５ｆに書き込む（ステップＳ１０９）。
【０１１９】
BD-Jアプリケーションは、レンダリングエンジン２２ａを利用して、インタラクティブグラフィクスプレーン８にインタラクティブグラフィクス（Ｌ用）を書き込む（ステップＳ１１０）。
【０１２０】
合成部１０は、バックグラウンドプレーン６ｃに書き込まれた背景データ、ビデオプレーン４ｃに書き込まれたビデオデータ、プレゼンテーショングラフィクスプレーンに書き込まれたプレゼンテーショングラフィクスデータ、インタラクティブグラフィクスプレーンに書き込まれたインタラクティブグラフィクスを順に合成し、レフトビューとしてディスプレイへ出力する（ステップＳ１１１）。ここで、バックグラウンドプレーンにおいては、シフト処理が施された後の背景データが合成の対象となる。
【０１２１】
そして、ディスプレイの出力のタイミングで左右処理記憶部３１のフラグを転換する（ステップＳ１１２）。
ステップＳ１０５〜１１２のレフトビュー用の処理の後、ライトビュー用の処理を行う。ライトビュー用の処理の基本的な流れは、レフトビュー用の処理と同様である。
【０１２２】
まず、静止画デコーダ６ｂは、静止画メモリ６ａに格納されている背景データをデコードして、非圧縮の背景データをバックグラウンドプレーン６ｃに書き込む（ステップＳ２０１）。
【０１２３】
プレーンシフトエンジン９ｂは、イメージシフト量レジスタ２８の値を基に、バックグラウンドプレーン６ｃをシフトする、右目用シフト処理を行う（ステップＳ２０２）。
右目シフト処理後、レンダリングエンジン２２ｂは、ブランク描画処理を行う（ステップＳ２０３）。
【０１２４】
ビデオデコーダ４ｂは、デマルチプレクサ３から出力されたビデオフレームを復号して非圧縮形式のビデオフレーム（Ｒ用）をビデオプレーン４ｃに書き込む（ステップＳ２０４）。
【０１２５】
プレゼンテーショングラフィクスデコーダ５ｂは、デマルチプレクサ３から出力され、プレゼンテーショングラフィクスメモリ５ｄに書き込まれた字幕ストリームを構成するTSパケットを復号して、プレゼンテーショングラフィクス（Ｒ用）をプレゼンテーショングラフィクスプレーン５ｆに書き込む（ステップＳ２０５）。
【０１２６】
BD-Jアプリケーションは、レンダリングエンジン２２ａを利用して、インタラクティブグラフィクスプレーン８にインタラクティブグラフィクス（Ｒ用）を書き込む（ステップＳ２０６）。
【０１２７】
合成部１０は、バックグラウンドプレーン６ｃに書き込まれた背景データ、ビデオプレーン４ｃに書き込まれたビデオデータ、プレゼンテーショングラフィクスプレーンに書き込まれたプレゼンテーショングラフィクスデータ、インタラクティブグラフィクスプレーンに書き込まれたインタラクティブグラフィクスを順に合成し、ライトビューとしてディスプレイへ出力する（ステップＳ２０７）。
【０１２８】
そして、ディスプレイの出力のタイミングで左右処理記憶部３１のフラグを転換する（ステップＳ２０８）。
次フレームが存在するか判定し（ステップＳ２０９）、フレーム入力が継続している限り（ステップＳ２０９でＹｅｓ）、以上の処理が繰り返されることになる。
＜ブランク描画処理＞
続いて、レンダリングエンジン２２ｂによるブランク描画処理について説明する。図８は、ブランク描画処理を示すフローチャートである。
【０１２９】
まず、レンダリングエンジン２２ｂは、バックグラウンドプレーン６ｃにおける背景データの格納領域のうちブランク領域を検出する（ステップＳ３０１）。
ここで、表示画面上において、画面の横座標の左端をＸ０、右端をＸ１とし、画面の縦座標の上端をＹ０、下端をＹ１とし、オフセット値をＳとすると、左方向へのプレーンシフトにより生じるブランク領域は、（Ｘ１−Ｓ、Ｙ０）、（Ｘ１、Ｙ０）、（Ｘ１−Ｓ、Ｙ１）、（Ｘ１、Ｙ１）で囲まれる矩形領域で表せる。同様に、右方向へのプレーンシフトにより生じるブランク領域は、（Ｘ０、Ｙ０）、（Ｓ、Ｙ０）、（Ｘ０、Ｙ１）、（Ｓ、Ｙ１）で囲まれる矩形領域で表せる。
【０１３０】
次に、バックグランドプレーン６ｃに関する一部領域を選択する（ステップＳ３０２）。ここで、バックグラウンドプレーンに関する一部領域とは、例えば、プレーンシフトによりバックグラウンドプレーンからはみ出した領域である。以下、選択された一部領域の画像をクリップ画像ともいう。
【０１３１】
検出したブランク領域に、選択した領域の画素データを書き込む（ステップＳ３０３）。
これが最終的にビデオプレーン等と重畳されるバックグラウンドプレーン６ｃとなる。この描画処理自体については、通常のレンダリングエンジンによって行われる描画処理と同様のものであるため、説明の詳細は省略する。
＜具体例＞
続いて、プレーンシフト及びブランク描画処理を、具体例を用いて説明する。
【０１３２】
図９は、プレーンシフト及びブランク描画処理の具体例を示す図である。図９上段は、バックグラウンドプレーン６ｃに描かれた背景画像２０１を示したものである。ここで、背景データを構成する各画素データが、バックグラウンドプレーン６ｃにどのように格納されているのか説明する。
【０１３３】
図１０は、バックグラウンドプレーンに格納されている画素データを示す図である。本図において、四角枠は、ビット長が３２ビット、又は、８ビットの記憶素子であり、0001,0002,0003,0004,07A5,07A6,07A7,07A8,07A9,07AA,07ABといった１６進数の数値は、CPUのメモリ空間において、これらの記憶素子に連続的に割り当てられるアドレスである。また、記憶素子中の(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)の画素データが格納されていることがわかる。
【０１４１】
また、プレーンオフセットに示される画素数だけずれることにより、アドレス0001,0002,0003の記憶素子には、画素データが格納されていないことがわかる。
さらに、プレーンオフセットに示される画素数だけずれることにより、領域Ｌ２に対応する座標の画素データがプレーン内に存在しないことがわかる。
【０１４２】
同図（ｂ）は、プレーンオフセットが"3"に設定されていて、左方向にシフトされたバックグラウンドプレーンを示す。プレーンオフセットが"3"であるから、アドレス0001の記憶素子には、バックグラウンドプレーン座標系における座標(3,0)の画素データが、アドレス0002の記憶素子には、バックグラウンドプレーン座標系における座標(4,0)の画素データが、アドレス0003の記憶素子には、バックグラウンドプレーン座標系における座標(5,0)の画素データが格納されていることがわかる。
【０１４３】
同様に、アドレス07A9の記憶素子には、バックグラウンドプレーン座標系における座標(3,1)の画素データが、アドレス07AAの記憶素子には、バックグラウンドプレーン座標系における座標(4,1)の画素データが、アドレス07ABの記憶素子には、バックグラウンドプレーン座標系における座標(5,1)の画素データが格納されていることがわかる。
【０１４４】
また、プレーンオフセットに示される画素数だけずれることにより、アドレス07A6,07A7,07A8の記憶素子には、画素データが格納されていないことがわかる。
さらに、プレーンオフセットに示される画素数だけずれることにより、領域Ｒ２に対応する座標の画素データがプレーン内に存在しないことがわかる。
【０１４５】
以上のように、シフトされたバックグラウンドプレーンは、バックグラウンドプレーンにおける各画素データの座標が、本来の座標から右方向、左方向に、プレーンオフセットに示される画素数だけずれていることがわかる。
【０１４６】
また、プレーンオフセットに示される画素数だけずれることにより、画素データを有しない記憶素子が生じるとともに、領域Ｌ２やＲ２に対応する座標の画素データがプレーン内に存在しないことがわかる。
【０１４７】
背景データを構成する各画素データが配置される記憶素子のアドレスを、所定のアドレスだけ変化させることで、バックグラウンドプレーンのシフトは実現することができる。当然であるが、実際に、画素データが配置される記憶素子のアドレスを変化させなくても、これと等価な処理であるなら、バックグラウンドプレーンのシフトを実現することは可能になる。
【０１４８】
図９に戻って、図９下段左側にはブランク描画処理後のＬ画像を、下段右側にはブランク描画処理後のＲ画像を示している。Ｌ画像においては、無画素領域Ｌ１に、プレーンからはみ出た領域Ｌ２の画像を貼り付けている。同様に、Ｒ画像においては、無画素領域Ｒ１に、プレーンからはみ出た領域Ｒ２の画像を貼り付けている。
【０１４９】
無画素領域Ｌ１，Ｒ１には、それぞれ背景画像（元画像）の一部が貼り付けられるので、表示画面上において、当該領域が３Ｄには見えないまでも、黒帯として現れることはなく、３Ｄとして認識できる領域の画像と似た画像が表示されるので、視聴者の違和感や不快感を軽減することができる。
【０１５０】
図１２は、ブランク描画処理がなされた後のバックグラウンドプレーンの格納内容を示す。同図（ａ）において、アドレス0001の記憶素子には、バックグラウンドプレーン座標系における座標(1917,0)の画素データが、アドレス0002の記憶素子には、バックグラウンドプレーン座標系における座標(1918,0)の画素データが、アドレス0003の記憶素子には、バックグラウンドプレーン座標系における座標(1919,0)の画素データが格納されていることがわかる。
【０１５１】
同様に、アドレス07A9の記憶素子には、バックグラウンドプレーン座標系における座標(1917,1)の画素データが、アドレス07AAの記憶素子には、バックグラウンドプレーン座標系における座標(1918,1)の画素データが、アドレス07ABの記憶素子には、バックグラウンドプレーン座標系における座標(1919,1)の画素データが格納されていることがわかる。
【０１５２】
同図（ｂ）において、アドレス07A6の記憶素子には、バックグラウンドプレーン座標系における座標(0,0)の画素データが、アドレス07A7の記憶素子には、バックグラウンドプレーン座標系における座標(1,0)の画素データが、アドレス07A8の記憶素子には、バックグラウンドプレーン座標系における座標(2,0)の画素データが格納されていることがわかる。
【０１５３】
同様に、アドレス0EEAの記憶素子には、バックグラウンドプレーン座標系における座標(0,1)の画素データが、アドレス0EEBの記憶素子には、バックグラウンドプレーン座標系における座標(1,1)の画素データが、アドレス0EECの記憶素子には、バックグラウンドプレーン座標系における座標(2,1)の画素データが格納されていることがわかる。
【０１５４】
なお、Ｌ画像に対して選択されるクリップ画像と、Ｒ画像に対して選択されるクリップ画像は、必ずしも別々のものである必要はなく、同一のものでもよい。
また、クリップ画像のサイズは、必ずしもブランク領域のサイズと一致していなくてもよい。クリップ画像のサイズがブランク領域のサイズと一致しない場合には、クリップ画像をスケーリング（拡大・縮小）して描画を行ってもよい。また、クリップ画像のサイズが、ブランク領域より小さい場合には、当該クリップ画像のサイズを変えずに、ブランク領域内に複数枚クリップ画像を並べて、タイリング状に描画を行ってもよい。この場合の具体例を変形例１−２で後述する。その他、ブランク描画処理の際には、横回転や縦回転、左右の反転や上下の反転、輝度の調整や輪郭調整など、クリップ画像に対して特殊な処理を行ってもよい。これら以外のクリップ画像の指定する方法が用いられていてもよい。
【０１５５】
以上のように本実施の形態によれば、再生装置２００において背景画像を立体視再生する際には、バックグラウンドプレーンをプレーンシフトする。バックグラウンドプレーンにおいてプレーンシフトにより生じる無画素領域には、元画像２０１の一部が書き込まれる。したがって、ビデオの再生停止が実行された場合等、背景画像のみが表示される場合であっても、視聴者が液晶眼鏡を通して背景画像を視聴した際には、Ｌ画像とＲ画像とで共通の描画がなされる共通描画領域については立体効果を得ることができるとともに、無画素領域には元画像２０１の一部が書き込まれているため、表示画面の両脇に、無画素領域に書き込まれた元画像２０１の一部を認識することになる。元画像２０１の一部は、立体効果が得られる共通描画領域における画像と似ているため、視聴者はあまり違和感や不快感を抱くことなく、背景画像を見ることができる。本実施の形態で示したように背景画像がパターン画像である場合には、特に有効である。
（変形例１−１）
バックグラウンドプレーンに関する一部領域として、プレーンシフトによりバックグラウンドプレーンからはみ出した領域を用いた。以下、この一部領域を、ブランク領域に隣接する領域へと替えた一変形例について説明する。
【０１５６】
図１３は、変形例１−１における具体例を示す図である。図１３上段は、バックグラウンドプレーンに描かれた背景画像２０１を示したものであり、図９上段と同様である。
図１３中段左側にはＬ画像を、中段右側にはＲ画像を示しており、これらは図９中段と同様である。ここで、Ｌ画像において、無画素領域Ｌ１に隣接する領域を隣接領域Ｌ４とする。同様に、Ｒ画像において、無画素領域Ｒ１に隣接する領域を隣接領域Ｒ４とする。
【０１５７】
図１３下段左側には、ブランク描画処理後のＬ画像を、下段右側にはブランク描画処理後のＲ画像を示している。Ｌ画像においては、無画素領域Ｌ１に隣接領域Ｌ４の画像をコピーし貼り付けている。Ｒ画像においては、無画素領域Ｒ１に隣接領域Ｒ４の画像をコピーし貼り付けている。
【０１５８】
このように、無画素領域に、当該無画素領域に隣接する隣接領域をコピーし貼り付けることにより、表示画面上において、当該無画素領域が３Ｄには見えないまでも、３Ｄとして認識できる領域の画像と似た画像が表示されるので、視聴者の違和感や不快感を軽減することができる。
（変形例１−２）
続いて、バックグラウンドプレーンに関する一部領域を、アプリケーションにより指定された領域へと替えた一変形例について説明する。
【０１５９】
この場合、指定する領域の情報が、ＢＤ−Ｊアプリケーションの中に記録されており、このＢＤ−Ｊアプリケーションは、仮想ファイルシステム２５から提供され、ＢＤ−Ｊモジュールの中で実行される。ＢＤ−Ｊアプリケーションは、レンダリングエンジン２２ｂを通じて、ブランク描画処理で用いる領域を指定する。
【０１６０】
図１４は、変形例１−２における具体例を示す図である。図１４上段は、バックグラウンドプレーンに描かれた背景画像２０１を示したものであり、図９上段と同様である。
図１４中段左側にはＬ画像を、中段右側にはＲ画像を示しており、これらは図９中段と同様である。ここで、Ｌ画像において、ＢＤ−Ｊアプリケーションにより指定された領域を領域Ｌ５とする。同様に、Ｒ画像において、ＢＤ−Ｊアプリケーションにより指定された領域を領域Ｒ５とする。
【０１６１】
図１３下段左側には、ブランク描画処理後のＬ画像を、下段右側にはブランク描画処理後のＲ画像を示している。Ｌ画像においては、無画素領域Ｌ１に、領域Ｌ５の画像を複数タイル状に貼り付けている。Ｒ画像においては、無画素領域Ｒ１に、領域Ｒ５の画像を複数タイル状に貼り付けている。
【０１６２】
このように、ブランク領域のサイズと、ＢＤ−Ｊアプリケーションにより指定された領域のサイズとが一致しない場合であっても、当該領域の画像を複数タイル状に貼り付けることにより、視聴者の違和感や不快感を軽減することができる。
（実施の形態２）
実施の形態１では、背景画像（元画像）の一部を無画素領域に貼り付けることで、視聴者の違和感及び不快感を軽減したが、本実施の形態では、プレーンシフトの際に特定の色で無画素領域を塗りつぶすことにより視聴者の違和感及び不快感を軽減する。
＜ブランク描画処理＞
図１５は、本実施の形態におけるレンダリングエンジン２２ｂによるブランク描画処理を示すフローチャートである。
【０１６３】
まず、レンダリングエンジン２２ｂは、バックグラウンドプレーン６ｃにおける背景データの格納領域のうちブランク領域を検出する（ステップＳ４０１）。
次に、ブランク領域を塗りつぶす色を指定する（ステップＳ４０２）。ここで、ブランク領域を塗りつぶす色とは、バックグラウンドプレーンに格納された画素データを用いて生成され、例えば、無画素領域に隣接する縦画素列の各画素データに対応する色の平均をとったものである。
【０１６４】
検出したブランク領域に、指定した色を示す画素データを書き込む（ステップＳ４０３）。
これが最終的にビデオプレーン等と重畳されるバックグラウンドプレーンとなる。
＜具体例＞
続いて、プレーンシフト及びブランク描画処理を、具体例を用いて説明する。
【０１６５】
図１６は、本実施の形態におけるプレーンシフト及びブランク描画処理の具体例を示す図である。図１６上段は、バックグラウンドプレーンに描かれた背景画像２０１を示したものである。
【０１６６】
図１６中段左側にはＬ画像を、中段右側にはＲ画像を示しており、これらは図９中段と同様である。ここで、Ｌ画像において、無画素領域Ｌ１に隣接する縦画素列を縦画素列Ｌ６とする。同様に、Ｒ画像において、無画素領域Ｒ１に隣接する縦画素列を縦画素列Ｒ６とする。
【０１６７】
ここで、色設定を３つの数値の組（Ｒ、Ｇ、Ｂ）で表現し、プレーンの縦方向の画素数をymaxとする。バックグラウンドプレーンの縦画素列Ｌ６のＹ座標yに設定された画素の色を（Ｒ[y]、Ｇ[y]、Ｂ[y]）と表現すると、ブランク領域に設定する色は、以下のように算出することができる。縦画素列Ｒ６についても同様に算出することができる。
【０１６８】
（Ｒa、Ｇa、Ｒa）
Ｒa：（Ｒ[0]〜Ｒ[ymax-1]の総和）/ ymax
Ｇa：（Ｇ[0]〜Ｇ[ymax-1]の総和）/ ymax
Ｂa：（Ｂ[0]〜Ｂ[ymax-1]の総和）/ ymax
なお、ここに示した計算方法はもちろん一例であり、他の計算方法を用いてもよい。また、背景データの輝度、色相、明度、及び彩度を示す情報のうち少なくとも一つ以上の情報に基づいて、背景データの色を示す色情報を算出できればよい。
【０１６９】
また、無画素領域に隣接する縦画素列の画素データ以外の、イメージプレーンにおける他の画素データを用いて色を算出するとしてもよいし、またイメージプレーンではなく、ビデオプレーンなど他のプレーンから情報を取得することにしてもよい。
【０１７０】
図１６に戻って、本図下段左側には、ブランク描画処理後のＬ画像を、下段右側にはブランク描画処理後のＲ画像を示している。Ｌ画像においては、無画素領域Ｌ１は、縦画素列Ｌ６の色の平均をとったもので塗りつぶされている。Ｒ画像においては、無画素領域Ｒ１に、縦画素列Ｒ６の色の平均をとったもので塗りつぶされている。
【０１７１】
無画素領域Ｌ１，Ｒ１は、縦画素列の色の平均をとったもので塗りつぶされるため、表示画面上において、当該領域には、３Ｄとして認識できる領域との界面の色と似た色が表示されることになる。そうすると、その領域は３Ｄとして認識できる領域と非常に似たものとなり、特別目立つこともないため、視聴者の違和感や不快感を軽減することができる。
【０１７２】
なお、Ｌ画像に対して選択される色と、Ｒ画像に対して選択される色とは、必ずしも別々のものである必要はなく、同一のものでもよい。
以上のように本実施の形態によれば、バックグラウンドプレーンにおいてプレーンシフトにより生じる無画素領域には、当該無画素領域に隣接する縦画素列における平均の色を示す画素データが書き込まれることになる。したがって、ビデオの再生停止が実行された場合等、背景画像のみが表示される場合であっても、視聴者が液晶眼鏡を通して背景画像を視聴した際には、Ｌ画像とＲ画像とで共通の描画がなされる共通描画領域については立体効果を得ることができるとともに、無画素領域が当該無画素領域に隣接する縦画素列における平均の色で塗りつぶされるため、表示画面の両脇に、当該平均の色で塗りつぶされた領域を認識することになる。縦画素列における平均の色は、立体効果が得られる共通描画領域の界面の色と似ているため、視聴者はあまり違和感や不快感を抱くことなく、背景画像を見ることができる。
【０１７３】
なお、ここでは、ブランク領域の描画色を、無画素領域に隣接する縦画素列における平均の色としたが、ディスプレイ画面外の環境色（例えば、テレビ４００のフレームの色）に近似した色としても、視聴者の違和感及び不快感を軽減させることができる。
（変形例２−１）
ブランク領域を塗りつぶす色として、無画素領域に隣接する縦画素列の各画素データに対応する色の平均をとったものを用いた。以下、ブランク領域を塗りつぶす色を、ユーザが指定した色へと替えた一変形例について説明する。
【０１７４】
図１７は、色指定のための対話型のユーザインタフェース９０１を示す図である。設定する色の選択肢９１１を提示し、リモコン入力によってフォーカス９１２を動かし、最終的には対話型の選択確認表示９１３を使用して、ユーザに指定色を決定させる機能を実現する。
【０１７５】
もちろんユーザに色を指定させる手段はこれに限定されるものではなく、他の手段で実現されていてもよい。
ユーザインタフェース９０１によって指定された色を用いて、ブランク領域は塗りつぶされる。
【０１７６】
このユーザインタフェース９０１は、例えば、メニューが表示されるタイミングで当該メニューに併せて表示されてもよいし、ビデオの再生が停止されたタイミングで表示されてもよいし、ユーザ操作に基づいて表示されてもよい。
【０１７７】
これにより、視聴者は例えば、部屋の照明が明るい場合には明るい色を指定したり、部屋の壁紙の色に合わせて色を指定したりすることで、立体視の際に感じる違和感及び不快感を軽減することができる。
（変形例２−２）
続いて、ブランク領域を塗りつぶす色を、アプリケーションによって指定された色へと替えた一変形例について説明する。
【０１７８】
この場合、指定する色の色情報が、ＢＤ−Ｊアプリケーションの中に記録されており、このＢＤ−Ｊアプリケーションは、仮想ファイルシステム２５から提供され、ＢＤ−Ｊモジュールの中で実行される。ＢＤ−Ｊアプリケーションは、レンダリングエンジン２２ｂを通じて、バックグラウンドプレーンに対してブランク領域の色を指定し、この色によってブランク領域は塗りつぶされる。
（実施の形態３）
本実施の形態では、ブランク領域に貼り付けるための補助画像を予め用意しておき、ブランク領域が発生すると、当該領域に補助画像を貼り付けることにより、視聴者の違和感及び不快感を軽減する。
【０１７９】
図１８は、本実施の形態におけるレンダリングエンジン２２ｂによるブランク描画処理を示すフローチャートである。
まず、レンダリングエンジン２２ｂは、バックグラウンドプレーンにおける背景データの格納領域のうちブランク領域を検出する（ステップＳ５０１）。
【０１８０】
次に、ブランク領域に描画する補助画像を取得する（ステップＳ５０２）。ここで、補助画像は、ローカルストレージ２４またはリムーバブルメディア２７に予め格納されているものとし、ブランク領域に貼り付けた際に視聴者の違和感及び不快感を軽減させるものであるのが望ましい。
【０１８１】
検出したブランク領域に、取得した補助画像を構成する画素データを書き込む（ステップＳ５０３）。これが最終的にビデオプレーン等と重畳されるバックグラウンドプレーンとなる。
【０１８２】
続いて、プレーンシフト及びブランク描画処理を、具体例を用いて説明する。
図１９は、本実施の形態におけるプレーンシフト及びブランク描画処理の具体例を示す図である。図１９上段左側にはＬ画像を、上段右側にはＲ画像を示しており、これらは図９中段と同様である。
【０１８３】
図１９下段左側は、ローカルストレージ２４またはリムーバブルメディア２７に格納されている補助画像Ｌ７，Ｒ７を示す図である。ここでは、補助画像Ｌ７，Ｒ７は、画素領域Ｌ３，Ｒ３の画像と似た画像になっている。
【０１８４】
補助画像Ｌ７が、Ｌ画像における無画素領域Ｌ１に貼り付けられ、補助画像Ｒ７が、Ｒ画像における無画素領域Ｒ１に貼り付けられる。
無画素領域Ｌ１，Ｒには、補助画像Ｌ７，Ｒ７が貼り付けられるため、表示画面上において、当該領域には、３Ｄとして認識できる領域の画像と似た画像が表示されることになる。そうすると、その領域は３Ｄとして認識できる領域と非常に似たものとなり、特別目立つこともないため、視聴者の違和感や不快感を軽減することができる。
【０１８５】
なお、Ｌ画像に対して指定される補助画像と、Ｒ画像に対して指定される補助画像とは、必ずしも別々のものでなくともよく、同一の補助画像がそれぞれの無画素領域に貼り付けられてもよい。
【０１８６】
また、補助画像のサイズは、必ずしもブランク領域のサイズと一致していなくてもよい。補助画像のサイズがブランク領域のサイズと一致しない場合には、補助画像をスケーリング（拡大・縮小）して描画を行ってもよい。また、補助画像のサイズがブランク領域のサイズより小さい場合には、当該補助画像のサイズを変えずに、ブランク領域内に補助画像を複数枚並べてタイリング状に描画を行ってもよい。その他、ブランク描画処理の際には、横回転や縦回転、左右の反転や上下の反転、輝度の調整や輪郭調整など、補助画像に対して特殊な処理を行ってもよい。
【０１８７】
以上のように本実施の形態によれば、バックグラウンドプレーンにおいてプレーンシフトにより生じる無画素領域には、補助画像が貼り付けられることになる。したがって、ビデオの再生停止が実行された場合等、背景画像のみが表示される場合であっても、視聴者が液晶眼鏡を通して背景画像を視聴した際には、Ｌ画像とＲ画像とで共通の描画がなされる共通描画領域については立体効果を得ることができるとともに、無画素領域には補助画像が貼り付けられているため、表示画面の両脇に、補助画像を認識することになる。補助画像は、立体効果が得られる共通描画領域の画像と似ているため、視聴者はあまり違和感や不快感を抱くことなく、背景画像を見ることができる。
（変形例３−１）
ローカルストレージ２４またはリムーバブルメディア２７に予め格納されていた補助画像を用いた。以下、補助画像を、アプリケーションにより指定された補助画像へと替えた一変形例について説明する。
【０１８８】
この場合、ＢＤ−Ｊアプリケーションは仮想ファイルシステム２５から提供され、ＢＤ−Ｊモジュール１５の中で実行される。補助画像の指定は、ＢＤ−Ｊアプリケーションの中に記録されている。ＢＤ−Ｊアプリケーションは、レンダリングエンジン２２ｂを通じて、予め記憶されている1つ以上の補助画像の中から、ブランク描画処理に用いる補助画像を指定する。
＜補足＞
以上、本発明に係る再生装置について、実施の形態に基づいて説明したが、本発明は上記実施の形態に限られないことは勿論である。
【０１８９】
（１）上記実施の形態では、映像を再生する再生装置２００と、映像を表示する表示ディスプレイ４００とは、別々の機器で実施されていることを前提に説明したが、映像の再生および表示を同一機器で行う構成であってもよい。
（２）上記実施の形態では、シャッタ眼鏡５００を用いて立体視視聴を行う方法を前提に説明したが、Ｌ画像・Ｒ画像をそれぞれ左眼・右眼に視聴させる他の方式を利用してもよい。例えば、サイドバイサイド方式や、レンチキュラレンズなどを表示ディスプレイに使い、眼鏡などの特別な視聴器具を利用しない方式を用いていても構わない。
（３）再生装置の構成において、一組のビデオデコーダとビデオプレーンを持ち、立体視映像を出力する際には左眼用の映像と右眼用の映像の処理を交互に行い出力するとしてもよい。このような構成にすることで、メモリやグラフィックにおける機器リソースが乏しい機器（例えばＣＥ機器）では、必要とする演算量を抑えることができる利点を得る。ＰＧデコーダとＰＧプレーンについても、一組のみ備えることにより同様の効果を得ることができる。
【０１９０】
（４）上記実施の形態では、液晶眼鏡５００は、液晶シャッタと制御部とから構成され、視聴者の左目にレフトビュー用の画像を、右目にライトビュー用の画像を供する仕組みとしたが、これに限定される必要はない。例えば、液晶ではなく偏光フィルタを用いることにより立体視を実現する眼鏡が市販されているが、そのような機構が用いられた眼鏡を用いてももちろんよい。
（５）上記実施の形態では、Ｌ画像の場合は、バックグラウンドプレーンをイメージシフト量レジスタの値だけシフトさせ、Ｒ画像の場合には、その反対の方向に同じ値だけシフトさせるとしたが、他の方法を用いてもよい。例えば、Ｌ画像の場合は、バックグラウンドプレーンをシフトさせず、Ｒ画像の場合にのみ、バックグラウンドプレーンをイメージシフト量レジスタの値だけシフトさせてもよい。また、Ｌ画像の場合にのみ、バックグラウンドプレーンをイメージシフト量レジスタの値だけシフトさせ、Ｒ画像の場合はシフトさせないとしてもよい。いずれの方法を用いても、イメージシフト量レジスタの値に比例する分だけ、Ｌ画像とＲ画像の間ではプレーンシフトによる視差が生まれることになる。
（６）上記実施の形態では、バックグラウンドプレーンを例に挙げて、プレーンシフトに起因する視聴者の違和感や不快感を軽減する方法について説明したが、本発明は、プレゼンテーショングラフィクスプレーン、インタラクティブグラフィクスプレーンに対しても適用可能である。
（７）また、ＢＤ−ＲＯＭの再生では、再生映像のスケーリング（縮小）表示を行うことができる。例えば、バックグラウンドプレーンを用いている立体視画像をスケーリングし、はめ込み画像として表示した場合であっても、プレーンシフトを伴っていればブランク領域を生じることには変わりない。その場合、はめ込み画像の両端に関しては、左目用及び右目用のはめ込み画像の一方では無画素領域で、他方では何らかの描画がなされた領域が生じることとなる。したがって、本発明をスケーリング後のはめ込み画像にも適用することができる。
【０１９１】
もちろん、スケーリング時には強制的に２Ｄ表示することにして、３Ｄ再生を停止することで不快感を軽減するとしてもよい。
（８）上記実施の形態では、プレーンメモリにおける記憶素子の内容をシフトすることで、プレーンシフトを実現したが、プレーンメモリに格納されている画素データをライン単位に合成部１０に読み出す際、以下のような改良を行ってもよい。ここで、1920×1080、1280×720といった解像度をもつ画素データの集合体のうち、一ライン、つまり、横1920画素の集まり、又は横1280画素の集まりをラインデータと呼ぶ。
【０１９２】
合成部１０は、ビデオプレーン４ｃ、バックグラウンドプレーン６ｃ、ＰＧプレーン５ｆ、ＩＧプレーン８のそれぞれから読み出されたラインデータに対し、合成を実行する。
図２０は、合成部１０の構成を示す図である。本図に示すように、合成部１０は、ラインメモリ５０〜５４、α１乗算部５４、（１−α１）乗算部５５、ブレンド部５６、（１−α２）乗算部５７、スケーラ５８、α２乗算部５９、ブレンド部６０、スケーラ６１、α３乗算部６２、（１−α３）乗算部６３、ブレンド部６４から構成される。
【０１９３】
ラインメモリ５０は、ＩＧプレーン８から読み出されたラインデータを格納する。
ラインメモリ５１は、ＰＧプレーン５ｆから読み出されたラインデータを格納する。
ラインメモリ５２は、ビデオプレーン４ｃから読み出されたインデータを格納する。
【０１９４】
ラインメモリ５３は、バックグラウンドプレーン６ｃから読み出されたラインデータを格納する。
α１乗算部５４は、ラインメモリ５１に読み出されたピクチャを構成するラインデータの揮度に、透過率α１を乗じる。
【０１９５】
（１−α１）乗算部５５は、ラインメモリ５３に読み出された背景データを構成するラインデータの揮度に、透過率（１−α１）を乗じる。
ブレンド部５６は、α１乗算部５４により画素毎に透過率α１が乗じられたラインデータと、（1−α１）乗算部５５により画素毎に透過率（1-α１）が乗じられたラインデータとを合成する。
【０１９６】
（１−α２）乗算部５７は、ブレンド部５６の出力に、透過率（１−α２）を乗じる。
スケーラ５８は、ラインメモリ５２に読み出されたラインデータを拡大する。
α２乗算部５９は、スケーラ５８によって拡大がなされたピクチャを構成するラインデータの揮度に、透過率α２を乗じる。
【０１９７】
ブレンド部６０は、透過率α２が乗じられたラインデータと、（1−α２）乗算部５７により画素毎に透過率（1-α２）が乗じられたラインデータとをブレンドする。
スケーラ６１は、ラインメモリ５０に読み出されたラインデータを拡大する。
【０１９８】
α３乗算部６２は、ラインメモリ５０に読み出され、スケーラ６１によって拡大がなされたグラフィクスを構成するラインデータの揮度に、透過率α３を乗じる。
（１−α３）乗算部６３は、ブレンド部６０の出力結果であるラインデータの揮度に、透過率（１−α３）を乗じる。
【０１９９】
ブレンド部６４は、透過率α３が乗じられたラインデータと、（1−α３）乗算部６３により画素毎に透過率（1-α３）が乗じられたラインデータとをブレンドする。
以上で、合成部１０の構成についての説明を終える。
【０２００】
上記実施の形態で説明したプレーンシフトエンジン９ａは、ＩＧプレーン、及びＰＧプレーンにおける記憶素子からライン単位の画素データを読み出して、各プレーンに対応するラインメモリのそれぞれに格納するという転送処理を実現する。この転送処理にあたって、各ラインメモリにおける画素データの転送先となるアドレスを変化させることで、上記実施の形態に示したような記憶素子内の画素データの座標移動と等価の処理を実現する。プレーンシフトエンジン９ｂについても同様である。
【０２０１】
図２１は、左方向のプレーンシフトをラインデータ毎に実行する過程を示す。（ａ）は、バックグラウンドプレーンに存在するyライン目の画素データであり、（ｂ）は、ラインメモリに読み出された、yラインの画素データを示す。本図に示すように、プレーンオフセットがFピクセルであれば、yライン目の画素データのうち、(F+1,y)から(1919,0)までが、格納されることがわかる。そして、右端には、Ｆピクセル分の空きが存在することがわかる。
【０２０２】
（ｃ）は、非透明画素データの追加を示す。Fピクセル分の空きに、非透明画素データが追加されていることがわかる。この非透明画素データは、上記各実施の形態で説明したとおりであり、例えば、所定の色を表す画素データである。
【０２０３】
図２２は、右方向のプレーンシフトをラインデータ毎に実行する過程を示す。（ａ）は、バックグラウンドプレーンに存在するyライン目の画素データであり、（ｂ）は、ラインメモリに読み出された画素データを示す。本図に示すように、プレーンオフセットがFピクセルであれば、yライン目の画素データのうち、(0,y)から(1919-F,0)までが、格納されることがわかる。そして、左端には、Ｆピクセル分の空きが存在することがわかる。
【０２０４】
（ｃ）は、左端への非透明画素データの追加を示す。Fピクセル分の空きに、非透明画素データが追加されていることがわかる。
以上で、プレーンシフトをラインデータ毎に実行する過程についての説明を終える。
【０２０５】
プレーンシフトをラインデータ毎に実行するプレーンシフトエンジン９ｂは、図２３のフローチャートの処理手順をＣＰＵに実行させるようなプログラムを作成して、再生装置に組込むことで実装することができる。以降、ソフトウェアによるプレーンシフトエンジン９ｂの実装について説明する。
【０２０６】
図２３は、ラインメモリへの読み出しの処理手順を示すフローチャートである。
ステップＳ６０１〜ステップＳ６０５は、ステップＳ６０１において変数iに0を設定した上、ステップＳ６０２〜ステップＳ６０５の処理を繰り返すループ構造になっている。本ループの終了条件は、変数iがライン数-1になることであり、かかるステップＳ６０４においてNoと判定される限り、変数iはインクリメントされて、ステップＳ６０２〜６０５の処理を繰り返すことになる。ステップＳ６０２では、バックグラウンドプレーンにおける(X0,Yi)から(Xn-プレーンオフセット-1,Yi)までの画素データを読み出して、ラインメモリにおける(X0+プレーンオフセット)から(Xn)までに書き込む。ステップＳ６０３において、ラインメモリにおけるX0から〜までに非透明画素データを書き込む。
【０２０７】
ステップＳ６０６〜ステップＳ６１０は、ステップＳ６０６において変数iに0を設定した上、ステップＳ６０７〜ステップＳ６１０の処理を繰り返すループ構造になっている。本ループの終了条件は、ステップＳ６０９において変数iがライン数-1になることであり、かかるステップＳ６０９においてNoと判定される限り、変数iはインクリメントされて、ステップＳ６０７〜６１０の処理を繰り返すことになる。ステップＳ６０７では、バックグラウンドプレーンにおける(X0＋プレーンオフセット,Yi)から(Xn,Yi)までの画素データを読み出して、ラインメモリにおける(X0)から(Xn−プレーンオフセット-1)までに書き込む。ステップＳ６０８において、ラインメモリにおけるX0から(X0+プレーンオフセット-1)までに非透明画素データを書き込む。
【０２０８】
以上で、左方向のプレーンシフトをラインデータ毎に実行する過程についての説明を終える。
以上のように、バックグラウンドプレーンにおける画素データを、ライン毎に読み出す際、ラインメモリにおいて右方向のシフト、左方向のシフトを実現するので、バックグラウンドプレーンに対するメモリアクセスの頻度を少なくすることができる。プレーンシフトエンジン９ａについても同様である。
【０２０９】
また、以下に示す技術的トピックについては、更なる改良や変更実施を加えることができる。各実施の形態に示した通り実施するか、これらの改良・変更を施すか否かは、何れも任意的であり、実施する者の主観によることは留意されたい。
＜記録装置としての実施＞
再生装置２００は、ローカルストレージ２４およびリムーバブルメディア２７を具備していて、これらへの書き込みを想定した構成になっているので、本願明細書に記載された再生装置は、記録装置としての機能を兼備しているといえる。再生装置２００が記録装置として機能する場合、以下の2つの態様によって、管理オブジェクトの書き込みを実行する。
【０２１０】
i)再生装置２００が仮想パッケージを再生する機能をもつ場合、BD-Jオブジェクトの書き込みを以下のように行う。つまり、BD-ROMが装填された際、アプリケーションからの要求に従い、前記BD-ROMに対応する追加コンテンツを、ネットワークを介して、WWWサーバから取得する。取得された追加コンテンツはGUI管理テーブルが記述されてあるBD-Jオブジェクトを含む。「GUI管理テーブル」は、動作中のアプリケーションがGUIを行う際の管理テーブルであり、GUI表示を実行するにあたっての解像度や、GUIに用いるフォントデータ、GUIに対するメニューコール、タイトルコールがユーザによってなされた場合、これらのコールをマスクするかどうかを規定するマスクフラグを含む。
【０２１１】
再生装置２００において、記録制御を行う制御部は、前記アプリケーションからの要求に従い、取得したBD-Jオブジェクトをローカルストレージに書き込む。こうすることで、BD-ROMに記録されたコンテンツと、前記ローカルストレージに記録された追加コンテンツとを組み合わせることで、前記仮想パッケージを構築することが可能になる。
【０２１２】
ここで、前記BD-ROMには、ディスクルート証明書の識別子、BD-ROMコンテンツを頒布した組織の識別子、BD-ROMの識別子が記録されており、追加コンテンツが格納されるべき領域は、ディスクルート証明書識別子と、組織識別子と、BD-ROM識別子とを含むファイルパスによって特定される。
【０２１３】
前記アプリケーションは、追加コンテンツが格納されるべき領域を特定するファイルパスを、制御部に引き渡すことで書き込みを行う。
前記ローカルストレージが、ディレクトリ名、及び、ファイル名が２５５文字以下に制限されたファイルシステムを有している場合、前記ローカルストレージへの書き込みに用いられるファイルパスは、８文字以下のディレクトリ名、及び、ファイル名で、かつ拡張子名が３文字以下である８.３形式のファイルシステムにおけるファイル名と、拡張子との指定を含む。
【０２１４】
ii)再生装置２００がオンデマンドマニュファクチャサービス又は電子的セルスルーサービス(MODEST)の供給を受ける機能をもつ場合、BD-Jオブジェクトの書き込みを以下のように行う。
【０２１５】
つまり再生装置２００がオンデマンドマニュファクチャサービス又は電子的セルスルーサービスによってBD-Jオブジェクトの供給を受ける際、リムーバブルメディアにおけるルートディレクトリの配下に、デフォルトのディレクトリと、MODESTディレクトリとをクリエイトして、MODESTディレクトリの配下に、BDMVディレクトリをクリエイトする。MODESTディレクトリは、ファーストMODESTディレクトリであり、ファーストMODESTディレクトリは、前記サービスを初めて受けた際、クリエイトされるMODESTディレクトリである。ユーザが２回目以降にサービスを受ける際、再生装置２００における制御部は、２回目以降のサービスに対応するMODESTディレクトリをクリエイトする。
【０２１６】
そして、上述したように、GUI管理テーブルが記述されたBD-Jオブジェクトを取得すると、制御部は、デフォルトディレクトリにスタートアッププログラムを書き込み、MODESTディレクトリ配下のBDMVディレクトリにBD-Jオブジェクトを書き込む。このスタートアッププログラムは、記録媒体が再生装置２００に装填された際、最初に実行されるべきプログラムであり、BDMVディレクトリを選択する操作をユーザから受け付けるためのメニューを再生装置２００に表示させて、ルート変更機能を再生装置２００に実行させる。このルート変更機能は、メニューに対する選択操作がユーザによってなされた場合、選択されたBDMVディレクトリが属するMODESTディレクトリをルートディレクトリとして認識させる機能である。かかるルート変更機能によって、BD-ROMを再生するのと同じ制御手順によって取得したBD-Jオブジェクトに基づく再生制御を実行することができる。
＜Java(登録商標)アプリケーション＞
BD-Jアプリケーションは、例えば電子商取引(EC(Electronic Commerce))のクライアントアプリケーションであってもよいし、ネット対戦型のオンラインゲームであってもよい。更に、検索エンジンと連携して、様々なオンラインサービスを、ユーザに供給するものでもよい。
【０２１７】
＜GUI管理テーブルを組込む単位＞
GUI管理テーブルをBD-Jオブジェクトに設けてもよい。また、GUI管理テーブルをプレイリスト情報やプレイアイテム情報に対応付けるように設けて、カレントプレイリストが特定のプレイリストになったタイミングまたはカレントプレイアイテムが、特定のプレイアイテムになった際、プレーンメモリの解放を行った上で、立体視再生のためのプレーンメモリの確保又は平面視再生のためのプレーンメモリの確保を実行してもよい。このようにすることで、メモリデバイスの領域管理がより決め細かい時間精度でなされることになる。
＜立体視のためのビデオストリーム＞
レフトビュー用、ライトビュー用のビデオストリームをBD-ROMに記録しておくというのは、一例に過ぎない。ピクチャ毎に、画素毎の奥行き値を表すビデオストリームをエンハンスドビュービデオストリームとしてBD-ROMに記録しておいて、再生に供してもよい。
【０２１８】
＜実装すべきパッケージ＞
再生装置の実施にあたっては、以下のBD-J Extensionを再生装置に実装するのが望ましい。BD-J Extensionは、GEM[1.0.2]を越えた機能を、Java(登録商標)プラットフォームに与えるために特化された、様々なパッケージを含んでいる。BD-J Extensionにて供給されるパッケージには、以下のものがある。
・org.bluray.media
このパッケージは、Java(登録商標) Media FrameWorkに追加すべき、特殊機能を提供する。アングル、音声、字幕の選択についての制御が、このパッケージに追加される。
・org.bluray.ti
このパッケージは、GEM[1.0.2]における"サービス"を"タイトル"にマップして動作するためのAPIや、BD-ROMからタイトル情報を問い合わせる機構や新たなタイトルを選択する機構を含む。
・org.bluray.application
このパッケージは、アプリケーションの生存区間を管理するためのAPIを含む。また、アプリケーションを実行させるにあたってのシグナリングに必要な情報を問い合わせるAPIを含む。
・org.bluray.ui
このパッケージは、BD-ROMに特化されたキーイベントのための定数を定義し、映像再生との同期を実現するようなクラスを含む。
・org.bluray.vfs
このパッケージは、データの所在に拘らず、データをシームレスに再生するため、BD-ROMに記録されたコンテンツ(on-discコンテンツ)と、BD-ROMに記録されていないLocal Storage上のコンテンツ(off-discコンテンツ)とをバインドする機構(Binding Scheme)を提供する。
【０２１９】
Binding Schemeとは、BD-ROM上のコンテンツ(AVクリップ、字幕、BD-Jアプリケーション)と、Local Storage上の関連コンテンツとを関連付けるものである。このBinding Schemeは、コンテンツの所在に拘らず、シームレス再生を実現する。
＜プレーンの構成＞
プレゼンテーショングラフィクスプレーン５ｆ、インタラクティブグラフィクスプレーン８、バックグラウンドプレーン６ｃがSDRAMによって構成される場合、SDRAMに格納されている画素データを移動させるための特有の制御が必要になる。
【０２２０】
SDRAMは、時分割でアドレスピンに出力されたROWアドレスをメモリアレイに出力するROWアドレスデコーダ、時分割でアドレスピンに出力されたCOLUMNアドレスをメモリアレイに出力するCOLUMNアドレスデコーダ、メモリアレイから読み出された一ページ長のデータを保持してデータピンに出力するページデータバッファ、バースト読み出しすべきワード長をページデータバッファに指示するワード長レジスタを有する。SDRAMは、記憶素子に、コンデンサを採用しているので、自然放電が発生する。そのため、SDRAMでは、各記憶素子に対して、リフレッシュを行う必要があり、そのリフレッシュのための付加回路が必要になる。
【０２２１】
SDRAMにピクチャが格納されている場合、RAS,CAS,WE,CS,CKEの状態の組合せにてコマンドを形成し、これとアドレスの組合せによって、読み出し／書き込みを実行することでプレーンシフトを行う。例えば、バースト転送モードを利用する場合、活性化コマンドを発行すると共に、SDRAMのアドレスピンにROWアドレスを発行する。発行から一定時間のディレイを行った上でREADコマンドを発行すると共に、アドレスピンにCOLUMNアドレスを発行する。
＜プログラミング言語の適用範囲＞
上記実施形態では、仮想マシンのプログラミング言語としてJava（登録商標）を利用したが、Java（登録商標）ではなく、UNIX（登録商標） OSなどで使われているB-Shellや、Perl Script、ECMA Scriptなど他のプログラミング言語であっても良い。
＜マルチドライブ化＞
上記実施形態では、記録媒体の一例としてBD-ROM、BD-ROMからデータを読み出す機能を有する具体的な手段の一例としてBD-ROMドライブを例に挙げて説明をした。しかしながら、BD-ROMは単なる一例であり、記録媒体としてBD-R、BD-RE、DVD、CDなどの光ディスク媒体であっても、これらの記録媒体に上述したデータ構造を有するデータが格納されていること、これらの記録媒体を読み取るドライブ装置があれば、上述の実施の形態で説明した動作が可能である。
【０２２２】
各実施の形態における記録媒体は、光ディスク、半導体メモリカード等、パッケージメディア全般を含んでいる。上記実施の形態の記録媒体は予め必要なデータが記録された光ディスク（例えばBD-ROM、DVD-ROMなどの既存の読み取り可能な光ディスク）を例に説明をしたが、これに限定される必要はなく、例えば、放送またはネットワークを経由して配信された本発明の実施に必要なデータを含んだ３Ｄコンテンツを光ディスクへ書き込む機能を有する端末装置（例えば左記の機能は再生装置に組み込まれていても良いし、再生装置とは別の装置であってもよい）を利用して書き込み可能な光ディスク（例えばBD-RE、DVD-RAMなどの既存の書き込み可能な光ディスク）に記録し、この記録した光ディスクを本発明の再生装置に適用しても本発明の実施は可能である。
【０２２３】
また、記録媒体は光ディスク以外にも例えば、SDメモリカードなどのリムーバブルメディア（半導体メモリカード）であっても本発明の実施は可能である。
BD-ROMの代わりに半導体メモリを用いた場合には、半導体メモリカード内のデータを読み出すためのインタフェース（メモリカードＩ／Ｆ）を介してトラックバッファ２、ヒープメモリ、動的シナリオメモリ１２、静的シナリオメモリ１１に、データが転送されるように構成すればよい。
【０２２４】
より詳細には、再生装置２００のスロット（図示せず）に半導体メモリカードが挿入されると、メモリカードＩ／Ｆを経由して再生装置２００と半導体メモリカードが電気的に接続される。半導体メモリカードに記録されたデータはメモリカードＩ／Ｆを介してトラックバッファ２、ヒープメモリ、動的シナリオメモリ１２、静的シナリオメモリ１１に転送されるように構成すれば良い。
【０２２５】
続いて、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カードなどの可搬性を有する半導体メモリカード）に適用した場合においても、実施が可能である。
【０２３２】
例えば、BD-ROMに記録されるデータに相応するデータを例えば電子配信を利用して半導体メモリカードに記録して、半導体メモリカードから再生をするような構成としても良い。電子配信を利用して必要なデータを配信し、配信されたデータを記録する場合においても、配信されたデータのうちの一部または全てのデータに対して必要に応じて暗号化を行なって配信し、半導体メモリに必要なデータについては暗号化がなされたままで記録するのが望ましい。
【０２３３】
電子配信を利用して、本実施の形態で説明をしたデータに相応するデータ（配信データ）を半導体メモリに記録する動作について説明をする。
上述の動作は本実施の形態において説明をした再生装置がそのような動作を行なえるように構成をされていても良いし、本実施の形態の再生装置とは別に半導体メモリに配信データを記憶することを行う専用の端末装置にて行なうような形態であっても良い。ここでは再生装置が行なう例について説明をする。また記録先の半導体メモリとしてSDカードを例に説明をする。
【０２３４】
再生装置が備えるスロットに挿入されたSDメモリカードに配信データを記録する場合、まず配信データを蓄積する配信サーバ（図示せず）へ配信データの送信を要求する。このとき再生装置は挿入したSDメモリカードを一意に識別するための識別情報（例えば個々のSDメモリカード固有の識別番号、より具体的には、例えばSDメモリカードのシリアル番号等）をSDメモリカードから読み出して、読み出した識別情報を配信要求とともに、配信サーバへ送信する。
【０２３５】
この、SDメモリカードを一意に識別するための識別情報は例えば上述のボリュームIDに相当する。
一方、配信サーバでは、配信するデータのうち必要なデータ（例えばビデオストリーム、オーディオストリーム等）が暗号解読に必要な鍵（例えばタイトルキー）を用いて暗号の解除ができるように暗号化がなされてサーバ上に格納されている。
【０２３６】
例えば配信サーバは、秘密鍵を保持しており、半導体メモリカードの固有の識別番号のそれぞれに対して異なる公開鍵情報が動的に生成できるように構成されている。
また、配信サーバは、暗号化されたデータの解読に必要な鍵（タイトルキー）自身に対して暗号化ができるように構成されている（つまり暗号化タイトルキーを生成できるように構成されている）。
【０２３７】
生成される公開鍵情報は例えば上述のMKB、ボリュームID及び暗号化タイトルキーに相当する情報を含む。暗号化されたデータは例えば半導体メモリ固有の識別番号、後述する公開鍵情報に含まれる公開鍵本体、および再生装置に予め記録されたデバイスキーの組み合わせが正しければ、暗号解読に必要な鍵（例えばデバイスキー、MKB及び半導体メモリ固有の識別番号を元に、暗号化タイトルキーを復号して得られるタイトルキー）が得られ、この得られた暗号解読に必要な鍵（タイトルキー）を用いて、暗号化されたデータの解読ができるものである。
【０２３８】
次に、再生装置は、受信した公開鍵情報と配信データをスロットに挿入した半導体メモリカードの記録領域に記録する。
次に、半導体メモリカードの記録領域に記録した公開鍵情報と配信データに含まれるデータのうち暗号化したデータを復号して再生する方法の一例について説明をする。
【０２３９】
受信した公開鍵情報は例えば公開鍵本体（例えば上述のMKB及び暗号化タイトルキー）、署名情報、半導体メモリカードの固有の識別番号、および無効にすべきデバイスに関する情報を示すデバイスリストが記録されている。
【０２４０】
署名情報には例えば、公開鍵情報のハッシュ値を含む。
デバイスリストには例えば、不正に再生がなされる可能性があるデバイスに関する情報が記載されている。これは例えば再生装置に予め記録されたデバイスキー、再生装置の識別番号、または再生装置が備えるデコーダの識別番号といったように、不正に再生される可能性がある装置、装置に含まれる部品、または機能（プログラム）といったものを一意に特定するための情報である。
【０２４１】
半導体メモリカードの記録領域に記録した配信データのうち、暗号化されたデータの再生に関し、説明をする。
まず、公開鍵本体を利用して暗号化したデータを復号する前に復号鍵本体を機能させてよいかどうかに関するチェックを行う。
【０２４２】
具体的には、
（１）  公開鍵情報に含まれる半導体メモリ固有の識別情報と半導体メモリカードに予め記憶されている固有の識別番号とが一致するかどうかのチェック
（２）  再生装置内で算出した公開鍵情報のハッシュ値と署名情報に含まれるハッシュ値が一致するかのチェック
（３）  公開鍵情報に含まれるデバイスリストに示される情報に基づいて、再生を行う再生装置が不正な再生が可能かどうかのチェック（例えば公開鍵情報に含まれるデバイスリストに示されるデバイスキーと、再生装置に予め記憶されたデバイスキーが一致するかどうかのチェック）
を行なう。これらのチェックを行なう順番どのような順序で行なってもよい。
【０２４３】
上述の（１）〜（３）のチェックにおいて、公開鍵情報に含まれる半導体メモリ固有の識別情報と半導体メモリに予め記憶されている固有の識別番号とが一致しない、再生装置内で算出した公開鍵情報のハッシュ値と署名情報に含まれるハッシュ値が一致しない、または、再生を行う再生装置が不正に再生される可能性があると判断した、のいずれかを満足すれば、再生装置は、暗号化されたデータの解読がなされないように制御する。
【０２４４】
また、公開鍵情報に含まれる半導体メモリカードの固有の識別情報と半導体メモリカードに予め記憶されている固有の識別番号とが一致し、かつ再生装置内で算出した公開鍵情報のハッシュ値と署名情報に含まれるハッシュ値が一致し、かつ再生を行う再生装置が不正に再生される可能性がないと判断したのであれば、半導体メモリ固有の識別番号、公開鍵情報に含まれる公開鍵本体、および再生装置に予め記録されたデバイスキーの組み合わせが正しいと判断し、暗号解読に必要な鍵（デバイスキー、MKB及び半導体メモリ固有の識別番号を元に、暗号化タイトルキーを復号して得られるタイトルキー）を用いて、暗号化されたデータの解読を行なう。
【０２４５】
例えば暗号化されたデータがビデオストリーム、オーディオストリームである場合、ビデオデコーダは上述の暗号解読に必要な鍵（暗号化タイトルキーを復号して得られるタイトルキー）を利用してビデオストリームを復号し（デコードし）、オーディオデコーダは、上述の暗号解読に必要な鍵を利用してオーディオストリームを復号する（デコードする）。
【０２４６】
このように構成をすることにより、電子配信時において不正利用される可能性がある再生装置、部品、機能（プログラム）などが分っている場合、これらを識別するための情報をデバイスリストに示して、配信するようにすれば、再生装置側がデバイスリストに示されているものを含むような場合には公開鍵情報（公開鍵本体）を用いた復号を抑止できるようにできるため、半導体メモリ固有の識別番号、公開鍵情報に含まれる公開鍵本体、および再生装置に予め記録されたデバイスキーの組み合わせが、たとえ正しくても、暗号化されたデータの解読がなされないように制御できるため、不正な装置上での配信データの利用を抑止することが可能となる。
【０２４７】
また半導体メモリカードに予め記録されている半導体メモリカードの固有の識別子は秘匿性の高い記録領域に格納するような構成を採用するのが望ましい。何故ならば、半導体メモリカードに予め記録されている固有の識別番号（例えばSDメモリカードを例にすればSDメモリカードのシリアル番号等）は改竄がなされると、違法コピーが容易になされてしまう。何故ならば複数の半導体メモリカードには、それぞれ異なる固有の識別番号が割り当てられているが、この固有の識別番号が同一となるように改竄がなされてしまえば、上述の（１）の判定が意味を成さなくなり、改竄がなされた数に相当する違法コピーがなされてしまう可能性があるからである。
【０２４８】
従って、半導体メモリカードの固有の識別番号といった情報は秘匿性が高い記録領域に記録するような構成を採用するのが望ましい。
このような構成を実現するために、例えば半導体メモリカードは、半導体メモリカードの固有の識別子と言った秘匿性の高いデータを記録するための記録領域を通常のデータを格納する記録領域（第１の記録領域と称す）とは別の記録領域（第２の記録領域と称す）に設けること、およびこの第２の記録領域へのアクセスをするための制御回路を設けるとともに、第２の記録領域へのアクセスには制御回路を介してのみアクセスできるような構成とする。
【０２４９】
例えば、第２の記録領域に記録されているデータは暗号化がなされて、記録されており、制御回路は、例えば暗号化されたデータを復号するための回路が組み込まれている。制御回路へ第２の記録領域へのデータのアクセスが合った場合には、暗号を復号し、復号したデータを返すように構成すれば良い。または、制御回路は第２の記録領域に記録されているデータの格納場所の情報を保持しており、データのアクセスの要求があれば、対応するデータの格納場所を特定し、特定した格納場所から読み取ったデータを返すような構成としても良い。
【０２５０】
再生装置上で動作するアプリケーションで、電子配信を利用して半導体メモリカードに記録する要求するアプリケーションは、メモリカードＩ／Ｆを介して制御回路へ第２の記録領域に記録されたデータ（例えば半導体メモリ固有の識別番号）へのアクセス要求を発行すると、要求を受けた制御回路は第２の記録領域に記録されたデータを読み出して再生装置上で動作するアプリケーションへ返す。この半導体メモリカードの固有の識別番号とともに必要なデータの配信要求を配信サーバに要求し、配信サーバから送られる公開鍵情報、および対応する配信データを第１の記録領域に記録するように構成すればよい。
【０２５１】
また、再生装置上で動作するアプリケーションで、電子配信を利用して半導体メモリカードに記録を要求するアプリケーションは、メモリカードＩ／Ｆを介して制御回路へ第２の記録領域に記録されたデータ（例えば半導体メモリ固有の識別番号）へのアクセス要求を発行する前に、アプリケーションの改竄がされていないかを事前にチェックすることが望ましい。改竄のチェックには例えば既存のＸ.５０９仕様に準拠したデジタル証明書を利用したチェックなどを利用しても良い。
【０２５２】
また、半導体メモリカードの第１の記録領域に記録された配信データへのアクセスは半導体メモリカードが有する制御回路を介してアクセスする必要は必ずしもない。
＜プログラムの実施形態＞
各実施の形態に示したアプリケーションプログラムは、以下のようにして作ることができる。先ず初めに、ソフトウェア開発者は、プログラミング言語を用いて、各フローチャートや、機能的な構成要素を実現するようなソースプログラムを記述する。この記述にあたって、ソフトウェア開発者は、プログラミング言語の構文に従い、クラス構造体や変数、配列変数、外部関数のコールを用いて、各フローチャートや、機能的な構成要素を具現するソースプログラムを記述する。
【０２５３】
記述されたソースプログラムは、ファイルとしてコンパイラに与えられる。コンパイラは、これらのソースプログラムを翻訳してオブジェクトプログラムを生成する。
コンパイラによる翻訳は、構文解析、最適化、資源割付、コード生成といった過程からなる。構文解析では、ソースプログラムの字句解析、構文解析および意味解析を行い、ソースプログラムを中間プログラムに変換する。最適化では、中間プログラムに対して、基本ブロック化、制御フロー解析、データフロー解析という作業を行う。資源割付では、ターゲットとなるプロセッサの命令セットへの適合を図るため、中間プログラム中の変数をターゲットとなるプロセッサのプロセッサが有しているレジスタまたはメモリに割り付ける。コード生成では、中間プログラム内の各中間命令を、プログラムコードに変換し、オブジェクトプログラムを得る。
【０２５４】
ここで生成されたオブジェクトプログラムは、各実施の形態に示したフローチャートの各ステップや、機能的構成要素の個々の手順を、コンピュータに実行させるような1つ以上のプログラムコードから構成される。ここでプログラムコードは、プロセッサのネイティブコード、JAVAバイトコードというように、様々な種類がある。プログラムコードによる各ステップの実現には、様々な態様がある。外部関数を利用して、各ステップを実現することができる場合、この外部関数をコールするコール文が、プログラムコードになる。また、1つのステップを実現するようなプログラムコードが、別々のオブジェクトプログラムに帰属することもある。命令種が制限されているRISCプロセッサでは、算術演算命令や論理演算命令、分岐命令等を組合せることで、フローチャートの各ステップを実現してもよい。
【０２５５】
オブジェクトプログラムが生成されるとプログラマはこれらに対してリンカを起動する。リンカはこれらのオブジェクトプログラムや、関連するライブラリプログラムをメモリ空間に割り当て、これらを１つに結合して、ロードモジュールを生成する。こうして生成されるロードモジュールは、コンピュータによる読み取りを前提にしたものであり、各フローチャートに示した処理手順や機能的な構成要素の処理手順を、コンピュータに実行させるものである。かかるプログラムをコンピュータ読取可能な記録媒体に記録してユーザに提供してよい。
＜システムLSIの単体実施＞
システムLSIとは、高密度基板上にベアチップを実装し、パッケージングしたものをいう。複数個のベアチップを高密度基板上に実装し、パッケージングすることにより、あたかも1つのLSIのような外形構造を複数個のベアチップに持たせたものも、システムLSIに含まれる(このようなシステムLSIは、マルチチップモジュールと呼ばれる。)。
【０２５６】
ここでパッケージの種別に着目するとシステムLSIには、QFP(クッドフラッド アレイ)、PGA(ピン グリッド アレイ)という種別がある。QFPは、パッケージの四側面にピンが取り付けられたシステムLSIである。PGAは、底面全体に、多くのピンが取り付けられたシステムLSIである。
【０２５７】
これらのピンは、他の回路とのインタフェースとしての役割を担っている。システムLSIにおけるピンには、こうしたインタフェースの役割が存在するので、システムLSIにおけるこれらのピンに、他の回路を接続することにより、システムLSIは、再生装置２００の中核としての役割を果たす。
【０２５８】
かかるシステムLSIは、再生装置２００は勿論のこと、TVやゲーム、パソコン、ワンセグ携帯等、映像再生を扱う様々な機器に組込みが可能であり、本発明の用途を多いに広げることができる。
【０２５９】
バッファやビデオデコーダ、オーディオデコーダ、グラフィクスデコーダをも、一体のシステムLSIにする場合、システム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部分をそれぞれ独立して並行開発することができ、より効率よく開発することが可能となる。なお、それぞれのインタフェースの部分のきり方には、様々なきり方がある。例えば、ビデオデコーダ４ａ、４ｂ、オーディオデコーダ７、合成部１０を一チップ化したとき、これらを制御するミドルウェアおよびこれらと対応するミドルウェアとの間のインタフェースの部分について、チップを開発する側で開発をし、完成後、チップを再生装置に組み込むとともに、開発したミドルウェア、インタフェース部分を再生装置内のメモリなどの記憶部に組み入れることにより、再生装置側の開発とチップ側の開発を並行して行なうことができるようになり、開発効率が向上する。
【０２７３】
開発したチップと開発したチップに関連するミドルウェアとの間のインタフェース部分について、共通にすると、汎用性が高くなる。
なお、システムLSIにて構成をした部分に関しては、LSIでしか構成ができないというものではなく、システムLSIに含まれるべき機能に対応する信号処理回路を用いて構成をしても良いことは言うまでもない。
＜ボリューム領域におけるエクステントの位置付け＞
所定のデータがファイルに格納されて記録媒体に記録されている場合、ファイルシステム上では、“エクステント”という態様で扱われる。記録媒体において、このエクステントのアドレスは、以下のようにして管理されている。
【０２７４】
エクステントは、ボリューム領域におけるパーティション空間において、物理的に連続する複数のセクタ上に形成される。パーティション空間は、「ファイルセット記述子が記録された領域」、「終端記述子が記録された領域」、「ROOTディレクトリ領域」、「BDMVディレクトリ領域」、「JARディレクトリ領域」、「BDJOディレクトリ領域」、「PLAYLISTディレクトリ領域」、「CLIPINFディレクトリ領域」、「STREAMディレクトリ領域」から構成され、ファイルシステムによってアクセスされる領域のことである。以降、これらの領域について説明する。
【０２７５】
「ファイルセット記述子」は、ディレクトリ領域のうち、ROOTディレクトリのファイルエントリが記録されているセクタを指し示す論理ブロック番号（LBN)を含む。「終端記述子」は、ファイルセット記述子の終端を示す。
【０２７６】
次に、ディレクトリ領域の詳細について説明する。上述したような複数のディレクトリ領域は、何れも共通の内部構成を有している。つまり、「ディレクトリ領域」は、「ファイルエントリ」と、「ディレクトリファイル」と、「下位ファイルについてのファイル記録領域」とから構成される。
【０２７７】
「ファイルエントリ」は、「記述子タグ」と、「ICBタグ」と、「アロケーション記述子」とを含む。
「記述子タグ」は、自身がファイルエントリである旨を示すタグである。
【０２７８】
「ICBタグ」は、ファイルエントリ自身に関する属性情報を示す。
「アロケーション記述子」は、ディレクトリファイルの記録位置を示す論理ブロック番号（LBN）を含む。以上がファイルエントリについての説明である。続いて、ディレクトリファイルの詳細について説明する。
【０２７９】
「ディレクトリファイル」は、「下位ディレクトリについてのファイル識別記述子」と、「下位ファイルのファイル識別記述子」とを含む。
「下位ディレクトリのファイル識別記述子」は、自身の配下にある下位ディレクトリをアクセスするための参照情報であり、その下位ディレクトリを示す識別情報と、その下位ディレクトリのディレクトリ名の長さと、下位ディレクトリのファイルエントリがどの論理ブロック番号に記録されているかを示すファイルエントリアドレスと、その下位ディレクトリのディレクトリ名とから構成される。
【０２８０】
「下位ファイルのファイル識別記述子」は、自身の配下にある下位ファイルをアクセスするための参照情報であり、その下位ファイルを示す識別情報と、その下位ファイル名の長さと、下位ファイルについてのファイルエントリがどの論理ブロック番号に記録されているかを示すファイルエントリアドレスと、下位ファイルのファイル名とから構成される。
【０２８１】
これらのディレクトリのディレクトリファイルにおけるファイル識別記述子には、下位ディレクトリ及び下位ファイルのファイルエントリが、どの論理ブロックに記録されているかが示されているので、このファイル識別記述子を辿ってゆけば、ROOTディレクトリのファイルエントリからBDMVディレクトリのファイルエントリに到達することができ、また、BDMVディレクトリのファイルエントリからPLAYLISTディレクトリのファイルエントリに到達することができる。同様に、JARディレクトリ、BDJOディレクトリ、CLIPINFディレクトリ、STREAMディレクトリのファイルエントリにも到達することができる。
【０２８２】
「下位ファイルのファイル記録領域」とは、あるディレクトリの配下にある下位ファイルの実体が記録されている領域であり、当該下位ファイルについての「ファイルエントリ」と、1つ以上の「エクステント」とが記録されている。
【０２８３】
「ファイルエントリ」は、「記述子タグ」と、「ICBタグ」と、「アロケーション記述子」とを含む。
「記述子タグ」は、自身がファイルエントリである旨を示すタグである。タグには、ファイルエントリ記述子、スペースビットマップ記述子などの種別があるが、ファイルエントリの場合には、記述子タグとしてファイルエントリを示す“261”が記述される。
【０２８４】
「ICBタグ」は、ファイルエントリ自身に関する属性情報を示す。
「アロケーション記述子」は、あるディレクトリの配下にある下位ファイルを構成するエクステントの記録位置を示す論理ブロック番号（LBN）を含む。アロケーション記述子は、エクステント長を示すデータと、エクステントの記録位置を示す論理ブロック番号とを含む。ただしエクステント長を示すデータの上位２ビットは、“０”に設定されることで、割り付け済みかつ記録済みエクステントである旨を示し、“１”に設定されることで、割り付け済みかつ未記録エクステントである旨を示す。“０”に設定されることで、アロケーション識別子の続きのエクステントであることを示す。あるディレクトリの配下にある下位ファイルが複数のエクステントに分割されている場合には、ファイルエントリはエストテント毎に複数のアロケーション記述子を有することになる。
【０２８５】
上述したようなファイルエントリのアロケーション識別子を参照することで、プレイリスト情報ファイル、クリップ情報ファイル、AVクリップファイル、BD-Jオブジェクトファイル、JARアーカイブファイルを構成するエクステントのアドレスを知得することができる。
【０２８６】
本願の主眼となるストリーム、データ、フラグを格納したファイルは、そのファイルが帰属するディレクトリのディレクトリ領域内に存在するファイル記録領域のことであり、ディレクトリファイルにおけるファイル識別記述子、及び、ファイルエントリにおけるアロケーション識別子を辿ってゆくことで、アクセスすることができる。
＜ファイルオープン＞
記録媒体上のファイルを、装置内に読み込む際の処理について説明する。
【０２８７】
上述したようなAVストリーム、Index.bdmv、JARファイル、BD-Jオブジェクトは、ファイル構造、ディレクトリ構造に従ってBD-ROMに記録されているので、再生装置は、ファイルオープンのためのシステムコールを行うことで、これらをメモリに読み出すことができる。
【０２８８】
ファイルオープンとは、システムコール時に与えられたファイル名によってディレクトリを検索し、ファイルが存在すればFCB(File Control Block)を確保して、ファイルハンドルの番号を返す処理をいう。FCBは、目的のファイルのディレクトリエントリーの内容がメモリ上にコピーされることにより生成される。
＜リアルタイムレコーディングへの適用＞
AVクリップ、プレイリスト情報は、オーサリングシステムにおけるプリレコーディング技術にて、BD-ROMに記録され、ユーザに供給されることを前提としたが、リアルタイムレコーディングにてBD-RE又はBD-R、ハードディスク、半導体メモリカードに記録され、ユーザに供給されるものであってもよい。
【０２８９】
この場合AVクリップは、アナログ入力信号を記録装置がリアルタイムエンコードすることにより得られたトランスポートストリームであってもよいし、記録装置がデジタル入力したトランスポートストリームをパーシャル化することで得られるトランスポートストリームであってもよい。
【０２９０】
リアルタイムレコーディングを実行する記録装置は、ビデオ信号をエンコードしてビデオストリームを得るビデオエンコーダと、オーディオ信号をエンコードしてオーディオストリームを得るオーディオエンコーダと、ビデオストリーム、オーディオストリーム等を多重化して、MPEG2-TS形式のデジタルストリームを得るマルチプレクサと、MPEG2-TS形式のデジタルストリームを構成するTSパケットをソースパケットに変換するソースパケッタイザとを備え、ソースパケット形式に変換されたMPEG2デジタルストリームをAVクリップファイルに格納してBD-RE,BD-R等に書き込む。
【０２９１】
デジタルストリームの書き込みと共に、記録装置の制御部は、メモリ上でクリップ情報やプレイリスト情報を生成する処理を行う。具体的には、ユーザによって録画処理が要求された際、制御部は、AVクリップファイル及びクリップ情報ファイルをBD-RE,BD-R上にクリエイトする。
【０２９２】
そして、装置外部から入力されるトランスポートストリームからビデオストリームにおけるGOPの先頭位置が検出されるか、エンコーダによってビデオストリームのGOPが生成されれば、記録装置の制御部は、このGOPにおいて、先頭に位置するイントラピクチャのPTSと、このGOPの先頭部分を格納したソースパケットのパケット番号とを取得して、このPTS及びパケット番号の組みを、EP_PTSエントリー及びEP_SPNエントリーの組みとして、クリップ情報ファイルのエントリーマップに追記する。以降、GOPが生成される度に、EP_PTSエントリー及びEP_SPNエントリーの組みを、クリップ情報ファイルのエントリーマップに追記してゆく。この際、GOPの先頭がIDRピクチャである場合は、“オン”に設定されたis_angle_changeフラグをEP_PTSエントリー及びEP_SPNエントリーの組みに追加する。GOPの先頭がIDRピクチャでなければ場合は、“オフ”に設定されたis_angle_changeフラグをEP_PTSエントリー及びEP_SPNエントリーの組みに追加する。
【０２９３】
また、クリップ情報ファイルにおけるストリームの属性情報については、記録されるべきストリームの属性に従い設定する。以上のようにしてAVクリップ、クリップ情報が生成されてBD-RE,BD-Rに書き込まれれば、このクリップ情報内のエントリーマップを介して、再生経路を定義するプレイリスト情報を生成し、BD-RE,BD-Rに書き込む。このような処理を、リアルタイムレコーディング技術において実行することで、AVクリップ−クリップ情報−プレイリスト情報という階層構造をBD-RE,BD-R上に得ることができる。
＜マネージドコピーを実現する記録装置としての実施＞
各実施の形態で説明した再生装置は、マネージドコピーによってデジタルストリームの書き込む機能を有していてもよい。
【０２９４】
マネージドコピーとは、BD-ROM等の読み出し専用記録媒体に記録されているデジタルストリームやプレイリスト情報、クリップ情報、アプリケーションプログラムを、別の光ディスク（BD-R，BD-RE，DVD-R，DVD-RW，DVD-RAM等）やハードディスク、リムーバブルメディア（SDメモリカード、メモリスティック、コンパクトフラッシュ(登録商標)、スマートメディア、マルチメディアカード等）などの読み書き可能な記録媒体へコピーする際、サーバと通信を行い、認証が行われ許可された状態においてのみコピー実行可能にする技術である。この技術により、バックアップ回数を制限したり、課金された状態でのみバックアップを許したりする等の制御を行うことができる。
【０２９５】
BD-ROMからBD-R,BD-REへのコピーを実現する場合、コピー元と、コピー先とで記録容量が同じであるなら、マネージドコピーにおいては、コピー元となるBD-ROMにおけるビットストリームを最内周から最外周まで、順次コピーしてゆくという動作で足りる。
【０２９６】
マネージドコピーが、異種媒体間のコピーを想定したものであるなら、トランスコードが必要になる。ここで“トランスコード”とは、BD-ROMに記録されているデジタルストリームの形式をMPEG2トランスポートストリーム形式からMPEG2プログラムストリーム形式等に変換したり、ビデオストリーム及びオーディオストリームに割り当てられているビットレートを低くして再エンコードすることにより、デジタルストリームを、コピー先メディアのアプリケーションフォーマットに適合させたりする処理をいう。かかるトランスコードにあたっては、上述したリアルタイムレコーディング技術の処理を行うことで、AVClip、Clip情報、プレイリスト情報を得る必要がある。
＜オンデマンドマニュファクチャサービス又は電子的セルスルーサービス(MODEST)で使用される記録装置＞
再生装置２００がオンデマンドマニュファクチャサービス又は電子的セルスルーサービス(MODEST)の供給を受ける機能をもつ場合、BD-Jオブジェクトの書き込みを以下のように行う。つまり再生装置２００がオンデマンドマニュファクチャサービス又は電子的セルスルーサービスによってBD-Jオブジェクトの供給を受ける際、リムーバブルメディアにおけるルートディレクトリの配下に、デフォルトのディレクトリと、MODESTディレクトリとをクリエイトして、MODESTディレクトリの配下に、BDMVディレクトリをクリエイトする。MODESTディレクトリは、ファーストMODESTディレクトリであり、ファーストMODESTディレクトリは、前記サービスを初めて受けた際、クリエイトされるMODESTディレクトリである。ユーザが２回目以降にサービスを受ける際、再生装置２００における制御部は、２回目以降のサービスに対応するMODESTディレクトリをクリエイトする。
【０２９７】
そして、上述したように、GUI管理テーブルが記述されたBD-Jオブジェクトを取得すると、制御部は、デフォルトディレクトリにスタートアッププログラムを書き込み、MODESTディレクトリ配下のBDMVディレクトリにBD-Jオブジェクトを書き込む。このスタートアッププログラムは、記録媒体が再生装置２００に装填された際、最初に実行されるべきプログラムであり、BDMVディレクトリを選択する操作をユーザから受け付けるためのメニューを再生装置２００に表示させて、ルート変更機能を再生装置２００に実行させる。このルート変更機能は、メニューに対する選択操作がユーザによってなされた場合、選択されたBDMVディレクトリが属するMODESTディレクトリをルートディレクトリとして認識させる機能である。かかるルート変更機能によって、BD-ROMを再生するのと同じ制御手順によって取得したBD-Jオブジェクトに基づく再生制御を実行することができる。
＜データ構造の記述の仕方＞
各実施の形態に示したデータ構造のうち、ある決まった型の情報が複数存在するという繰り返し構造は、for文に、制御変数の初期値と、繰り返し条件とを設定することで定義することができる。
【０２９８】
また、所定の条件が成立する際、ある決まった情報を定義するという任意的なデータ構造は、if文に、その成立すべき条件と、条件成立時に設定すべき変数とを、if文を用いて記述することができる。このように、各実施の形態に示したデータ構造は、高級プログラミング言語の文法によって記述することができるので、各実施の形態に示したデータ構造は、構文解析、最適化、資源割付、コード生成といった、コンパイラによる翻訳過程を経て、上記プログラムと同様、コンピュータが読み取り可能なコンピュータコードに変換された状態で記録媒体に記録される。こうして、高級プログラミング言語によって記述されたデータ構造は、オブジェクト指向言語においては、クラス構造体のメソッド以外の部分、つまり、クラス構造体における配列型のメンバー変数として扱われ、プログラムの一部をなす。つまり、各実施形態のデータ構造は、コンピュータコードに変換されて記録媒体に記録され、プログラムのメンバー変数となるため、実質的にはプログラムと同じものであり、コンピュータ関連発明として保護を受けるものである。
＜プログラムにおけるプレイリスト情報、クリップ情報の位置付け＞
プレイリスト情報に基づきAV再生を行う実行形式のプログラムは、記録媒体からメモリにロードされ、コンピュータによる実行に供された際、メモリ上において、textセクション、dataセクション、bssセクション、stackセクションといった複数のセクションから構成されることになる。
【０２９９】
textセクションは、プログラムコード列や、初期値、書き換えられることがないデータから構成される。
dataセクションは、初期値をもち、実行中に書き換えられる可能性があるデータが配置される。記録媒体において、ファイルに格納され、随時アクセスされるようなデータは、このdataセクションに格納される。
【０３００】
bssセクションは、初期値をもたないデータが配置される。textセクションは、bssセクションのデータをアドレス指定でアクセスするため、コンパイル、リンク時に決定したRAMに、bssセクションのための領域を確保せねばならない。
【０３０１】
stackセクションは、必要に応じて一時的にプログラムに与えられる領域であり、各フローチャートの処理を実現するにあたって、一時的に使用されるようなローカル変数は、ここに格納される。
【０３０２】
bssセクションは、プログラムの初期化時に、初期値が設定され、stackセクションは、プログラムの初期化時に、必要領域が確保される。
プレイリスト情報及びクリップ情報は、上述したようにコンピュータコードに変換されて記録媒体に記録されているため、プログラムの実行時において、上述したtextセクションにおける“書き換えられることのないデータ”、又は、上述したdataセクションにおける“ファイルに格納され、随時アクセスされるようなデータ”として管理されることになる。各実施形態に示したプレイリスト情報、クリップ情報は、プログラムの実行時において、プログラムの構成要素となるべきものであり、プレイリスト情報、クリップ情報は、単なるデータの提示に該当しない。
【産業上の利用可能性】
【０３０３】
本発明は、映像コンテンツを立体視再生する再生装置に適用可能であり、特に、プレーンシフトにより立体視を行う再生装置に有効である。
【符号の説明】
【０３０４】
１００  BD-ROM
２００  再生装置
３００  リモコン
４００  テレビ
５００  液晶眼鏡
１     BD-ROMドライブ
２     トラックバッファ
３     デマルチプレクサ
４ａ，４ｂ  ビデオデコーダ
４ｃ   ビデオプレーン
５ａ，５ｂ  プレゼンテーショングラフィクス（ＰＧ）デコーダ
５ｃ，５ｄ  プレゼンテーショングラフィクス（ＰＧ）メモリ
５ｆ   プレゼンテーショングラフィクス（ＰＧ）プレーン
６ａ   静止画メモリ
６ｂ   静止画デコーダ
６ｃ   バックグラウンドプレーン
７     オーディオデコーダ
８     インタラクティブグラフィクス（ＩＧ）プレーン
９ａ，９ｂ  プレーンシフトエンジン
１０   合成部
１１   静的シナリオメモリ
１２   動的シナリオメモリ
１３   制御部
１４   ＨＤＭＶモジュール
１５   ＢＤ−Ｊモジュール
１６   モード管理モジュール
１７   ディスパッチャ
１８   ＡＶ再生ライブラリ
１９   アプリデータ関連付けモジュール
２１   ＵＯ探知モジュール
２２ａ，２２ｂ  レンダリングエンジン
２３   ネットワークインタフェース
２４   ローカルストレージ
２５   仮想ファイルシステム
２７   リムーバブルメディア
２８   イメージシフト量レジスタ
２９   次元判定部
３０   次元モード記憶部
３１   左右処理記憶部
３２   HDMI送受信部
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
レフトビュー再生およびライトビュー再生を交互に実行することで立体視再生を行う再生装置であって、
所定の縦画素数×横画素数の画素データから構成されるイメージデータを格納するプレーンメモリと、
レフトビュー再生期間において、プレーンメモリに対する左目用シフト処理を行い、左方向及び右方向のうち何れか一方向に移動された左目用のイメージを得、ライトビュー再生期間において、プレーンメモリに対する右目用シフト処理を行い、前記一方向とは反対方向に移動された右目用のイメージを得るシフトエンジンと、
左目用及び右目用のイメージのそれぞれにおいて、そのイメージの移動方向とは反対方向の端部の矩形領域に、非透明色の代替画素データより生成される代替イメージを描画するレンダリング処理を行うレンダリングエンジンとを備え、
前記各矩形領域は、横方向の画素数が移動量に相当する画素数であり、縦方向の画素数が前記所定の縦画素数である領域であり、
前記代替イメージは、前記イメージデータを構成する画素データの一部より生成されるイメージであり、
前記再生装置は、記録媒体を再生するものであり、
前記イメージデータを構成する画素データの一部は、前記記録媒体から読み出したアプリケーションにより指定された矩形領域の画素データである
再生装置。
【請求項２】
前記アプリケーションにより指定された矩形領域の画素データは、前記イメージデータを構成する画素データのうち右方向及び左方向の一方の端部にあたる矩形領域の画素データである
請求項１記載の再生装置。
【請求項３】
前記アプリケーションにより指定された矩形領域の画素データは、前記各矩形領域の何れかに隣接した矩形領域の画素データである
ことを特徴とする請求項１記載の再生装置。
【請求項４】
ビデオフレームを保持するビデオプレーンと、
グラフィクスデータを格納するグラフィクスプレーンと、
プレーンメモリ、ビデオプレーン、グラフィクスプレーンの順で、各プレーンに格納されたデータを合成する合成部と
をさらに備える請求項１記載の再生装置。
【請求項５】
レフトビュー再生およびライトビュー再生を交互に実行することで立体視再生を行う再生装置であって、
所定の縦画素数×横画素数の画素データから構成されるイメージデータを格納するプレーンメモリと、
レフトビュー再生期間において、プレーンメモリに対する左目用シフト処理を行い、左方向及び右方向のうち何れか一方向に移動された左目用のイメージを得、ライトビュー再生期間において、プレーンメモリに対する右目用シフト処理を行い、前記一方向とは反対方向に移動された右目用のイメージを得るシフトエンジンと、
左目用及び右目用のイメージのそれぞれにおいて、そのイメージの移動方向とは反対方向の端部の矩形領域に、非透明色の代替画素データより生成される代替イメージを描画するレンダリング処理を行うレンダリングエンジンと、
ユーザ操作に基づいて、前記レンダリング処理で用いられる色を示す色情報を受け付けるユーザ入力受付手段とを備え、
前記各矩形領域は、横方向の画素数が移動量に相当する画素数であり、縦方向の画素数が前記所定の縦画素数である領域であり、
前記代替イメージは、前記ユーザ入力受付手段が受け付けた前記色情報により示される色に対応する画素データより生成されるイメージである
再生装置。
【請求項６】
ビデオフレームを保持するビデオプレーンと、
グラフィクスデータを格納するグラフィクスプレーンと、
プレーンメモリ、ビデオプレーン、グラフィクスプレーンの順で、各プレーンに格納されたデータを合成する合成部と
をさらに備える請求項５記載の再生装置。
【請求項７】
レフトビュー再生およびライトビュー再生を交互に実行することで立体視再生を行う再生装置であって、
所定の縦画素数×横画素数の画素データから構成されるイメージデータを格納するプレーンメモリと、
レフトビュー再生期間において、プレーンメモリに対する左目用シフト処理を行い、左方向及び右方向のうち何れか一方向に移動された左目用のイメージを得、ライトビュー再生期間において、プレーンメモリに対する右目用シフト処理を行い、前記一方向とは反対方向に移動された右目用のイメージを得るシフトエンジンと、
左目用及び右目用のイメージのそれぞれにおいて、そのイメージの移動方向とは反対方向の端部の矩形領域に、非透明色の代替画素データより生成される代替イメージを描画するレンダリング処理を行うレンダリングエンジンとを備え、
前記各矩形領域は、横方向の画素数が移動量に相当する画素数であり、縦方向の画素数が前記所定の縦画素数である領域であり、
前記再生装置は、記録媒体を再生するものであり、
前記代替イメージは、前記記録媒体から読み出したアプリケーションにより指定された色に対応する画素データより生成されるイメージである
再生装置。
【請求項８】
ビデオフレームを保持するビデオプレーンと、
グラフィクスデータを格納するグラフィクスプレーンと、
プレーンメモリ、ビデオプレーン、グラフィクスプレーンの順で、各プレーンに格納されたデータを合成する合成部と
をさらに備える請求項７記載の再生装置。
【請求項９】
レフトビュー再生およびライトビュー再生を交互に実行することで立体視再生を行う再生装置であって、
所定の縦画素数×横画素数の画素データから構成されるイメージデータを格納するプレーンメモリと、
レフトビュー再生期間において、プレーンメモリに対する左目用シフト処理を行い、左方向及び右方向のうち何れか一方向に移動された左目用のイメージを得、ライトビュー再生期間において、プレーンメモリに対する右目用シフト処理を行い、前記一方向とは反対方向に移動された右目用のイメージを得るシフトエンジンと、
左目用及び右目用のイメージのそれぞれにおいて、そのイメージの移動方向とは反対方向の端部の矩形領域に、非透明色の代替画素データより生成される代替イメージを描画するレンダリング処理を行うレンダリングエンジンと、
所定の縦画素数×横画素数の画素データから構成される複数の補足イメージデータを予め記憶している記憶手段とを備え、
前記各矩形領域は、横方向の画素数が移動量に相当する画素数であり、縦方向の画素数が前記所定の縦画素数である領域であり、
前記再生装置は、記録媒体を再生するものであり、
前記代替イメージは、前記記録媒体から読み出したアプリケーションにより指定された前記補足イメージデータより生成されるイメージである
再生装置。
【請求項１０】
ビデオフレームを保持するビデオプレーンと、
グラフィクスデータを格納するグラフィクスプレーンと、
プレーンメモリ、ビデオプレーン、グラフィクスプレーンの順で、各プレーンに格納されたデータを合成する合成部と
をさらに備える請求項９記載の再生装置。
【請求項１１】
レフトビュー再生およびライトビュー再生を交互に実行することで立体視再生を行う再生装置に用いられる再生方法であって、
再生装置におけるプレーンメモリには、所定の縦画素数×横画素数の画素データから構成されるイメージデータが格納されており、
レフトビュー再生期間において、プレーンメモリに対する左目用シフト処理を行い、左方向及び右方向のうち何れか一方向に移動された左目用のイメージを得、ライトビュー再生期間において、プレーンメモリに対する右目用シフト処理を行い、前記一方向とは反対方向に移動された右目用のイメージを得るシフトステップと、
左目用及び右目用のイメージのそれぞれにおいて、そのイメージの移動方向とは反対方向の端部の矩形領域に、非透明色の代替画素データより生成される代替イメージを描画するレンダリング処理を行うレンダリングステップとを有し、
前記各矩形領域は、横方向の画素数が移動量に相当する画素数であり、縦方向の画素数が前記所定の縦画素数である領域であり、
前記代替イメージは、前記イメージデータを構成する画素データの一部より生成されるイメージであり、
前記再生装置は、記録媒体を再生するものであり、
前記イメージデータを構成する画素データの一部は、前記再生装置が前記記録媒体から読み出したアプリケーションにより指定された矩形領域の画素データである
再生方法。
【請求項１２】
レフトビュー再生およびライトビュー再生を交互に実行することで立体視再生を行う再生装置に用いられる再生方法であって、
再生装置におけるプレーンメモリには、所定の縦画素数×横画素数の画素データから構成されるイメージデータが格納されており、
レフトビュー再生期間において、プレーンメモリに対する左目用シフト処理を行い、左方向及び右方向のうち何れか一方向に移動された左目用のイメージを得、ライトビュー再生期間において、プレーンメモリに対する右目用シフト処理を行い、前記一方向とは反対方向に移動された右目用のイメージを得るシフトステップと、
左目用及び右目用のイメージのそれぞれにおいて、そのイメージの移動方向とは反対方向の端部の矩形領域に、非透明色の代替画素データより生成される代替イメージを描画するレンダリング処理を行うレンダリングステップと、
ユーザ操作に基づいて、前記レンダリング処理で用いられる色を示す色情報を受け付けるユーザ入力受付ステップとを有し、
前記各矩形領域は、横方向の画素数が移動量に相当する画素数であり、縦方向の画素数が前記所定の縦画素数である領域であり、
前記代替イメージは、前記ユーザ入力受付ステップが受け付けた前記色情報により示される色に対応する画素データより生成されるイメージである
再生方法。
【請求項１３】
レフトビュー再生およびライトビュー再生を交互に実行することで立体視再生を行う再生装置に用いられる再生方法であって、
再生装置におけるプレーンメモリには、所定の縦画素数×横画素数の画素データから構成されるイメージデータが格納されており、
レフトビュー再生期間において、プレーンメモリに対する左目用シフト処理を行い、左方向及び右方向のうち何れか一方向に移動された左目用のイメージを得、ライトビュー再生期間において、プレーンメモリに対する右目用シフト処理を行い、前記一方向とは反対方向に移動された右目用のイメージを得るシフトステップと、
左目用及び右目用のイメージのそれぞれにおいて、そのイメージの移動方向とは反対方向の端部の矩形領域に、非透明色の代替画素データより生成される代替イメージを描画するレンダリング処理を行うレンダリングステップとを有し、
前記各矩形領域は、横方向の画素数が移動量に相当する画素数であり、縦方向の画素数が前記所定の縦画素数である領域であり、
前記再生装置は、記録媒体を再生するものであり、
前記代替イメージは、前記再生装置が前記記録媒体から読み出したアプリケーションにより指定された色に対応する画素データより生成されるイメージである
再生方法。
【請求項１４】
レフトビュー再生およびライトビュー再生を交互に実行することで立体視再生を行う再生装置に用いられる再生方法であって、
再生装置におけるプレーンメモリには、所定の縦画素数×横画素数の画素データから構成されるイメージデータが格納されており、
レフトビュー再生期間において、プレーンメモリに対する左目用シフト処理を行い、左方向及び右方向のうち何れか一方向に移動された左目用のイメージを得、ライトビュー再生期間において、プレーンメモリに対する右目用シフト処理を行い、前記一方向とは反対方向に移動された右目用のイメージを得るシフトステップと、
左目用及び右目用のイメージのそれぞれにおいて、そのイメージの移動方向とは反対方向の端部の矩形領域に、非透明色の代替画素データより生成される代替イメージを描画するレンダリング処理を行うレンダリングステップとを有し、
前記各矩形領域は、横方向の画素数が移動量に相当する画素数であり、縦方向の画素数が前記所定の縦画素数である領域であり、
前記再生装置は、記録媒体を再生するものであり、所定の縦画素数×横画素数の画素データから構成される複数の補足イメージデータを予め記憶しており、
前記代替イメージは、前記再生装置が前記記録媒体から読み出したアプリケーションにより指定された前記補足イメージデータより生成されるイメージである
再生方法。
【請求項１５】
レフトビュー再生およびライトビュー再生を交互に実行することで立体視再生を行う再生処理をコンピュータに実行させるための処理手順を示した再生プログラムであって、
コンピュータにおけるプレーンメモリには、所定の縦画素数×横画素数の画素データから構成されるイメージデータが格納されており、
前記処理手順は、
レフトビュー再生期間において、プレーンメモリに対する左目用シフト処理を行い、左方向及び右方向のうち何れか一方向に移動された左目用のイメージを得、ライトビュー再生期間において、プレーンメモリに対する右目用シフト処理を行い、前記一方向とは反対方向に移動された右目用のイメージを得るシフト手順と、
左目用及び右目用のイメージのそれぞれにおいて、そのイメージの移動方向とは反対方向の端部の矩形領域に、非透明色の代替画素データより生成される代替イメージを描画するレンダリング処理を行うレンダリング手順とを有し、
前記各矩形領域は、横方向の画素数が移動量に相当する画素数であり、縦方向の画素数が前記所定の縦画素数である領域であり、
前記代替イメージは、前記イメージデータを構成する画素データの一部より生成されるイメージであり、
前記コンピュータは、記録媒体を再生するものであり、
前記イメージデータを構成する画素データの一部は、前記コンピュータが前記記録媒体から読み出したアプリケーションにより指定された矩形領域の画素データである
再生プログラム。
【請求項１６】
レフトビュー再生およびライトビュー再生を交互に実行することで立体視再生を行う再生処理をコンピュータに実行させるための処理手順を示した再生プログラムであって、
コンピュータにおけるプレーンメモリには、所定の縦画素数×横画素数の画素データから構成されるイメージデータが格納されており、
前記処理手順は、
レフトビュー再生期間において、プレーンメモリに対する左目用シフト処理を行い、左方向及び右方向のうち何れか一方向に移動された左目用のイメージを得、ライトビュー再生期間において、プレーンメモリに対する右目用シフト処理を行い、前記一方向とは反対方向に移動された右目用のイメージを得るシフト手順と、
左目用及び右目用のイメージのそれぞれにおいて、そのイメージの移動方向とは反対方向の端部の矩形領域に、非透明色の代替画素データより生成される代替イメージを描画するレンダリング処理を行うレンダリング手順と、
ユーザ操作に基づいて、前記レンダリング処理で用いられる色を示す色情報を受け付けるユーザ入力受付手順とを有し、
前記各矩形領域は、横方向の画素数が移動量に相当する画素数であり、縦方向の画素数が前記所定の縦画素数である領域であり、
前記代替イメージは、前記ユーザ入力受付手順が受け付けた前記色情報により示される色に対応する画素データより生成されるイメージである
再生プログラム。
【請求項１７】
レフトビュー再生およびライトビュー再生を交互に実行することで立体視再生を行う再生処理をコンピュータに実行させるための処理手順を示した再生プログラムであって、
コンピュータにおけるプレーンメモリには、所定の縦画素数×横画素数の画素データから構成されるイメージデータが格納されており、
前記処理手順は、
レフトビュー再生期間において、プレーンメモリに対する左目用シフト処理を行い、左方向及び右方向のうち何れか一方向に移動された左目用のイメージを得、ライトビュー再生期間において、プレーンメモリに対する右目用シフト処理を行い、前記一方向とは反対方向に移動された右目用のイメージを得るシフト手順と、
左目用及び右目用のイメージのそれぞれにおいて、そのイメージの移動方向とは反対方向の端部の矩形領域に、非透明色の代替画素データより生成される代替イメージを描画するレンダリング処理を行うレンダリング手順とを有し、
前記各矩形領域は、横方向の画素数が移動量に相当する画素数であり、縦方向の画素数が前記所定の縦画素数である領域であり、
前記コンピュータは、記録媒体を再生するものであり、
前記代替イメージは、前記コンピュータが前記記録媒体から読み出したアプリケーションにより指定された色に対応する画素データより生成されるイメージである
再生プログラム。
【請求項１８】
レフトビュー再生およびライトビュー再生を交互に実行することで立体視再生を行う再生処理をコンピュータに実行させるための処理手順を示した再生プログラムであって、
コンピュータにおけるプレーンメモリには、所定の縦画素数×横画素数の画素データから構成されるイメージデータが格納されており、
前記処理手順は、
レフトビュー再生期間において、プレーンメモリに対する左目用シフト処理を行い、左方向及び右方向のうち何れか一方向に移動された左目用のイメージを得、ライトビュー再生期間において、プレーンメモリに対する右目用シフト処理を行い、前記一方向とは反対方向に移動された右目用のイメージを得るシフト手順と、
左目用及び右目用のイメージのそれぞれにおいて、そのイメージの移動方向とは反対方向の端部の矩形領域に、非透明色の代替画素データより生成される代替イメージを描画するレンダリング処理を行うレンダリング手順とを有し、
前記各矩形領域は、横方向の画素数が移動量に相当する画素数であり、縦方向の画素数が前記所定の縦画素数である領域であり、
前記コンピュータは、記録媒体を再生するものであり、所定の縦画素数×横画素数の画素データから構成される複数の補足イメージデータを予め記憶しており、
前記代替イメージは、前記コンピュータが前記記録媒体から読み出したアプリケーションにより指定された前記補足イメージデータより生成されるイメージである
再生プログラム。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2010032403.tif 000028
【図２】
2010032403.tif 000029
【図３】
2010032403.tif 000030
【図４】
2010032403.tif 000031
【図５】
2010032403.tif 000032
【図６】
2010032403.tif 000033
【図７】
2010032403.tif 000034
【図８】
2010032403.tif 000035
【図９】
2010032403.tif 000036
【図１０】
2010032403.tif 000037
【図１１】
2010032403.tif 000038
【図１２】
2010032403.tif 000039
【図１３】
2010032403.tif 000040
【図１４】
2010032403.tif 000041
【図１５】
2010032403.tif 000042
【図１６】
2010032403.tif 000043
【図１７】
2010032403.tif 000044
【図１８】
2010032403.tif 000045
【図１９】
2010032403.tif 000046
【図２０】
2010032403.tif 000047
【図２１】
2010032403.tif 000048
【図２２】
2010032403.tif 000049
【図２３】
2010032403.tif 000050
【図２４】
2010032403.tif 000051
【図２５】
2010032403.tif 000052
【国際調査報告】
2010032403.tif 000053
2010032403.tif 000054
2010032403.tif 000055
2010032403.tif 000056