説明

立体視再生が可能な再生装置、再生方法、プログラム

【課題】複数ビデオフレームのそれぞれを、ライトビュービデオフレーム、及び、レフトビュービデオフレームとして出力することで立体視を実現する。
【解決手段】グラフィクスプレーンは、1920×1080、1280×720といった解像度の画素データをグラフィクスデータとして格納しており、シフトエンジンは、レフトビュー出力を実行するにあたって、グラフィクスプレーンにおける画素データのそれぞれの座標を、右方向及び左方向のうちどちらかに移動させる。グラフィクスデータから一方の端部から切り取られる矩形領域、及び、グラフィクスデータの他方の端部に追加される矩形領域は、横方向の画素数が、シフト量に相当し、縦方向の画素数が、グラフィクスプレーンの縦画素である。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、グラフィクスの合成技術の技術分野に属する発明である。
【背景技術】
【0002】
グラフィクスの合成技術とは、ビデオストリームを構成する個々のビデオフレームに、字幕やGUIを表すグラフィクススを重ね合わせて表示する技術である。この表示のための表示デバイスの技術動向として、フラットな映像だけではなく、飛び出るような映像を楽しむ立体視ディスプレイが普及し始めている。立体視ディスプレイは、さまざまな方式があるが、基本的な原理としてレフトビューとライトビューとで異なる絵を見せる仕組みを導入し、その両目間の視差を利用することにより、立体的な映像を擬似的に作る。
【0003】
通常のフラットな映像と同等のフレームレートで立体化された映像を視聴者に見せようとすると、ディスプレイ側は、通常の2倍の応答性能が必要であり、たとえば一秒60コマのビデオを表示するためには最低、1秒120コマの切り替えをしなければならない。
従って、表示されるビデオストリームは、1秒120コマの状態でエンコードされなければならないが、フレームレートを上げる以外の方法で立体効果を得るためには、非特許文献1のようにサイドバイサイド方式によって実現するという方法もある。また、特許文献2のようにチェッカーパターンを使った方式もある。
【0004】
また、画面を立体表示する技術において、特許文献3のように2D画像の中のオブジェクトの数を抽出し、そのオブジェクトの数の分のレイヤーを作成し、各レイヤーの奥行きを変えて3D画像を生成する技術がある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】国際公開第2005/119675号パンフレット
【特許文献2】米国特許出願公開第2008/0036854号明細書
【特許文献3】米国特許出願公開第2002/0118275号明細書
【非特許文献】
【0006】
【非特許文献1】FOUNDATIONS OF THE STEREOSCOPIC CINEMA A STUDY IN DEPTH(by LENNY LIPTON)
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、現状、立体視ビデオを楽しむ方法は、劇場等での応用が主流であるが、家庭設置用の再生装置で映画同様の立体視ビデオストリームを再生して楽しむ利用形態も今後は普及が予想される。
BD-ROMまたはDVD-Videoで供給されるパッケージメディアでは、映画用のようにビデオの一部として予め字幕が埋め込まれている訳ではない。複数の言語に対応する複数の字幕データが、ビデオストリームと別に記録されている。これは、再生装置における言語のセッティングに応じて、適切な字幕データを動画像に合成して、表示に供するためである。
【0008】
また、GUIを実現するグラフィクススも、複数のグラフィクスデータがビデオストリームとは別に記録されている。これも、再生装置における言語のセッティングに応じて、適切なグラフィクスを動画像に合成して、表示に供するためである。その場合、字幕、GUIを表すグラフィクスのそれぞれに、レフトビュー用データ、ライトビュー用データを準備することが望ましいが、BD-ROMは容量が限られているため、ビデオ、グラフィクスのそれぞれについて、レフトビュー用のデータ、ライトビュー用のデータを準備する訳にはいかない。
【0009】
グラフィクススについては、レフトビュー、ライトビューのうち、一つのみしか用意できない場合、ビデオストリームに対応する動画像は立体的に見えるのに対して、グラフィクススは、平面的に見えてしまう。そして、レフトビュー用のビデオのデータおよびライトビュー用のビデオのデータを用いて立体的に飛び出ているように見える空間というのを考慮することなく、平面的なグラフィクススを重ね合わせたと仮定する。この場合、レフトビュー用のビデオのデータおよびライトビュー用のビデオのデータを用いることで、動画像がテレビ等の画面から飛び出ているように見える立体的な空間の中に、グラフィクススの平面的な画像が存在するかの如く、動画像とグラフィクスとが合成されてしまうことになる。そうすると、レフトビューのビデオデータ及びライトビューのビデオデータによって飛び出しているように見える立体的な空間の中にグラフィクススがのめりこんでいるように見え、視聴者に不快感を与えてしまう。そうした場合、不自然な立体感の差から目がついていけなくなり、結果として臨場感覚が低減する。
【0010】
本発明の目的は、レフトビュー用のグラフィクス、ライトビュー用のグラフィクスのうち、一つのみしか記録媒体に記録されていない場合であっても、視聴者に不快感を与えないビデオとグラフィクスの合成を行なう立体視再生を実現することができる再生装置を提供することである。
【課題を解決するための手段】
【0011】
上記課題を解決するため本発明は、立体視再生を実現する再生装置であって、
ビデオストリームをデコードしてビデオフレームを得るビデオデコーダと、
ビデオフレームを保持するビデオプレーンと、
グラフィクスデータを格納するグラフィクスプレーンと、
グラフィクスプレーンに格納されているグラフィクスデータをビデオフレームに合成する合成部と
グラフィクスプレーンのプレーンシフトを実行するシフトエンジンとを備え、
前記立体視再生を実現する場合、ビデオプレーンに格納されている複数ビデオフレームのそれぞれを、ライトビュービデオフレーム、及び、レフトビュービデオフレームとして出力し、
グラフィクスプレーンにおけるグラフィクスデータは、所定の横画素数×縦画素数の画素データから構成され、
前記プレーンシフトは、
レフトビュービデオフレームを出力するにあたって、グラフィクスプレーンにおける画素データのそれぞれの座標を、右方向及び左方向のうちどちらかに移動させるとともに、ライトビュービデオフレームを出力するにあたって、グラフィクスプレーンにおける画素データのそれぞれの座標を、レフトビューとは反対の方向に移動させた上で合成部に供する処理であり、かつ
前記プレーンシフトは、
前記グラフィクスデータのうち、右方向の端部及び左方向の端部のうち、前記プレーンシフトにより移動させた側の前記端部を含むどちらかにおける矩形領域を切り取り、前記移動させた側とはグラフィクスデータの反対側の端部に、透明画素からなる矩形領域を追加することでなされ、
前記グラフィクスデータから一方の端部から切り取られる矩形領域、及び、グラフィクスデータの他方の端部に追加される矩形領域は、横方向の画素数が、シフト量に相当する画素数であり、縦方向の画素数が、グラフィクスプレーンの縦画素である領域である
ことを特徴としている。
【発明の効果】
【0012】
グラフィクスプレーンにおける画素データの座標を移動させることにより、グラフィクスをどれだけ手前に寄せるか、グラフィクスを画面の奥に遠退けるかを調整することができる。よって、ライトビューグラフィクス、レフトビューグラフィクスが記録媒体から供給されないために、字幕やGUIが動画像にのめり込むような立体視映像が表れた場合は、字幕やGUIの移動量を調整して、ビデオより手前に見せることで、立体視映像の体裁を整えることができる。かかる調整によって字幕やGUIの奥行きを変更するので、字幕やGUIに立体感や奥行きをだすためのレフトビューグラフィクス、ライトビューグラフィクスを準備にする必要がない。よって、容量が限られたBD-ROMを供給媒体にする場合でも、好適な立体視再生を、ユーザに実現させることができる。
【0013】
オーサリングスタジオにおいても、立体視再生のためのライトビューグラフィクス、レフトビューグラフィクスの制作を省略することができ、映画作品の制作工数を小さくすることができる。
字幕・GUIを表すグラフィクスの奥行きは適切でない場合にも、プレーンシフトを行うことにより、出力するビデオの奥行きに応じてグラフィクスの奥行きを適切なものに変化することができるので、グラフィクスの奥行きが自然なものになり、動画像と、字幕・GUIを表すグラフィクスとで立体感の差が生じることはない。よって肉眼の負担は緩和される。
【0014】
また、レフトビューグラフィクスス、ライトビューグラフィクスを別々にメモリ上にロードしておく必要がないので、グラフィクスとの合成画像に立体感を持たせる場合においても、再生装置のメモリ規模に負担がかかることはない。
上述の構成により本発明に係る立体視ビデオ再生装置では、レフトビューグラフィクスと、ライトビューグラフィクスとを用意せずとも、ビデオ上に字幕やGUIを立体的に表示することが可能になる。
【図面の簡単な説明】
【0015】
【図1】記録媒体、再生装置の、使用行為についての形態を示す図である。
【図2】BD-ROM100の内部構成を示す図である。
【図3】BD-Jオブジェクトの内部構成を示す図である。
【図4】再生装置の内部構成を示す図である。
【図5】フロントエンド部101〜ホストマイコン106内の詳細な構成を示す図である。
【図6】2D表示モード、3D表示モードの切り替えを示す図である。
【図7】各プレーンのステレオモードがオンである場合と、ステレオモードがオフである場合の合成処理の一例を示す図である。
【図8】全てのプレーンがステレオモードONである場合に、バックグラウンドプレーン、ビデオプレーン、イメージプレーン、インタラクティブグラフィクスプレーンがどのように合成されるかを示す。
【図9】全てのプレーンがステレオモードOFFである場合に、バックグラウンドプレーン、ビデオプレーン、インタラクティブグラフィクスプレーンがどのように合成されるかを示す。
【図10】プレーン毎の合成結果を示す。
【図11】全てのプレーンがステレオモードONである場合における映像出力を3D用ディスプレイで見た場合の一例である。
【図12】ビデオプレーンがステレオモードON,その他のプレーンはステレオモードステレオモードOFFである場合における映像出力を、シャッター眼鏡500で見た場合に現れる立体視映像の一例を示す。
【図13】右方向にシフトされたレフトビュー用グラフィクスプレーン、左方向にシフトされたライトビュー用グラフィクスプレーンを示す図である。
【図14】イメージプレーンの内部構成を示す。
【図15】右方向のシフト、左方向のシフトがなされた後の、前景領域の画素データ及び背景領域の画素データを示す。
【図16】インタラクティブグラフィクスプレーンの内部構成を示す。
【図17】右方向のシフト、左方向のシフトがなされた後の、前景領域の画素データ及び背景領域の画素データを示す。
【図18】イメージプレーンにおけるプレーンシフトの処理手順を示す図である。
【図19】インタラクティブグラフィクスプレーンにおけるプレーンシフトの処理手順を示す図である。
【図20】プレーンオフセットの正・負によって、字幕の奥行きがどのように変化するかを示す図である。
【図21】グラフィクスプレーンに格納されている画素データを示す図である。
【図22】シフトがなされた後のグラフィクスプレーンの格納内容を示す。
【図23】BD-Jプラットフォーム部の内部構成を示す図である。
【図24】表示モード記憶部29における記憶内容を示す。
【図25】タイトル間遷移が発生した場合の、表示モードの遷移を表形式で示す図である。
【図26】タイトル内においてプレイリストの再生が切り替った場合の、表示モードの遷移を示す。
【図27】表示モード記憶部29の設定に用いられるAPIを示す。
【図28】オフセット設定部の内部構成を示す。
【図29】タイトル間表示モード設定の処理手順を示すフローチャートである。
【図30】タイトル内表示モード設定の処理手順を示すフローチャートである。
【図31】平面像が表示画面の位置よりも手前にあるように見える原理を説明するための図である。
【図32】プレイリスト再生の主たる手順を示すフローチャートである。
【図33】プレイアイテム情報に基づく再生手順を示すフローチャートである。
【図34】3D表示モード時の3Dストリームのレフトビュー処理を示すフローチャートである。
【図35】3D表示モード時の3Dストリームのライトビュー処理を示すフローチャートである。
【図36】2D表示モード時における2DAVストリームの処理手順を示すフローチャートである
【図37】BD−Jアプリケーションによるオフセット更新命令発行時の処理手順を示すフローチャートである。
【図38】合成部15の構成を示す図である。
【図39】右方向のプレーンシフトをラインデータ毎に実行する過程を示す。
【図40】左方向のプレーンシフトをラインデータ毎に実行する過程を示す。
【図41】ラインメモリへの読み出しの処理手順を示すフローチャートである。
【図42】平面像が表示画面の位置よりも奥にあるように見える原理を説明するための図である。
【発明を実施するための形態】
【0016】
図面を参照しながら、上記課題解決手段を具備した記録媒体、及び、再生装置の実施形態について説明する。
図1は、記録媒体、再生装置の、使用行為についての形態を示す図である。本図に示すように、記録媒体の一例であるBD-ROM100、再生装置200は、リモコン300、テレビ400、液晶眼鏡500と共にホームシアターシステムを構成し、ユーザによる使用に供される。
【0017】
BD-ROM100は、上記ホームシアターシステムに、例えば映画作品を供給する。
再生装置200は、テレビ400と接続され、BD-ROM100を再生する。
リモコン300は、階層化されたGUIに対する操作をユーザから受け付ける機器であり、かかる操作受け付けのため、リモコン100は、GUIを構成するメニューを呼び出すメニューキー、メニューを構成するGUI部品のフォーカスを移動させる矢印キー、メニューを構成するGUI部品に対して確定操作を行う決定キー、階層化されたメニューをより上位のものにもどってゆくための戻りキー、数値キーを備える。
【0018】
テレビ400は、映画作品の再生映像を表示したり、メニュー等を表示することで、対話的な操作環境をユーザに提供する。
液晶眼鏡500は、液晶シャッタと、制御部とから構成され、ユーザの両目における視差を用いて立体視を実現する。液晶眼鏡500の液晶シャッタは、印加電圧を変えることにより、光の透過率が変化する性質を有する液晶レンズを用いたシャッタである。液晶眼鏡500の制御部は、再生装置から送られるライトビュー用の画像とレフトビュー用の画像の出力の切り替えの同期信号を受け、この同期信号に従って、第1の状態、第2の状態の切り替えを行う。
【0019】
第1の状態とは、ライトビューに対応する液晶レンズが光を透過しないように印加電圧を調節し、レフトビューに対応する液晶レンズが光を透過するように印加電圧を調節した状態であり、この状態において、レフトビュー用の画像が視聴に供されることになる。
第2の状態とは、ライトビューに対応する液晶レンズが光を透過するように印加電圧を調節し、レフトビューに対応する液晶レンズが光を透過しないように印加電圧を調節した状態であり、この場合、液晶シャッタゴーグルは、ライトビュー用の画像を視聴に供することができる。
【0020】
一般にライトビューと、レフトビューは、その位置の差に起因して、ライトビューから見える像とレフトビューから見える像には見え方に若干の差がある。この差を利用して人間は目に見える像を立体として認識できるのである。そこで、液晶眼鏡500が、以上のような第1の状態、第2の状態の切り替えを、ライトビュー用の画像とレフトビュー用の画像の出力の切り替えタイミングに同期させれば、ユーザは、平面的な表示が立体的に見えると錯覚する。次に、ライトビュー映像、レフトビュー映像を表示するにあたっての時間間隔について説明する。
【0021】
具体的には、平面表示の画像において、ライトビュー用の画像とレフトビュー用の画像には人間の視差に相当する見え方の差に相当する程度の差があり、これらの画像を短い時間間隔で切り替えて表示することにより、あたかも立体的な表示がなされているように見えるのである。
この短い時間間隔というのは、上述の切り替え表示により人間が立体的に見えると錯覚する程度の時間であればよい。
【0022】
以上がホームシアターシステムについての説明である。
続いて再生装置200が再生の対象としている、記録媒体について説明する。再生装置200により、再生されるのは、BD-ROM100である。図2は、BD-ROM100の内部構成を示す図である。
本図の第4段目にBD-ROMを示し、第3段目にBD-ROM上のトラックを示す。本図のトラックは、BD-ROMの内周から外周にかけて螺旋状に形成されているトラックを、横方向に引き伸ばして描画している。このトラックは、リードイン領域と、ボリューム領域と、リードアウト領域とからなる。また、リードインの内側にはBCA(Burst Cutting Area)と呼ばれるドライブでしか読み出せない特別な領域がある。この領域はアプリケーションから読み出せないため、例えば著作権保護技術などに利用されることがよくある。
【0023】
本図のボリューム領域は、物理層、ファイルシステム層、応用層というレイヤモデルをもち、ボリューム領域には、ファイルシステム情報(ボリューム)を先頭に映像データなどのアプリケーションデータが記録されている。ファイルシステムとは、UDFやISO9660などのことであり、通常のPCと同じように記録されている論理データをディレクトリ、ファイル構造を使って読み出しする事が可能になっており、255文字のファイル名、ディレクトリ名を読み出すことが可能である。ディレクトリ構造を用いてBD-ROMの応用層フォーマット(アプリケーションフォーマット)を表現すると、図中の第1段目のようになる。この第1段目においてBD-ROMには、Rootディレクトリの下に、CERTIFICATEディレクトリ、及びBDMVディレクトリがある。
【0024】
CERTIFICATEディレクトリの配下には、ディスクのルート証明書のファイル(app.discroot.cert)が存在する。app.discroot.certはJava(登録商標)仮想マシンを用いて動的なシナリオ制御を行うJava(登録商標)アプリケーションのプログラムを実行する際に、アプリケーションが改竄されていないか、及びアプリケーションの身元確認を行なうプロセス(以下、署名検証という)に用いられるデジタル証明書である。
【0025】
BDMVディレクトリはBD-ROMで扱うAVコンテンツや管理情報などのデータが記録されているディレクトリであり、BDMVディレクトリの配下には、PLAYLISTディレクトリ、CLIPINFディレクトリ、STREAMディレクトリ、BDJOディレクトリ、JARディレクトリ、METAディレクトリと呼ばれる6つのサブディレクトリが存在し、INDEX.BDMVとMovieObject.bdmvの2種類のファイルが配置されている。
【0026】
STREAMディレクトリには、いわばトランスポートストリーム本体となるファイルを格納しているディレクトリであり、拡張子"m2ts"が付与されたファイル(000001. m2ts)が存在する。
PLAYLISTディレクトリには、拡張子"mpls"が付与されたファイル(000001.mpls)が存在する。
【0027】
CLIPINFディレクトリには、拡張子"clpi"が付与されたファイル(000001.clpi)が存在する。
BDJOディレクトリには、拡張子"bdjo"付与されたファイル(XXXXX.bdjo)が存在する。
JARディレクトリには、拡張子"jar"が付与されたファイル(YYYYY.jar)が存在する。
METAディレクトリには、XMLファイル(ZZZZZ.xml)が存在する。
【0028】
以下、これらのファイルについて説明する。

先ず初めに、拡張子"m2ts"が付与されたファイルについて説明する。拡張子"m2ts"が付与されたファイルは、MPEG-TS (TransportStream)形式のデジタルAVストリームであり、ビデオストリーム、1つ以上のオーディオストリーム、グラフィクスストリームを多重化することで得られる。ビデオストリームは映画の動画部分を、オーディオストリームは映画の音声部分をそれぞれ示している。3D用のストリームの場合はm2tsの中に左目用と右目用の両方のデータを入れることができるし、左目用と右目用に別々にm2tsを用意することができる。ストリームに使われる容量を少なくするため、レフトビュービデオストリームとライトビュービデオストリームが相互参照をするようなコーデック(たとえば、MPEG-4 AVC MVC)を使うことが望ましい。そのようなコーデックで圧縮符号化されたビデオストリームを、MVCビデオストリームと呼ぶ。
【0029】
MVCビデオストリームには、ベースビュービデオストリーム、エンハンスドビュービデオストリームという種別がある。ベースビューストリームとは、レフトビュー又はライトビューを構成するビデオストリームのうち、平面視表示を実現しうるものである。一方は、ライトビュー又はレフトビューを構成するビデオストリームのうち、ベースビューストリームではないものを"エンハンスドビューストリーム"という。エンハンスドビューストリームを構成するピクチャデータは、ベースビューストリームを構成するピクチャデータとのフレーム相関性に基づき圧縮符号化されている。

拡張子"mpls"が付与されたファイルは、PlayList(PL)情報を格納したファイルである。PL情報は、AVClipを参照してプレイリストを定義する情報である。
【0030】
本実施の形態では、BD-ROM上のプレイリスト(PL)の構成フォーマットから再生対象のストリームに3D用のストリームが存在するかを特定できる。
プレイリスト情報は、MainPath情報、Subpath情報、PlayListMark情報を含む。
1)MainPath情報は、AVストリームの再生時間軸のうち、In_Timeとなる時点と、Out_Timeとなる時点の組みを1つ以上定義することにより、論理的な再生区間を定義する情報であり、AVストリームに多重化されているエレメンタリストリームのうち、どれの再生を許可し、どれの再生を許可しないかを規定するストリーム番号テーブル(STN_table)をもつ。
【0031】
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プレーヤクラスを基にして仮想マシンのヒープメモリ上に生成される実際のデータのことである。
【0032】
以後、2D用ストリームのみを含むストリームを"2Dストリーム"、2D,3D用のストリームの両方を含むストリームを"3Dストリーム"と呼ぶ。
さらに、用語定義として2Dプレイリストは2D再生用のストリームのみが含まれるものであり、3Dプレイリストには2Dストリームに加えて、3D立体視用のストリームも含まれるものである。

拡張子"clpi"が付与されたファイルは、AVClipのそれぞれに1対1に対応するClip情報である。管理情報故に、Clip情報は、AVClipにおけるストリームの符号化形式、フレームレート、ビットレート、解像度等の情報や、GOPの先頭位置を示すEP_mapをもっている。以上のClip情報及びPL情報は、"静的シナリオ"に分類される。

続いて、拡張子BD-Jオブジェクトを付したファイルについて説明する。拡張子BD-Jオブジェクトを付したファイルは、BD-Jオブジェクトを格納したファイルである。BD-Jオブジェクトは、PlayList情報により定義されるAVClip列と、アプリケーションとの関連付けにより、タイトルを定義する情報である。
【0033】
このJava(登録商標)アプリケーションの実体にあたるのが、図2におけるBDMVディレクトリ配下のJARディレクトリに格納されたJava(登録商標)アーカイブファイル(YYYYY.jar)である。
アプリケーションは例えばJava(登録商標)アプリケーションであり、仮想マシンのヒープ領域(ワークメモリとも呼ばれる)にロードされた1つ以上のxletプログラムからなる。このワークメモリにロードされたxletプログラム、及び、データから、アプリケーションは構成されることになる。

METAディレクトリに格納されたメタファイル(ZZZZZ.xml)には、ディスクに入っている映像作品に関する様々な情報が格納されている。メタファイルに格納されている情報としては、ディスクのディスク名及び画像、ディスクが誰によって作成されたかの情報、各タイトルに関わるタイトル名等がある。以上がBD-ROM100についての説明である。メタファイルは、必須のファイルではなく、このファイルが格納されていないBD-ROMもある。
【0034】
以上がBD-ROMについての説明である。
続いて、BD-Jオブジェクトについて説明する。図3は、BD-Jオブジェクトの内部構成を示す図である。本図に示すように、BD-Jオブジェクトは、「アプリケーション管理テーブル」、「GUI管理テーブル」、「プレイリスト管理テーブル」から構成される。
以下、これらの構成要素について説明する。
【0035】
「アプリケーション管理テーブル」は、タイトルを生存区間としたアプリケーションシグナリングを、再生装置に行わせるためのテーブルである。引き出し線bj1は、アプリケーション管理テーブルの内部構成をクローズアップして示している。この引き出し線に示すように、アプリケーション管理テーブルは、BD-Jオブジェクトに対応するタイトルがカレントタイトルになった際、動作させるべきアプリケーションを特定する『アプリケーション識別子』と、『制御コード』とを含む。制御コードは、AutoRunに設定された場合、このアプリケーションをヒープメモリにロードした上、自動的に起動する旨を示し、Presentに設定された場合、このアプリケーションをヒープメモリにロードした上、他のアプリケーションからのコールを待って、起動すべき旨を示す。
【0036】
「GUI管理テーブル」は、動作中のアプリケーションがGUIを行う際の管理テーブルであり、GUI表示を実行するにあたっての解像度や、GUIに用いるフォントデータ、GUIに対するメニューコール、タイトルコールがユーザによってなされた場合、これらのコールをマスクするかどうかを規定するマスクフラグを含む。引き出し線bj2は、GUI管理テーブルの内部構成をクローズアップして示している。この引き出し線bj2に示すように、GUI管理テーブルは、HD3D_1920×1080、HD3D_1280×720、HD_1920×1080、HD_1280×720、QHD960×540,SD,SD_50HZ_720×576,SD_60HZ_720×480の何れかに設定することができる。
【0037】
引き出し線bj3は、プレイリスト管理テーブルの内部構成をクローズアップして示している。プレイリスト管理テーブルは、BD-Jオブジェクトに対応するタイトルがカレントタイトルになった際、デフォルトで起動されるべきプレイリストの指定を含む。引き出し線bj4は、デフォルト起動プレイリストの内部構成をクローズアップして示している。引出線bj4に示すように、デフォルト起動プレイリストを指定する情報として、3Dプレイリスト1920×1080、3Dプレイリスト1280×720、2Dプレイリスト1920×1080、2Dプレイリスト1280×720、2Dプレイリスト720×576、2Dプレイリスト720×480の指定が可能になる。
【0038】
図4は、再生装置の内部構成を示す図である。本図において再生装置を構成する主だった部品は、フロントエンド部101、システムLSI102、メモリデバイス103、バックエンド部104、不揮発性メモリ105、ホストマイコン106、ネットワークI/F107である。
フロントエンド部101は、データ入力源である。後述する図において、フロントエンド部101は例えば、BDドライブ110、ローカルストレージ111を含む。
【0039】
システムLSI102は、論理素子から構成され、再生装置中核をなす。少なくとも、デマルチプレクサ4、ビデオデコーダ5a,b、イメージデコーダ7a,b、オーディオデコーダ9、再生状態/設定レジスタ(PSR)セット12、再生制御エンジン14、合成部15プレーンシフトエンジン19、オフセット設定部20といった構成要素は、このシステムLSIの内部に組み込まれることになる。
【0040】
メモリデバイス103は、SDRAM等のメモリ素子のアレイによって構成される。
バックエンド部104は、再生装置内部と、他の装置との接続インターフェイスである。
不揮発性メモリ105は、読み書き可能な記録媒体であり、電源が供給されなくても、記録内容を保持できる媒体であり、後述する表示モード記憶部29に記憶されている表示モードのバックアップに利用される。かかる不揮発性メモリ105には、例えばフラッシュメモリ、FeRAMなどを利用することができる。
【0041】
ホストマイコン106は、MPU、ROM、RAMから構成される再生装置の中核である。後述する図の具体的な構成要素のうち、BD-Jプラットフォーム22、コマンドインタプリタ25は、このホストマイコン106に包含されることになる。
ネットワークインターフェース107は、再生装置の外部と通信を行うためのものであり、インターネットでアクセス可能なサーバにアクセスしたり、ローカルネットワークで接続されたサーバにアクセスしたりすることが可能である。例えば、インターネット上に公開されたBD-ROM追加コンテンツのダウンロードに用いられたり、コンテンツが指定するインターネット上のサーバとの間でデータ通信を行うこうことでネットワーク機能を利用したコンテンツの再生を可能としたりする。BD-ROM追加コンテンツとは、オリジナルのBD-ROMにないコンテンツで、例えば追加の副音声、字幕、特典映像、アプリケーションなどである。BD-Jプラットフォームからネットワークインターフェース107を制御することができ、インターネット上に公開された追加コンテンツをローカルストレージ111にダウンロードすることができる。
【0042】
上述したように、フロントエンド部101は例えば、BDドライブ110、ローカルストレージ111を含む。
BDドライブ110は例えば、半導体レーザ(図示せず)、コリメートレンズ(図示せず)、ビームスプリッタ(図示せず)、対物レンズ(図示せず)、集光レンズ(図示せず)、光検出器(図示せず)を有する光学ヘッド(図示せず)を備える。半導体レーザから出射された光ビームは、コリメートレンズ、ビームスプリッタ、対物レンズを通って、光ディスクの情報面に集光される。集光された光ビームは、光ディスク上で反射/回折され、対物レンズ、ビームスプリッタ、集光レンズを通って、光検出器に集光される。光検出器にて集光された光の光量に応じて、生成された信号がBD-ROMから読み出されたデータに対応する。
【0043】
ローカルストレージ111は、ビルドインメディア、リムーバブルメディアを備え、ダウンロードしてきた追加コンテンツやアプリケーションが使うデータなどの保存に用いられる。追加コンテンツの保存領域はBD-ROM毎に分かれており、またアプリケーションがデータの保持に使用できる領域はアプリケーション毎に分かれている。また、ダウンロードした追加コンテンツをどのようにBD-ROM上のデータとマージされるか、マージ規則が記載されたマージ管理情報もこのビルドインメディア、リムーバブルメディアに保存される。
【0044】
ビルドインメディアとは例えば再生装置に内蔵されたハードディスクドライブ、メモリなどの書き込み可能な記録媒体である。
リムーバブルメディアとは、例えば可搬性を有する記録媒体であり、好適にはSDカードなどの可搬性を有する半導体メモリーカードである。
リムーバブルメディアを半導体メモリーカードとしたときを例に説明をすると、再生装置にはリムーバブルメディアを装着するためのスロット(図示せず)およびスロットに装着されたリムーバブルメディアを読み取るためのインターフェース(例えばメモリーカードI/F)が備えられており、スロットに半導体メモリを装着すると、リムーバブルメディアと再生装置とが電気的に接続され、インターフェース(例えばメモリーカードI/F)を利用して、半導体メモリに記録されたデータを電気信号に変換して読み出すことが可能となる。
【0045】
これらフロントエンド部101〜ホストマイコン106内の構成要素を更に詳細に説明する。図5は、フロントエンド部101〜ホストマイコン106内の詳細な構成を示す図である。本図に示すように、フロントエンド部101〜ホストマイコン106内には、リードバッファ1,2、仮想ファイルシステム3、デマルチプレクサ4、ビデオデコーダ5a,b、ビデオプレーン6、イメージデコーダ7a,b、イメージメモリ7c,d、イメージプレーン8、オーディオデコーダ9、インタラクティブグラフィクスプレーン10、バックグラウンドプレーン11、再生状態/設定レジスタ(PSR)セット12、静的シナリオメモリ13、再生制御エンジン14、合成部15、HDMI送受信部16、左右処理記憶部17、表示機能フラグ保持部18、プレーンシフトエンジン19、オフセット設定部20、BD-Jプラットフォーム22、動的シナリオメモリ23、モード管理モジュール24、HDMVモジュール25、UO検知モジュール26、静止画メモリ27a、静止画デコーダ27b、表示モード設定イニシャル表示設定部28、表示モード記憶部29から構成される。
【0046】
リードバッファ1は、BDドライブ110か読み出されたベースビューストリームを構成するエクステントを構成するソースパケットを一旦格納しておき、転送速度を調整した上、デマルチプレクサ4に転送するためのバッファであり、上述したような"RB1"という規模をもつ。
リードバッファ2は、BDドライブ110か読み出されたエンハンスドビューストリームを構成するエクステントを構成するソースパケットを一旦格納しておき、転送速度を調整した上、デマルチプレクサ4に転送するためのバッファであり、上述したような"RB2"という規模をもつ。
【0047】
仮想ファイルシステム3は、追加コンテンツと共にローカルストレージ111にダウンロードされたマージ管理情報を元に、ローカルストレージに格納された追加コンテンツと装填したBD-ROM上のコンテンツをマージさせた、仮想的なBD-ROM(仮想パッケージ)を構築する。
HDMVモードの動作主体であるコマンドインタプリタやBD-Jモードの動作主体であるBD-Jプラットフォームからは、仮想パッケージとオリジナルBD-ROMを区別なく参照することができる。仮想パッケージ再生中、再生装置はBD-ROM上のデータとローカルストレージ上のデータの両方を用いて再生制御を行うことになる。
【0048】
デマルチプレクサ4は、ソースパケットデパケッタイザー、PIDフイルタから構成され、再生すべきストリーム(ストリームは構築した仮想パッケージ(装填したBD-ROMおよび装填したBD-ROMに対応するローカルストレージ上のデータ)に含まれる)に対応するパケット識別子の指示を受け付けて、当該パケット識別子に基づくパケットフィルタリングを実行する。パケットフィルタリングにあたって、左右処理記憶部31のフラグを基に、レフトビュービデオストリーム、ライトビュービデオストリームのうち、表示方式フラグに対応したビデオストリームを抜き出し、ビデオデコーダ5a、ビデオデコーダ5bに転送する。
【0049】
再生対象のストリームから分離されたストリームが字幕ストリームである場合、デマルチプレクサ4は、分離された字幕ストリームをイメージメモリに書き込む。例えば3D字幕ストリーム(レフトビュー用の字幕ストリーム、ライトビュー用の字幕ストリーム)がストリームに含まれている場合には、レフトビュー用の字幕ストリームをイメージメモリ7cに書き込み、ライトビュー用の字幕ストリームをイメージメモリ7dに書き込む。
【0050】
また、例えば字幕ストリームが2Dの字幕ストリーム(平面表示のために用いる字幕ストリーム)がストリームに含まれている場合には、2Dの字幕ストリームをイメージメモリ7cに書き込む。
ビデオデコーダ5aは、デマルチプレクサ4から出力されたTSパケットを復号して非圧縮形式のピクチャをレフトビュービデオプレーン6(図5のビデオプレーン6における符号(L)で示したもの)に書き込む。
【0051】
ビデオデコーダ5bは、デマルチプレクサ4から出力されたエンハンスドビュービデオストリームを復号してTSパケットを復号して非圧縮形式のピクチャをライトビュービデオプレーン6(図5のビデオプレーン6における符号(R)で示したもの)に書き込む。
ビデオプレーン6は例えば、1920×2160(1280×1440)といった解像度によってピクチャデータを格納することができるプレーンメモリであり、1920×1080(1280×720)の解像度をもつ左目用プレーン(図5のビデオプレーン6における符号(L)で示したもの)、1920×1080(1280×720)の解像度をもつ右目用プレーン(図5のビデオプレーン6における符号(R)で示したもの)を有する。
【0052】
ビデオデータの表示モードが3D表示モードであって、かつステレオモードがオンである場合には、ビデオデコーダ5aがレフトビュー用のビデオストリームをデコードし、左目用プレーン(図5に示したビデオプレーン6における符号(L)で示したもの)に書き込むとともに、ビデオデコーダ5bがライトビュー用のビデオストリームをデコードし、右目用プレーン(図5に示したビデオプレーン6における符号(R)で示したもの)に書き込む。
【0053】
また、ビデオデータの表示モードが3D表示モードであって、かつステレオモードがオフである場合には、ビデオデコーダ5aは、例えばレフトビュー用のビデオストリームをデコードし、左目用プレーン(図5に示したビデオプレーン6における符号(L)で示したもの)および右目用プレーン(図5に示したビデオプレーン6における符号(R)で示したもの)に書き込む。
【0054】
また、ビデオデータの表示モードが2D表示モードである場合は、例えばデマルチプレクサ4は、2Dビデオストリームをビデオデコーダ5aへ送り、ビデオデコーダ5aは、デコードした2Dビデオデータを左目用ビデオプレーン(図5に示したビデオプレーン6における符号(L)で示したもの)に書き込むように構成されている。
図示したビデオプレーン6に含まれる、左目用プレーン、右目用プレーンは物理的に分離したメモリを例示しているが、これに限定される必要はなく、例えば1つのメモリ内に左目用プレーンの領域、右目用プレーンの領域を設け、この領域に対応するビデオデータを書き込むような構成であっても良い。
【0055】
イメージデコーダ7a,bは、デマルチプレクサ4から出力され、イメージメモリ7c、7dに書き込まれた字幕ストリームを構成するTSパケットを復号して非圧縮形式のグラフィクス字幕をグラフィクスプレーン8aに書き込む。イメージデコーダ7a,bによりデコードされる"字幕ストリーム"は、ランレングス符号化によって圧縮された字幕を表すデータであり、Y値,Cr値,Cb値,α値を示すピクセルコードと、そのピクセルコードのランレングスとによって定義される。
【0056】
イメージプレーン8は、例えば1920×1080(1280×720)といった解像度によって、字幕ストリームをデコードすることにより得られたグラフィクスデータ(例えば字幕データ)を格納することができるグラフィクスプレーンであり、例えば1920×1080(1280×720)の解像度をもつデータを格納できるような記憶領域を有する左目用プレーン(図5に示したイメージプレーン8における符号(L)で示したもの)、1920×1080(1280×720)の解像度をもつデータを格納できるような記憶領域を有する右目用プレーン(図5に示したイメージプレーン8における符号(R)で示したもの)を有する。
【0057】
例えば字幕データの表示モードが3D表示モードであって、かつステレオモードがオンである場合には、イメージデコーダ7aがイメージメモリ7cに記憶されたレフトビュー用の字幕ストリームをデコードし、左目用プレーン(図5に示したイメージプレーン8における符号(L)で示したもの)に書き込むとともに、イメージデコーダ7bがイメージメモリ7dに記憶されたライトビュー用の字幕ストリームをデコードし、右目用プレーン(図5に示したイメージプレーン8における符号(R)で示したもの)に書き込む。
【0058】
また、字幕データの表示モードが3D表示モードであって、かつステレオモードがオフである場合には、イメージデコーダ7aは、イメージメモリ7cに記憶されたレフトビュー用の字幕ストリームをデコードし、左目用プレーン(図5に示したイメージプレーン8における符号(L)で示したもの)および右目用プレーン(図5に示したイメージプレーン8における符号(R)で示したもの)に書き込む。
【0059】
また、字幕データの表示モードが2D表示モードである場合には、デマルチプレクサ4は、2D字幕ストリームをイメージメモリ7cに格納するように構成されており、イメージデコーダ7aは、イメージメモリ7cに記憶された2D字幕ストリームをデコードし、左目用プレーン(図5に示したイメージプレーン8における符号(L)で示したもの)に書き込むように構成されている。
【0060】
図示したイメージプレーン8に含まれる、左目用プレーン、右目用プレーンは物理的に分離したメモリを例示しているが、これに限定される必要はなく、例えば1つのメモリ内に左目用プレーンの領域、右目用プレーンの領域を設け、この領域に対応するグラフィクススデータを書き込むような構成であっても良い。
オーディオデコーダ9は、デマルチプレクサ4から出力されたオーディオフレームを復号して、非圧縮形式のオーディオデータを出力する。
【0061】
インタラクティブグラフィクスプレーン10は、例えば1920×1080(1280×720)といった解像度によって、BD-Jアプリケーションがレンダリングエンジン21を利用して描画したグラフィクスデータを格納することができる記憶領域を有するグラフィクスプレーンであり、例えば1920×1080(1280×720)の解像度をもつデータを格納できるような記憶領域を有する左目用プレーン(図5のインタラクティブグラフィクスプレーン10において、符号(L)を付したもの)、1920×1080(1280×720)の解像度をもつデータを格納できるような記憶領域を有する右目用プレーン(図5のインタラクティブグラフィクスプレーン10において、符号(R)を付したもの)を有する。
【0062】
インタラクティブグラフィクスの表示モードが例えば3D表示モードであって、かつステレオモードがオンである場合、左目から見えるインタラクティブグラフィクスス(左目用インタラクティブグラフィクスス)、右目から見えるインタラクティブグラフィクススであって、左目用インタラクティブグラフィクススとは異なるインタラクティブグラフィクスス(右目用インタラクティブグラフィクスス)を描画するプログラムがBD-Jアプリケーションに組み込まれていることを意味する。
【0063】
この描画プログラムによって描画される左目用インタラクティブグラフィクスス及び右目用インタラクティブグラフィクススは、立体的なグラフィクススに見えるように互いに見える角度が異なっているようなグラフィクススである。
左目用インタラクティブグラフィクスス及び右目用インタラクティブグラフィクススを表示に供する場合、BD-Jアプリケーションはレンダリングエンジン21を利用して、左目用プレーン(図5のインタラクティブグラフィクスプレーン10において、符号(L)を付したもの)にレフトビュー用インタラクティブグラフィクススを書き込み、右目用プレーン(図5のインタラクティブグラフィクスプレーン10において、符号(R)を付したもの)にライトビュー用インタラクティブグラフィクススを書き込む。
【0064】
また、インタラクティブグラフィクスの表示モードが例えば3D表示モードであって、かつステレオモードがオフである場合、BD-Jアプリケーションはレンダリングエンジン21を利用してレフトビュー用のインタラクティブグラフィクスをインタラクティブグラフィクスプレーン10の符号(L)、符号(R)を付したものにそれぞれ書き込む。

インタラクティブグラフィクスの表示モードが2D表示モードである場合、BD-Jアプリケーションはレンダリングエンジン21を利用して、2Dインタラクティブグラフィクスをインタラクティブグラフィクスプレーン10(より具体的には、インタラクティブグラフィクスプレーン10の符号(L)を付したもの)に書き込むように構成されている。
【0065】
図示したインタラクティブグラフィクスプレーン10は左目用の領域(符号(L)を付したもの)、右目用の領域(符号(R)を付したもの)が1つのプレーンメモリ内に予め設けられている例を示しているが、これに限定される必要はなく、例えばインタラクティブグラフィクスプレーン10の左目用の領域(符号(L)を付したもの)、右目用の領域(符号(R)を付したもの)を物理的に分離したものを用いてもよい。
【0066】
インタラクティブグラフィクスプレーン10に格納される"グラフィクスデータ"は、個々の画素がR値,G値,B値,α値によって定義されるグラフィクスである。インタラクティブグラフィクスプレーン10に書き込まれるグラフィクスは、主にGUIを構成するために使われる目的を持つイメージやウィジェットである。
画素を表すデータに違いがあるものの、イメージデータ及びグラフィクスデータは、グラフィクスデータという表現で包括される。本願が対象としているグラフィクスプレーンには、イメージプレーン8、インタラクティブグラフィクスプレーン10の2種類があり、単に"グラフィクスプレーン"と呼ぶ場合、イメージプレーン8、インタラクティブグラフィクスプレーン10の双方又はどちらかを指し示すものとする。
【0067】
静止画メモリ27aは、構築した仮想パッケージから取り出された背景画となる静止画データを格納する。
バックグラウンドプレーン11は、例えば1920×1080(1280×720)といった解像度によって、背景画となるべき静止画データを格納することができるプレーンメモリであり、具体的には、1920×1080(1280×720)の解像度をもつ左目用プレーン(図5に示すバックグラウンドプレーン11における符号(L)を付したもの)、1920×1080(1280×720)の解像度をもつ右目用プレーン(図5に示すバックグラウンドプレーン11における符号(R)を付したもの)を有する。

背景画の表示モードが例えば3D表示モードであって、かつステレオモードがオンである場合、静止画デコーダ27bは、静止画メモリ27aに格納された、レフトビュー用の静止画データ、ライトビュー用の静止画データをデコードして、レフトビュー用の静止画データを左目用プレーン(図5に示すバックグラウンドプレーン11における符号(L)を付したもの)、ライトビュー用の静止画データを右目用プレーン(図5に示すバックグラウンドプレーン11における符号(R)を付したもの)にそれぞれ書き込む。

背景画の表示モードが例えば3D表示モードであって、かつステレオモードがオフである場合、静止画メモリ27aに格納された3D背景画(レフトビュー用の静止画データ、ライトビュー用の静止画データ)のうち、レフトビュー用の静止画データを静止画デコーダ27bがデコードし、左目用プレーン(図5に示すバックグラウンドプレーン11における符号(L)を付したもの)および右目用プレーン(図5に示すバックグラウンドプレーン11における符号(R)を付したもの)に書き込む。

背景画の表示モードが例えば2D表示モードである場合、静止画メモリ27aに格納された2Dの静止画データを静止画デコーダ27bがデコードし、左目用プレーン(図5に示すバックグラウンドプレーン11における符号(L)を付したもの)に書き込むように構成されている。

図示したバックグラウンドプレーン11は、左目用の領域(符号(L)を付したもの)、右目用の領域(符号(R)を付したもの)が1のプレーンメモリ内に予め設けられている例を示しているが、これに限定される必要はなく、例えばバックグラウンドプレーン11の左目用の領域(符号(L)を付したもの)、右目用の領域(符号(R)を付したもの)を物理的に分離したプレーンメモリを用いてもよい。

なお、図5に示したビデオプレーン6、イメージプレーン8、インタラクティブグラフィクススプレーン10、バックグラウンドプレーン11は左目用のデータを格納するための記憶領域、右目用のデータを格納するための記憶領域を設けるような構成を開示したが、これに限定される必要はなく、例えば1つの記憶領域を左目用/右目用の記憶領域として交互に利用するような構成であっても良い。

再生状態/設定レジスタ(Player Status/Setting Register)セット12は、プレイリストの再生状態を格納する再生状態レジスタ、再生装置におけるコンフィグレーションを示すコンフィグレーション情報を格納する再生設定レジスタ、コンテンツが利用する任意の情報を格納できる汎用レジスタを含む、レジスタの集まりである。プレイリストの再生状態とは、プレイリストに記載されている各種AVデータ情報の中のどのAVデータを利用しているか、プレイリストのどの位置(時刻)を再生しているかなどの状態を現す。
【0068】
プレイリストの再生状態が変化した際は、再生制御エンジン14がPSRセット12に対し、その内容を格納する。また、HDMVモードの動作主体であるコマンドインタプリタもしくはBD-Jモードの動作主体であるJava(登録商標)プラットフォームが実行しているアプリケーションからの指示により、アプリケーションが指定した値を格納したり、格納された値をアプリケーションに渡したりすることが可能である。
【0069】
静的シナリオメモリ13は、カレントプレイリスト情報やカレントクリップ情報を格納しておくためのメモリである。カレントプレイリスト情報とは、BD-ROMまたはビルドインメディアドライブ、リムーバブルメディアドライブからアクセスできる複数プレイリスト情報のうち、現在処理対象になっているものをいう。カレントクリップ情報とは、BD-ROMまたはビルドインメディアドライブ、リムーバブルメディアドライブからアクセスできる複数クリップ情報のうち、現在処理対象になっているものをいう。
【0070】
再生制御エンジン14は、HDMVモードの動作主体であるコマンドインタプリタ、BD-Jモードの動作主体であるJava(登録商標)プラットフォームからの関数呼び出しに応じて、AV再生機能、プレイリストの再生機能を実行する。AV再生機能とは、DVDプレーヤ、CDプレーヤから踏襲した機能群であり、再生開始、再生停止、一時停止、一時停止の解除、静止画機能の解除、再生速度を即値で指定した早送り、再生速度を即値で指定した巻戻し、音声切り替え、副映像切り替え、アングル切り替えといった処理である。プレイリスト再生機能とは、このAV再生機能のうち、再生開始や再生停止をカレントプレイリストを構成するカレントプレイリスト情報、カレントクリップ情報に従って行うことをいう。
【0071】
ディスクの挿入というイベントが発生した場合、再生制御エンジン12による再生処理の対象となるプレイリスト及びAVストリームは、BD-ROM上のカレントシナリオに記載されているデフォルト起動プレイリスト(AutoStartPlaylist)とデフォルト起動ストリームである。AVストリーム再生は、ユーザオペレーション(例えば再生ボタン)をトリガーとして開始する場合もあれば、端末内の何かのイベントをトリガーとして自動的に開始する場合もある。
【0072】
合成部15は、インタラクティブグラフィクスプレーン、イメージプレーン8、ビデオプレーン、バックグラウンドプレーン11の格納内容を合成する。
インタラクティブグラフィクスプレーン、イメージプレーン8、ビデオプレーンとバックグラウンドプレーン11は別々のレイヤー構成になっており、必ず、下から、バックグラウンドプレーン11、ビデオプレーン、イメージプレーン8、インタラクティブグラフィクスプレーンの順に格納されたデータの合成(重ね合わせ)を行う。つまり、たとえ平面のグラフィクスを立体視ビデオの上に重ね合わせるケースにおいても、バックグラウンドプレーン11に格納された背景画の上にビデオプレーンに格納されたビデオを合成し、その合成画像の上にイメージプレーンに格納された字幕を合成し、この合成画像の上に、インタラクティブグラフィクスプレーンに格納されたグラフィクス合成して表示する。そうしないと、グラフィクスの部分がビデオにめり込んだ形になり、不自然になってしまうからである。
【0073】
また合成部15は、スケーラを具備しており、シフトされたプレーンの合成を行う際にプレーンのスケーリングを行い、大きく見せる、あるいは小さく見せることも可能である。
スケーリングを実行する意義は以下の通りである。実世界では手前にきたオブジェクトは大きく写り、奥に表示されたオブジェクトは小さく見えるが、プレーンのシフトのみではオブジェクトのサイズがかわらないまま手前や奥に表示されることになる。そのような場合は視聴者にとっては不快感を与えてしまう。こういった不快感をなくすためである。例えば、シフト幅を大きくして手前に表示させる場合はイメージプレーン8の字幕やインタラクティブグラフィクスプレーン10の画像をスケーリングによって大きくすることが考えられる。
【0074】
HDMI送受信部16は、例えばHDMI規格(HDMI:High Definition Multimedia Interface)に準拠したインターフェイスを含み、再生装置とHDMI接続する装置(この例ではテレビ400)とHDMI規格に準拠するように送受信を行うものであり、ビデオに格納されたピクチャデータと、オーディオデコーダ9によってデコードされた非圧縮のオーディオデータとを、HDMI送受信部16を介してテレビ400に伝送する。テレビ400は、例えば立体視表示に対応しているかに関する情報、平面表示可能な解像度に関する情報、立体表示可能な解像度に関する情報を保持しており、再生装置からHDMI送受信部16を介して要求があると、テレビ400は要求された必要な情報(例えば立体視表示に対応しているかに関する情報、平面表示可能な解像度に関する情報、立体表示可能な解像度に関する情報)を再生装置へ返す。このように、HDMI送受信部16を介することで、テレビ400が立体視表示に対応しているかどうかの情報を、テレビ400から取得することができる。
【0075】
左右処理記憶部17は、現在の出力処理がレフトビュー用の出力か、または、ライトビュー用の出力かを記憶する。左右処理記憶部17のフラグは、図1に示した再生装置と接続する表示デバイス(図1の例ではテレビ)に対する出力が、レフトビュー出力であるか、ライトビュー出力であるかを示す。レフトビュー出力をしている間、左右処理記憶部17のフラグはレフトビュー出力を示すフラグに設定される。また、ライトビュー出力をしている間、左右処理記憶部17のフラグはライトビュー出力を示すフラグに設定される。
【0076】
表示機能フラグ保存部18は、再生装置は再生装置が3Dの表示が可能か否かの区別を示す、3D表示機能フラグを保存している。
プレーンシフトエンジン19は、左右処理記憶部31のフラグと、グラフィクスプレーンの奥行き情報とを基に、イメージプレーン8及び/またはインタラクティブグラフィクスプレーン10に格納されている画素データの座標を一定の方向(例えば表示画面の水平方向)にシフトする。この場合、左目用のインタラクティブグラフィクスプレーンと右目用のインタラクティブグラフィクスプレーンが同一の描画オブジェクトを利用したものであっても、シフトによって、表示画面よりも手前に飛び出した位置に表示しているかのように表示することも可能となる。つまり、イメージプレーンやインタラクティブグラフィクスプレーンの描画に用いた字幕やGUI等のグラフィクスのオブジェクト自体が立体視用の素材でなくても、表示画面よりも手前の位置に飛び出るエフェクトを得ることが可能になる。ビデオを2D表示させたまま、グラフィクスのみ立体効果を持たせたい場合、レフトビュービデオ、及び、ライトビュービデオの組みを用いるのではなく、レフトビュー及びライトビューの両方にレフトビュー用のビデオを用いて、その上に上記シフト済みイメージプレーンやインタラクティブグラフィクスプレーンを合成する。
【0077】
プレーンシフトの対象は、イメージプレーン8、インタラクティブグラフィクスプレーン10の双方である必然性はなく、インタラクティブグラフィクスプレーン10のみをプレーンシフトの対象にしたり、イメージプレーン8のみをプレーンシフトの対象にしてもよい。
プレーンシフトエンジン19は、プレーンシフトを行うにあたって、どの方向にどれだけシフトを行うかを示す"プレーンオフセット"(オフセット値)を記憶する記憶領域を有している。例えば、再生装置200がプレーンオフセットの値を設定できるセットアップ機能を兼ね備えている場合、プレーンシフトエンジン19は、セットアップ機能を用いて設定した値を保存する。前記オフセット値は例えば、イメージプレーン用とインタラクティブグラフィクスプレーン用の2つをもち、プレーンシフトを行う対象に応じてその2つのオフセット値を使い分けても良い。セットアップ機能を兼ね備えていない場合、"0"がデフォルトで指定されるようにしてもよい(この場合は表示画面の位置に字幕、GUIなどのグラフィクススが表示され、表示画面から飛び出るような効果はない)。
【0078】
レンダリングエンジン21は、Java(登録商標)2D,OPEN-GLといった基盤ソフトウェアを備え、BD-JモードにおいてはBD-Jプラットフォーム22からの指示に従って、グラフィクススや文字列をインタラクティブグラフィクスプレーン10に書き込む。またHDMVモードにおいて、レンダリングエンジン21は、字幕に対応するストリーム(字幕ストリーム)以外のグラフィクスストリームから抽出したグラフィクスデータ(例えば、入力ボタンに対応するグラフィクススデータ)をレンダリングし、インタラクティブグラフィクスプレーン10に書き込む。
【0079】
BD-Jプラットフォーム22は、BD-Jモードの動作主体であるJava(登録商標)プラットフォームであり、Java(登録商標)2Micro_Edition(J2ME) Personal Basis Profile(PBP 1.0)と、Globally Executable MHP specification(GEM1.0.2)for package media targetsとをフル実装しており、JARアーカイブファイルに存在するクラスファイルからバイトコードを読み出して、ヒープメモリに格納することにより、BD-Jアプリケーションを起動する。そしてBD-Jアプリケーションを構成するバイトコード、システムアプリケーションを構成するバイトコードをネィティブコードに変換して、MPUに実行させる。
【0080】
動的シナリオメモリ23は、カレント動的シナリオを格納しておき、HDMVモードの動作主体であるHDMVモジュール、BD-Jモードの動作主体であるJava(登録商標)プラットフォームによる処理に供されるメモリである。カレント動的シナリオとは、BD-ROMまたはビルドインメディア、リムーバブルメディアに記録されているIndex.bdmv、BD-Jオブジェクト、ムービーブジェクトのうち、現在実行対象になっているものをいう。
【0081】
表示モード管理モジュール24は、BD-ROMまたはビルドインメディアドライブ、リムーバブルメディアドライブから読み出されたIndex.bdmvを保持して、モード管理及び分岐制御を行う。モード管理モジュール24によるモード管理とは、動的シナリオを、BD-Jプラットフォーム22、HDMVモジュール25のどちらに実行させるかという、モジュールの割り当てである。
【0082】
HDMVモジュール25は、HDMVモードの動作主体となるDVD仮想プレーヤであり、HDMVモードの実行主体となる。本モジュールは、コマンドインタプリタを具備し、ムービーオブジェクトを構成するナビゲーションコマンドを解読して実行することでHDMVモードの制御を実行する。ナビゲーションコマンドは、DVD-Videoと似たようなシンタックスで記述されているため、かかるナビゲーションコマンドを実行することにより、DVD-Videoライクな再生制御を実現することができる。
【0083】
UO検知モジュール26は、GUIに対するユーザオペレーションを受け付ける。かかるGUIによって受け付けられるユーザオペレーションには、BD-ROMに記録されているタイトルのうち、どれを選択するかというタイトル選択、字幕選択、音声選択がある。特に、立体視再生特有のユーザオペレーションとして、立体視映像の奥行き感のレベルを受け付けることがある。例えば、奥行き感が、遠い、普通、近い等の3つのレベルを受け付けることがあるし、奥行き感は何cm、何mmというように、数値入力によって奥行き感のレベルを受け付けることもある。
【0084】
静止画メモリ27aは、BD-ROM(または構築された仮想パッケージ)から読み出された静止画データを格納する。
静止画デコーダ27bは、リードバッファ27aに読み出された静止画データをデコードして、非圧縮の背景画データをバックグラウンドプレーン11に書き込む。
表示モード記憶部29は、表示モード、ステレオモードを記憶する。再生装置が3D表示機能フラグとして3D表示が可能と設定されている場合、表示モード記憶部29に保存された端末設定である表示モードは、2D、3Dの何れかに切り替えることが可能となる。以後、表示モードが"3D"と示されている状態を"3D表示モード"と呼び、表示モードが"2D"と示されている状態を"2D表示モード"と呼ぶ。
【0085】
再生装置が3D表示モードの場合、各プレーンは、ステレオモードONの状態、ステレオモードOFFの状態の何れかの状態をとる。ステレオモードのONとOFFの違いはプレーンの合成方法の違いでもある。
"ステレオモードON"とは、再生装置はレフトビュー用の映像とライトビュー用の映像を別々のものを表示するような合成を行う3D表示モードである。
【0086】
"ステレオモードOFF"とは、再生装置はレフトビュー用の映像とライトビュー用の映像を同一のものを表示するような合成を行う3D表示モードである。つまり、両目で視聴した場合は立体感がない映像(平面映像)になる。ただし、例えばグラフィクスプレーン8においてはプレーンオフセットによる水平方向へのシフトにより、グラフィクスプレーンに格納され表示される平面的なグラフィクススデータ(字幕データ)を表示画面よりも手前または奥に位置するように見せることが可能である。このことは、ビデオプレーンに記憶されたビデオデータ、インタラクティブグラフィクススプレーンに記憶されたインターラクティブグラフィクススデータ、バックグラウンドプレーン11に記憶された背景画データにおいて、"ステレオモードOFF"である場合にオフセットを調節すれば、同様のことが言える。
【0087】
以上説明をしたように"3D表示モード"において、"ステレオモードON"と"ステレオモードOFF"の2つがあり、"3D表示モード"にける"ステレオモードON"においてはレフトビュー用のデータとライトビュー用のデータ(例えば左目から見える像と右目から見える像とは見える角度の異なる像)であり、これらをそれぞれレフトビュー用のプレーンとライトビュー用のプレーンに格納し、格納された像を同期信号に従って表示することにより、立体感のある像を表示することが可能である。
【0088】
また、"3D表示モード"における"ステレオモードOFF"においてはレフトビュー用のデータとライトビュー用のデータのうちのいずれか一方のデータ(本実施の形態では例えばレフトビュー用のデータ)のみを用いて、これをレフトビュー用のプレーンとライトビュー用のプレーンのそれぞれに格納し、オフセットを調節することにより、平面的な像を表示画面よりも手前または奥に位置するように表示することが可能である。
【0089】
本実施の形態においては、"ステレオモードON"、"ステレオモードOFF"、はプレーン毎(つまり、ビデオプレーン6、グラフィクススプレーン8、インターラクティブグラフィクススプレーン10、バックグラウンドプレーン11毎)に設定できるように構成している。
また、"2D表示モード"というのは通常の表示つまり、表示画面の位置に対応する像が表示するものである。この場合、デフォルトで利用されるデコーダ、プレーンを予め決められておりこのデコーダ、プレーンを利用して合成画像を表示するように構成がなされている。
【0090】
例えば、"2D表示モード"の場合、ビデオデコーダ5aが左目用ビデオプレーン(図5に示したビデオプレーン6における符号(L)で示したもの)に書き込んだ2Dビデオデータ、イメージデコーダ7aが左目用プレーン(図5に示したイメージプレーン8における符号(L)で示したもの)に書き込んだ2Dグラフィクススデータ(字幕データ)、BD-Jアプリケーションがレンダリングエンジン21を利用して、左目用プレーン(図5のインタラクティブグラフィクスプレーン10において、符号(L)を付したもの)書き込んだ2Dインタラクティブグラフィクスス、静止画デコーダ27bが左目用プレーン(図5に示すバックグラウンドプレーン11における符号(L)を付したもの)に書き込んだ2Dの静止画データを合成するように構成されている。
【0091】
このとき、合成の順序は下から2D静止画データ、2Dビデオデータ、2Dグラフィクススデータ(字幕データ)、2Dインタラクティブグラフィクススの順で合成する。このときビデオデータが全画面表示である場合、2D静止画データは合成しないように構成をしても良い。表示モード記憶部29の2D表示モードか3D表示モードを示すフラグは再生状態レジスタ12で保存してもよいし、表示モード記憶部29と再生状態レジスタ12の両方で保存しても良い。
【0092】
表示モード設定イニシャル表示設定部28は、BD-Jプラットフォーム部に供せられるカレントタイトルにおけるBD-Jオブジェクトに基づき、表示モード、解像度の設定を行う。
以上が再生装置の内部構成についての説明である。次に、本実施の形態における2D表示モード、3D表示モードの切り替えの詳細について説明する。
図6は、2D表示モード、3D表示モードの切り替えを示す図である。本図の左側には2D表示モード時の出力モデルが示されている。左側のプレーン構成では、ビデオプレーン6、イメージプレーン8(図中の"Subtitle")8、インタラクティブグラフィクスプレーン10、バックグラウンドプレーン11、及び出力のそれぞれ一つで構成される。
【0093】
よって、2D表示モード時はレフとビューとライトビューは共通のものを利用することになり、結果として全く同じ出力を見ることになる。
本図の右側には3D表示モード時の出力モデルが表示されている。再生装置が3D表示モードの場合、ビデオプレーン6、イメージプレーン8(図中の"Subtitle")8、インタラクティブグラフィクスプレーン10はそれぞれレフトビュー用と、ライトビュー用とに分けられており、これらに再生すべきピクチャデータ、グラフィクスデータが格納される。
【0094】
よって3D表示モード時はレフトビューとライトビュー出力が別々に存在し、左目と右目に異なるイメージを提供することが可能になり、その視差であたかも画面内の立体物が手前に飛び出しているかのような3Dのエフェクトを引き出すことが可能である。
(立体効果の指定)
図7は、3D表示モードにおいて、各プレーンのステレオモードが全てオンである場合と、ステレオモードが全てオフである場合の合成処理の一例を示す図である。
【0095】
図7では各プレーンがステレオモードを統一させている場合の例を示しているが、プレーン毎にステレオモードのON/OFFが変更可能である。
左側は、3D表示モードにおいて、各プレーンのステレオモードが全てオンである場合のプレーン構成を示し、右側は、3D表示モードにおいて、各プレーンのステレオモードが全てオフである場合のプレーン構成を示す。
【0096】
第1段目は、バックグラウンドプレーン11と、その合成前の出力とを示す。
第2段目は、ビデオストリームと、その合成前の出力とを示す。
第3段目は、イメージプレーン8と、その合成前の出力とを示す。
第4段目は、インタラクティブグラフィクスプレーン10と、その合成前の出力とを示す。
【0097】
ステレオモードがONの場合、バックグラウンドプレーンは、(L)が付された領域で示す左目用バックグラウンドプレーンがレフトビュー用の背景データの書き込みに使われ、(R)が付された領域で示す右目用バックグラウンドプレーンがライトビュー用の背景データの書き込まれ、左目用/右目用の合成時にそれぞれ使われる。バックグラウンドプレーン11のステレオモードがOFFの場合はアプリケーションによりレフトビュー用の背景データがバックグラウンドプレーンの、(L)、(R)を付した領域にそれぞれ書き込まれるので、ライトビュー用の背景データは表示に影響しない。
【0098】
ステレオモードがONの場合、ビデオストリームのうち、左目用のビデオのピクチャデータがレフトビュー用のビデオプレーンに格納される。また、ビデオストリームのうち、右目用のビデオのピクチャデータがライトビュー用のビデオプレーンに格納される。ビデオプレーンのステレオモードがOFFの場合は、左目用のビデオのピクチャデータがレフトビュー用のビデオプレーンとライトビュー用のビデオプレーンの両方に格納される。
【0099】
ステレオモードがONの場合、イメージプレーンは(L)が付された領域で示す左目用イメージプレーンにレフトビュー用のイメージデータが書き込まれ、(R)が付された領域で示す右目用イメージプレーンがライトビュー用のイメージデータの書き込まれ、左目用/右目用の合成時にそれぞれ使われる。
イメージプレーン8のステレオモードがOFFの場合、ライトビュー用のイメージデータに対応する字幕グラフィクスは表示に影響しない。また、ステレオモードがOFFの場合、イメージプレーン8の内容は、右方向又は左方向にシフトされた内容になる(図中のShifed Left)
ステレオモードがONの場合、インタラクティブグラフィクスプレーン10は(L)が付された領域で示す左目用インタラクティブグラフィクスプレーンにレフトビュー用のインタラクティブグラフィクスが書き込まれ、(R)が付された領域で示す右目用インタラクティブグラフィクスプレーンにライトビュー用のインタラクティブグラフィクスが書き込まれ、左目用/右目用の合成時にそれぞれ使われる。
【0100】
インタラクティブグラフィクスプレーン10のステレオモードがOFFの場合はアプリケーションによるライト用のインタラクティブグラフィクスは表示に影響しない。また、ステレオモードがOFFの場合、インタラクティブグラフィクスプレーン10の内容は、右方向又は左方向にシフトされた内容になる(図中のShifed Left)。
図8は、全プレーンがステレオモードONである場合に、バックグラウンドプレーン11、ビデオプレーン、イメージプレーン8、インタラクティブグラフィクスプレーン10がどのように重ねあわせられるかを示す。ステレオモードにおいては、レフトビューとしてレフトビューバックグラウンドプレーンu4、ビデオストリームから読み出されたレフトビュービデオu3、、イメージプレーン8のレフトビューグラフィクスu2、インタラクティブグラフィクススプレーン10のレフトビューグラフィクスu1が順に合成されることがわかる。
【0101】
また、ライトビューとしてライトビューバックグラウンドプレーンu8、ビデオストリームから読み出されたライトビュービデオu7が、イメージプレーン8のライトビューグラフィクスu6、インタラクティブグラフィクスプレーン10ののライトビューグラフィクスu5が順に合成されることがわかる。
図9は、全プレーンがステレオモードOFFである場合に、バックグラウンドプレーン11、ビデオプレーン、イメージプレーン8、インタラクティブグラフィクスプレーン10がどのように重ねあわせられるかを示す。ステレオモードOFF時においては、レフトビューとしてレフトビューバックグラウンドプレーンr4、ビデオストリームから読み出されたレフトビュービデオr2、イメージプレーン8のレフトビューグラフィクスを一定の水平方向(図では右)にシフトしたShifted Leftグラフィクスr3、インタラクティブグラフィクスプレーン10のレフトビューグラフィクスを一定の水平方向(図では右)にシフトしたShifted Leftグラフィクスr1が順に合成さることがわかる。
【0102】
また、ライトビューとしてライトビューバックグラウンドプレーンr8、ビデオストリームから読み出されたレフトビュービデオr6、イメージプレーン8のレフトビューグラフィクスをレフトビューとは逆の方向(図では左)にシフトしたShifted Leftグラフィクスr7、インタラクティブグラフィクスプレーン10のレフトビューグラフィクスをレフトビューとは逆の方向(図では左)にシフトしたShifted Leftグラフィクスr5が順に合成されることがわかる。
【0103】
図7〜9に示す例では、ステレオモードがオフの状態において、バックグラウンドとビデオのオフセットを調整しない(つまりオフセットが0、より具体的には表示画面の位置に表示されている)例を説明しているが、これは上述の説明を簡単にするためである。従って上述の説明に限定される必要はなく、例えばグラフィクススイメージ(字幕)よりも奥にビデオが位置するように、かつ背景データがビデオよりも奥に位置するようにオフセットを調整して表示しても良い。
【0104】
次に、本実施の形態におけるステレオモードの切り替えの詳細について説明する。
図10は、プレーン毎の合成結果を示す。
6L、6Rは、ビデオプレーンの一例を示すものである。女性の顔の向きの違いから、レフトビュー用のストリームとライトビューのストリームは違った角度から撮られたものであることがうかがえる。尚、図10における人物の顔の向きや位置のズレは模式的なものであり、立体視再生を実現するための正確な顔の向きや位置を表している訳ではない。
【0105】
イメージプレーン8における"I love you"の字は字幕データがイメージデコーダによってデコードされた後のイメージである。
インタラクティブグラフィクスプレーン10における太陽形状のGUI部品は、BD-Jアプリケーションがインタラクティブグラフィクスプレーン10に描画したものである。
6LLは、合成後の出力レフトビューであり、6RRは、合成後に出力される出力ライトビューである。6LLのレフトビュー用映像では"I love you"の字幕が右にずれて合成されていることがわかる。また、6RRのライトビュー映像では"I love you"の字幕が左にずれて合成されている。
【0106】
図11は、全プレーンがステレオモードON時における映像出力を3D用ディスプレイで見た場合の一例である。
ライトビューとレフトビュー用の映像は、例えばシャッター眼鏡500を通してフィルタされ、各目に違う映像を映し出す。ここで注目すべき点は、ビデオストリーム映像が左右の画像が重ねられて立体化されているのみでなく、"I love you"の字幕や太陽形状のGUI部品も左目と右目で異なっていることである。このように、予め左目用と右目用の両方のコンテンツが用意されている場合はステレオモードをONにすることにより、自然とビデオ、字幕やGUI部品全て奥行きが保たれた構成になることがわかる。
【0107】
図12は、ビデオプレーンはステレオモードONだが、それ以外のプレーンは全てステレオモードOFFにした場合の映像出力を、シャッター眼鏡500で見た場合に現れる立体視映像の一例を示す。左目用と右目用の両方の字幕やGUIが用意されていないディスク(2D前提で作られた過去のコンテンツ、ディスクの容量が足りなくてそうせざるを得ないディスク等)に関してはグラフィクスプレーンのステレオモードはOFFにせざるを得ない。図12はビデオプレーンがステレオモードONのため、レフトビュー用のストリームとライトビューのストリームは違った角度から撮られたものであることがうかがえる。一方、イメージプレーン8及びインタラクティブグラフィクスプレーン10は、ステレオモードOFFであり、右方向及び左方向にシフトしたものがビデオプレーンに合成され、片目用の字幕・GUIのみしか存在しなくても立体ビデオの手前に表示することが可能となり、視聴者への目の労度を低減することが可能なことが伺える。
【0108】
(立体視効果を実現するための制御)
立体視効果の実現のため、グラフィクスプレーンをずらす方向について説明する。
プレーンシフトエンジン19がシフトする方向はグラフィクスプレーンを画面の奥にめりこむ立体感をもたせるか、画面から飛び出させる立体感を持たせるかによって異なる。本実施形態ではレフトビュー用映像として右方向にずらす、つまり画面から飛び出させるに立体感を持たせることを前提とする。
【0109】
右方向にシフトした場合の各ピクセルデータの座標と、左方向にシフトした場合の各ピクセルデータの座標との差分を"シフト量"という。このシフト量は、立体視においては、イメージプレーン8、又は、インタラクティブグラフィクスプレーン10に、どの程度の奥行きをもたせるかという奥行き値によって算出されるべきである。また、立体視再生において、両目の視差として採用することができる何等のパラメータから、導出することができる。
【0110】
また、上述したようなシフト量だけ、左右に、グラフィクスプレーン内の画素データを移動させるためのパラメータを"プレーンオフセット"と呼ぶ。シフト量はスカラ量であるのに対して、プレーンオフセットは、正負の値を持つベクトルであり、現在の状態から、右方向及び左方向のどちらの向きに、どれだけ画素データの座標を移動させるかを指し示す。以降の説明においてプレーンシフトは、このプレーンオフセットに従って実行されるものとする。プレーンオフセットには、シフト量に正負の符号を付けたものものもあるし、何等かの関数式による計算を施した上、シフト量として採用できるものもある。
【0111】
続いて、プレーンオフセットの正負の意味合いについて説明する。
グラフィクスプレーンのプレーンオフセットは、ライトビューのグラフィクスプレーンに格納されている画素データの座標、及び、レフトビュー用のグラフィクスプレーンに格納されている画素データの座標を何画素だけずらすかという画素数を示す。
グラフィクスプレーンの映像が画面から飛び出る効果をもたらしたい場合はプレーンの合成の前にレフトビュー用のグラフィクスプレーンをプレーンオフセットに示されるシフト量の分だけ右側にシフトする。そして、ライトビューのグラフィクスプレーンをプレーンオフセットに示されるシフト量の分だけ左側にシフトする。本実施の形態ではプレーンオフセットの符号が"正の符号"の場合は飛び出る効果をもたらすこととする。
【0112】
グラフィクスプレーンの映像が画面の奥に表示される効果をもたらしたい場合はプレーンの合成の前にレフトビュー用のグラフィクスプレーンをプレーンオフセットに示されるシフト量の分だけ左にシフトする。そして、ライトビューのグラフィクスプレーンをプレーンオフセットに示されるシフト量の分だけ右にシフトする。本実施の形態ではプレーンオフセットの符号が"負の符号"の場合は奥に表示される効果をもたらすこととする。
【0113】
プレーンオフセットが"0"の場合、グラフィクスプレーンのシフトは行わない、つまり、不作為を意味するものとなる。
図13は、右方向にシフトされたShifted Leftグラフィクスプレーン、左方向にシフトされたShifted Leftグラフィクスプレーンを示す図である。
本図(a)に示すように、イメージプレーン8における右方向シフト後のグラフィクスプレーンは、左側に透明領域が存在しており、右側の端部が切り取られている。同じくインタラクティブグラフィクスプレーン10における右方向シフト後のグラフィクスプレーンは、左側に透明領域が存在しており、右側の端部が切り取られている。
【0114】
同じく(b)に示すように、イメージプレーン8における左方向シフト後のグラフィクスプレーンは、右側に透明領域が存在しており、左側の端部が切り取られている。同じくインタラクティブグラフィクスプレーン10における左方向シフト後のグラフィクスプレーンは、右側に透明領域が存在しており、左側の端部が切り取られている。
図14は、イメージプレーン8の内部構成を示す。解像度が1920×1080に設定されている場合、同図(a)に示すように、イメージプレーン8は横1920×縦1080の、8ビット長の記憶素子からなる。これは1920×1080の解像度で、1画素当たり8ビットのピクセルコードを格納できるメモリアロケーションを意味する。記憶素子に記憶されている8ビットのピクセルコードは、カラールックアップテーブルを用いた色変換によって、Y値、Cr値、Cb値に変換される。このカラールックアップテーブルにおける、ピクセルコードと、Y値、Cr値、Cb値との対応関係は、字幕データ内のパレット定義セグメントによって規定される。
【0115】
同図(b)は、イメージプレーン8に格納されている画素データを示す。本図に示すように、イメージプレーン8に格納されているグラフィクスデータは、前景部分(字幕"I love"を構成している部分)にあたる画素データ、背景部分にあたる画素データから構成される。ここで背景部分にあたる記憶素子には、透明色を示すピクセルコードが格納されており、この部分には、ビデオプレーンとの合成時において、ビデオプレーンにおける動画像が透けて見えるようになる。一方、前景部分にあたる記憶素子には、透明色以外を示すピクセルコードが格納されており、この透明色以外のY,Cr,Cb,α値によって、字幕が描かれることになる。合成部15によるプレーン合成時において、透明画素にあたる部分には、バックグラウンドグラフィクスプレーン、ビデオプレーンの内容が透けて見えるようになり、かかる透明部分の存在によって、プレーン合成が可能になる。
【0116】
図15は、右方向のシフト、左方向のシフトがなされた後の、前景領域の画素データ及び背景領域の画素データを示す。(a)は、シフト前の画素データであり、(b)は右方向のシフト後の画素データである。ここで、シフト量が15画素であるとすると、字幕文字"I love you"の"y"が移動して、画面から見えなくなっていることがわかる。(c)は、左方向のシフトがなされた後の画素データである。ここでシフト量が15画素であると、字幕文字"I love"に後続する字幕文字"you"のうち、"o"の文字が、現れていることがわかる。
【0117】
以上がイメージプレーン8の内部構成と、そのシフト前後の画素データの配置の説明である。次に、インタラクティブグラフィクスプレーン10の内部構成と、そのシフト前後の画素データの配置について説明する。
図16は、インタラクティブグラフィクスプレーン10の内部構成を示す。解像度が1920×1080に設定されている場合、(a)に示すように、インタラクティブグラフィクスプレーン10は横1920×縦1080の32ビット長の記憶素子からなる。インタラクティブグラフィクスプレーン10は、1920×1080の解像度で、1画素当たり32ビットのR,G,B,α値を格納できるメモリアロケーションをもつ。記憶素子に記憶される32ビットのR,G,B,α値は、8ビットのR値、8ビットのG値、8ビットのR値、8ビットの透明度αから構成される。
【0118】
(b)は、インタラクティブグラフィクスプレーン10に格納されている画素データを示す。本図に示すように、インタラクティブグラフィクスプレーン10に格納されているグラフィクスデータは、前景部分(太陽のコロナを表す三角形)にあたる画素データ、背景部分にあたる画素データから構成される。ここで背景部分にあたる記憶素子には、透明色を示すR,G,B,α値が格納されており、この部分には、ビデオプレーンとの合成時において、ビデオプレーンにおける動画像が透けて見えるようになる。一方、前景部分にあたる記憶素子には、透明色以外を示すR,G,B,α値が格納されており、この透明色以外のR,G,B,α値によって、グラフィクスが描かれることになる。
【0119】
合成部15によるプレーン合成時において、透明画素にあたる部分には、バックグラウンドグラフィクスプレーン、ビデオプレーン、イメージプレーン8の内容が透けて見えるようになり、かかる透明部分の存在によって、プレーン合成が可能になる。
以上で、右方向のシフト、左方向のシフトがなされた後の、前景領域の画素データ及び背景領域の画素データについての説明を終える。
【0120】
図17は、右方向のシフト、左方向のシフトがなされた後の、前景領域の画素データ及び背景領域の画素データを示す。本図(a)は、シフト前の画素データであり、本図(b)は右方向のシフト後の画素データである。この場合、太陽のコロナを表す三角形が右方向に移動していることがわかる。本図(c)は、左方向のシフトがなされた後の画素データである。太陽のコロナを表す三角形が左方向に移動していることがわかる。
【0121】
図18は、イメージプレーン8におけるプレーンシフトの処理手順を示す図である
(a)は、イメージプレーン8から生成された、左方向シフト後のグラフィクスプレーンと、右方向シフト後のグラフィクスプレーンとを示す。
(b)は、右方向のシフトを示す。本図に示すように水平方向の右方向へのシフト方法は次の、(1-1)(1ー2)(1ー3)のようにして行う。(1-1).イメージプレーン8の右端領域を切り取る。(1-2).イメージプレーン8に存在する画素データの位置を、上述したように右へ水平方向にプレーンオフセットに示されるシフト量分だけずらす。(1-3).イメージプレーン8の最も左端に、透明領域を追加する。
【0122】
(c)は、左方向のシフトを示す。本図に示すように水平方向の左方向へのシフト方法は次の、(2-1)(2ー2)(2ー3)のようにして行う。(2-1).イメージプレーン8の左端領域を切り取る。(2-2).イメージプレーン8における各画素データの位置を左へ水平方向にプレーンオフセットに示されるシフト量分だけずらす。(1-3).イメージプレーン8の右端に透明領域を追加する。
【0123】
続いて、プレーンオフセットの正負の意味合いについて説明する。
3D表示モード中、かつイメージプレーン8のステレオモードがOFFの場合、再生装置はプレーンオフセットに示されるシフト量に基づいてプレーンを次のように処理した上で合成を行う。
プレーンオフセットが正の符号が設定されている場合はプレーンの合成の前にレフトビュー用のイメージプレーン8をプレーンオフセットに示されるシフト量の分だけ右にシフトする。そして、ライトビュー用のイメージプレーン8をプレーンオフセットに示されるシフト量の分だけ左にシフトする。
【0124】
プレーンオフセットが負の符号が設定されている場合はプレーンの合成の前にレフトビュー用のイメージプレーン8をプレーンオフセットに示されるシフト量の分だけ左にシフトする。そして、ライトビュー用のイメージプレーン8をプレーンオフセットに示されるシフト量の分だけ右にシフトする。
図19は、インタラクティブグラフィクスプレーン10におけるプレーンシフトの処理手順を示す図である
(a)は、インタラクティブグラフィクスプレーン10から生成された、左方向シフト後のグラフィクスプレーンと、右方向シフト後のグラフィクスプレーンとを示す。
【0125】
(b)は、右方向のシフトを示す。本図に示すように水平方向の右方向へのシフト方法は次の、(1-1)(1ー2)(1ー3)のようにして行う。(1-1).インタラクティブグラフィクスプレーンの右端領域を切り取る。(1-2).インタラクティブグラフィクスプレーンに存在する画素データの位置を、上述したように右へ水平方向にプレーンオフセットに示されるシフト量だけずらす。(1-3).インタラクティブグラフィクスプレーンの最も左端に、透明領域を追加する。
【0126】
(c)は、左方向のシフトを示す。本図に示すように水平方向の左方向へのシフト方法は次の、(2-1)(2ー2)(2ー3)のようにして行う。(2-1).インタラクティブグラフィクスプレーンの左端領域を切り取る。
(2-2).インタラクティブグラフィクスプレーンにおける各画素データの位置を左へ水平方向にプレーンオフセットのシフト量分だけずらす。(2-3).インタラクティブグラフィクスプレーンの右端に透明領域を追加する。
【0127】
プレーンシフトにあたって、右端又は左端から切り取られる領域、右端又は左端に追加される領域の大きさについて説明する。上述したようなシフトにおけるプレーンオフセットは、右目と、左目との視差に応じた値である。ということは、グラフィクスプレーンの端部から切り取られる領域、グラフィクスプレーンの端部に追加される透明領域の横画素数は、プレーンオフセットに、相当する画素数でなければならない。
【0128】
よってグラフィクスプレーンの端部から切り取られる領域の横画素数は、プレーンオフセットのシフト量に相当する画素数になる。また、透明領域の縦画素数は、グラフィクスプレーンの高さを示す画素数になる。
同様に、グラフィクスプレーンの端部に追加される透明領域の横画素数は、プレーンオフセットのシフト量に相当する画素数になる。この透明領域の縦画素数は、グラフィクスプレーンの高さを示す画素数になる。
【0129】
以上で、イメージプレーン8、インタラクティブグラフィクスプレーン10におけるプレーンシフトの処理手順についての説明を終える。次に、プレーンオフセットがもつ符号の正負の意味合いについて説明する。
3D表示モード中、かつグラフィクスプレーンのステレオモードがOFFの場合、再生装置はプレーンオフセットに基づいてプレーンを次のように処理した上で合成を行う。
【0130】
プレーンオフセットが正の符号が設定されている場合はプレーンの合成の前にレフトビュー用のグラフィクスプレーンをプレーンオフセットのシフト量の分だけ右にシフトする。そして、ライトビューのグラフィクスプレーンをプレーンオフセットのシフト量の分だけ左にシフトする。
プレーンオフセットが負の符号が設定されている場合はプレーンの合成の前にレフトビュー用のグラフィクスプレーンをプレーンオフセットのシフト量の分だけ左にシフトする。そして、ライトビューのグラフィクスプレーンをプレーンオフセットのシフト量の分だけ右にシフトする。
【0131】
図20は、プレーンオフセットの大小によって、字幕の飛び出し度合がどのように変化するかを示す図である。
同図(a)(b)において、手前の方は、ライトビュー出力時にシフトしたシフト後のグラフィクスプレーンを用いて出力されるライトビュー用のグラフィクススイメージを示す。奥の方は、レフトビュー出力時にシフトしたシフト後のグラフィクスプレーンを用いて出力されるレフトビュー用のグラフィクススイメージを示す。
【0132】
本図(a)は、プレーンオフセットの符号が正(レフトビュー用のグラフィクススイメージを右方向へずらし、ライトビュー用のグラフィクススイメージを左方向へずらす)である場合を示す。プレーンオフセットが正の値であると、レフトビュー出力時の字幕がライトビュー出力時の字幕より右の位置に見えるようになる。つまり、
輻輳点(焦点位置)がスクリーンより手前にくるので、字幕も手前に見えるようになる。
【0133】
本図(b)は、プレーンオフセットの符号が負である場合を示す。負の値であると、レフトビュー出力時の字幕がライトビューの出力時の字幕より左の位置に見えるようになる、つまり、輻輳点(焦点位置)がスクリーンより奥にゆくので、字幕も奥に見えるようになる。
以上で、プレーンオフセットの正と負の切り替えによって、字幕が表示画面の位置よりも飛び出るか奥にゆくかを変化する方法についての説明を終える。

図31は、プレーンオフセットの符号が正(レフトビュー用のグラフィクススイメージを右方向へずらし、ライトビュー用のグラフィクススイメージを左方向へずらす)である場合、像が表示画面よりも手前にあるように見える原理を説明するための図である。
【0134】
図において、丸で示したものは、表示画面上に表示される像である。
まず、オフセットがない場合、右目に見える像も左目に見える像も同じ位置であるため、両目を用いて、この像を見たときの焦点位置は、表示画面上に位置する(図31(a))。
一方、3D表示モードのステレオモードがオフの場合において、左目に見える像はオフセットが0の場合に比べて右側の位置に見えるようにする。このとき右目には液晶シャッタメガネにより何も見えないようにする。一方、右目に見える像は、オフセットが0の場合に比べて左側の位置に見えるようにする、このとき左目には液晶シャッタメガネにより何も見えないようにする(図31(b))。
【0135】
人間は両目を用いて焦点をあわせてその焦点位置に像があるように認識する。従って、液晶シャッタメガネにより左目に像が見える状態と、右目に像が見える状態とを交互に短い時間間隔で切り替えると、人間の両目は表示画面よりも手前の位置に焦点位置を、合わせようとし、結果として表示画面よりも手前に位置する焦点位置に像があるように錯覚を起こす(図31(c))。
図42は、プレーンオフセットの符号が負(レフトビュー用のグラフィクススイメージを左方向へずらし、ライトビュー用のグラフィクススイメージを右方向へずらす)である場合、像が表示画面よりも奥にあるように見える原理を説明するための図である。
図42において、丸で示したものは、表示画面上に表示される像である。まず、オフセットがない場合、右目に見える像も左目に見える像も同じ位置であるため、両目を用いて、この像を見たときの焦点位置は、表示画面上に位置する(図42(a))。
【0136】
一方、3D表示モードのステレオモードがオフの場合において、左目に見える像はオフセットが0の場合に比べて左側の位置に見えるようにする。このとき右目には液晶シャッタメガネにより何も見えないようにする。一方、右目に見える像は、オフセットが0の場合に比べて右側の位置に見えるようにする、このとき左目には液晶シャッタメガネにより何も見えないようにする(図42(b))。
【0137】
液晶シャッタメガネにより左目に像が見える状態と、右目に像が見える状態と互に短い時間間隔で切り替えると、人間の両目は表示画面よりも奥の位置に焦点位置を、合わせようとし、結果として表示画面よりも奥の位置に像があるように錯覚を起こす(図42(c))。
以上の説明は、グラフィクススプレーンに書き込まれたグラフィクスイメージについて説明をしたが、インターラクティブグラフィクススプレーン、ビデオプレーン、バックグラウンドプレーンについて上述のオフセットの概念を適用すれば同様のことが言えるのは言うまでもない。

(グラフィクスプレーンの記憶素子における画素データの移動)
上述したようなシフトによって、グラフィクスプレーンの記憶素子における画素データが、どのように移動するかを示す。グラフィクスデータは、1920×1080、1280×720といった解像度の画素データから構成されている。
【0138】
図21は、グラフィクスプレーンに格納されている画素データを示す図である。本図において、四角枠は、語長が32ビット、又は、8ビットの記憶素子であり、0001,0002,0003,0004,07A5,07A6,07A7,07A8,07A9,07AA,07ABといった16進数の数値は、MPUのメモリ空間において、これらの記憶素子に連続的に割り当てられるアドレスである。また、記憶素子中の(0,0)(1,0)(2,0)(3,0)(1916,0)(1917,0)(1918,0)(1919,0)といった数値は、記憶素子内に、どの座標の画素データが格納されているかを示す。
【0139】
ここでは、座標(0,0)に存在する画素データがアドレス0001の記憶素子に格納されており、座標(1,0)に存在する画素データがアドレス0002の記憶素子に格納されており、座標(1918,0)に存在する画素データがアドレス07A7の記憶素子に格納されており、座標(0,1)に存在する画素データがアドレス07A9の記憶素子に格納されている。つまり、グラフィクスを構成する複数のラインが、連続アドレスになるように、グラフィクスデータが格納されていることがわかる。こうすることで、これらの連続アドレスが付された記憶素子に対して順次、DMA転送を行うことで、これらの画素データをバースト的に読み出すことが可能になる。
【0140】
図22は、シフトがなされた後のグラフィクスプレーンの格納内容を示す。
同図(a)は、プレーンオフセットが"3"に設定されていて、右方向にシフトされたグラフィクスプレーンを示す。プレーンオフセットが"3"であるから、アドレス0004の記憶素子には、グラフィクスプレーン座標系における座標(0,0)の画素データが、アドレス0005の記憶素子には、グラフィクスプレーン座標系における座標(1,0)の画素データが、アドレス0006の記憶素子には、グラフィクスプレーン座標系における座標(2,0)の画素データが格納されていることがわかる。
【0141】
またアドレス07ACの記憶素子には、グラフィクスプレーン座標系における座標(0,1)の画素データが、アドレス07ADの記憶素子には、グラフィクスプレーン座標系における座標(1,1)の画素データが、アドレス07AEの記憶素子には、グラフィクスプレーン座標系における座標(2,1)の画素データが格納されていることがわかる。
同図(b)は、プレーンオフセットが"3"に設定されていて、左方向にシフトされたグラフィクスプレーンを示す。プレーンオフセットが"3"であるから、アドレス0001の記憶素子には、グラフィクスプレーン座標系における座標(3,0)の画素データが、アドレス0002の記憶素子には、グラフィクスプレーン座標系における座標(4,0)の画素データが、アドレス0003の記憶素子には、グラフィクスプレーン座標系における座標(5,0)の画素データが格納されていることがわかる。
【0142】
またアドレス07A9の記憶素子には、グラフィクスプレーン座標系における座標(3,1)の画素データが、アドレス07AAの記憶素子には、グラフィクスプレーン座標系における座標(4,1)の画素データが、アドレス07ABの記憶素子には、グラフィクスプレーン座標系における座標(5,1)の画素データが格納されていることがわかる。
以上のように、シフトされたグラフィクスプレーンは、グラフィクスプレーンにおける各画素データの座標が、本来の座標から右方向、左方向に、プレーンオフセットに示される画素数だけずれていることがわかる。
【0143】
グラフィクスデータを構成する各画素データが配置される記憶素子のアドレスを、所定のアドレスだけ変化させることで、グラフィクスプレーンのシフトは実現することができる。当然であるが、実際に、画素データが配置される記憶素子のアドレスを変化させなくても、これと等価な処理であるなら、グラフィクスプレーンのシフトを実現することは可能になる。
【0144】
以上で、シフトがなされた後のグラフィクスプレーンの格納内容についての説明を終える。
図23は、BD-Jプラットフォーム部の内部構成を示す図である。本図に示すようにBD-Jプラットフォームは、ヒープメモリ31、バイトコードインタプリタ32、ミドルウェア33、クラスローダ34、アプリケーションマネージャ35から構成される。
【0145】
ヒープメモリ31は、システムアプリケーションのバイトコード、BD-Jアプリケーションのバイトコード、システムアプリケーションが利用するシステムパラメータ、BD-Jアプリケーションが利用するアプリケーションパラメータが配置されるスタック領域である。
バイトコードインタプリタ32は、ヒープメモリ31に格納されているBD-Jアプリケーションを構成するバイトコード、システムアプリケーションを構成するバイトコードをネィティブコードに変換して、MPUに実行させる。
【0146】
ミドルウェア33は、組込みソフトウェアのためのオペレーティングシステムであり、カーネル、デバイスドライバから構成される。カーネルは、BD-Jアプリケーションからのアプリケーションプログラミングインターフェイス(API)のコールに応じて、再生装置特有の機能をBD-Jアプリケーションに提供する。また、割込信号により割込ハンドラ部を起動する等のハードウェア制御を実現する。
【0147】
クラスローダ34は、システムアプリケーションの1つであり、JARアーカイブファイルに存在するクラスファイルからバイトコードを読み出して、ヒープメモリ31に格納することにより、BD-Jアプリケーションのロードを行う。
アプリケーションマネージャ35は、システムアプリケーションの1つであり、BD-Jオブジェクト内のアプリケーション管理テーブルに基づき、BD-Jアプリケーションを起動したりBD-Jアプリケーションを終了したりする等、BD-Jアプリケーションのアプリケーションシグナリングを行う。
【0148】
以上で、BD-Jプラットフォーム部の内部構成についての説明を終える。
上記レイヤモデルにおいて表示モード設定イニシャル表示設定部28は、プラットフォーム部の下位のレイヤに存在しており、BD-Jプラットフォーム部に供せられるカレントタイトルにおけるBD-Jオブジェクトに基づき、表示モード、解像度の設定を行う。

(表示モード記憶部29の内部構成)
表示モード記憶部29は、以上のレイヤモデルから参照できる構造になっているので、表示モード記憶部29は、APIを通じて参照でき、且つ、バックグラウンドグラフィクスプレーン11、ビデオプレーン6、イメージプレーン8、インタラクティブグラフィクスプレーン10の各状態や設定を、明らかにできるような構成になっている。以降、表示モード記憶部29の構成について、図24を参照しながら説明する。
【0149】
図24は、表示モード記憶部29における記憶内容を示す。
本図において表示モード記憶部29は、再生装置が2Dモードであるか、3Dモードであるかの表示モードの状態に加え、バックグラウンドプレーン11設定、ビデオプレーン設定、イメージプレーン8設定、インタラクティブグラフィクスプレーン設定を保存する。各プレーンの設定項目としては「解像度(図中の:YY×ZZ)」、ステレオモード(図中の:ON or OFF)、THREE_Dの設定(図中の:ON or OFF)が保存されている。イメージプレーン8設定及びインタラクティブグラフィクスプレーン10設定については、以上の設定項目の他に、プレーンオフセットを"−63"から"+63"の範囲で設定することができる。
【0150】
表示モード記憶部29によってサポートされる解像度について説明する。
再生装置が2D表示モードである場合、イニシャル表示設定としてバックグラウンドプレーン11、ビデオプレーン6、イメージプレーン8、インタラクティブグラフィクスプレーン10は1920x1080、1280x720、720x576、720x480ピクセルの解像度をサポートする。再生装置が3D表示モードである場合は、バックグラウンドプレーン11、イメージプレーン8、インタラクティブグラフィクスプレーンは2D表示モードの解像度に加えて、1920x2160や1280x1440ピクセルの解像度をサポートしてもよい。その場合は1920x2160や1280x1440ピクセルのアスペクト比は、16/18のアスペクト比になり、上半分を左目用の領域、下半分を右目用領域に利用することになる。
【0151】
以上で、表示モード記憶部29における記憶内容についての説明を終える。
各プレーンのTHREE_D設定が変化するケースについて説明する。
まず、表示モードの切り替えが発生した場合の条件として表示モード記憶部29内の各プレーン設定も変更を行う必要がある。例えば、表示モードが2D表示モードに設定された場合は各プレーンのTHREE_D設定をOFFにする必要がある。また、表示モードが3Dモードに設定された場合は各プレーンのTHREE_D設定をONにする必要がある。
【0152】
ステレオモード、プレーンオフセットがリセットされるケースについて説明する。
タイトル選択の結果、2D表示モードになった場合はバックグラウンド、ビデオプレーン、イメージプレーン8、インタラクティブグラフィクスプレーンのステレオモードはOFFに切り替わり、イメージプレーン8、インタラクティブグラフィクスレーンのプレーンオフセットのシフト量が"0"にリセットされる。
【0153】
表示モードがタイトル選択前に判定できない場合はタイトル起動前の表示モードは2D表示モードとして扱う。
表示モードの切り替えのトリガとなる事象について説明する。
表示モード記憶部29の表示モードはプレイリストが切り替わった場合かBD-Jアプリケーションがメソッド呼び出しにより明示的に行うかの2種類の方法によって切り替わる可能性がある。
【0154】
プレイリスト再生をトリガとした、表示モードの切り替えパターンについて説明する。
プレイリスト再生により表示モードが変わるパターンとして、3D表示モード中に2Dプレイリストが再生された場合、再生装置は表示モード記憶部の表示モードを2D表示モードに自動的に切り替える。表示モードの切り替えが発生した際、BD-Jアプリケーションが登録していたイベントリスナーに対して非同期のイベントを発生させる。
【0155】
プレイリストの再生の中止による表示モードの切り替えは発生しない。つまり、プレイリストの再生中止のあとも表示モードは必ず維持される。
続いて、表示モード設定イニシャル表示設定部28によるイニシャル表示設定について説明する。
イニシャル表示設定とは表示モード記憶部29に保存されている解像度などといった表示設定の"タイトル起動時"に設定される値のことを意味する。
【0156】
イニシャル表示設定の影響要因について説明する。
再生装置が3D表示機能フラグとして3Dの表示が可能と設定されている場合、イニシャル表示設定は、2D専用再生装置の時のデフォルト起動プレイリスト(プレイリスト)やBD-Jオブジェクトに記載されたデフォルト設定のみに基づいて決定するのではなく、タイトル選択前の3D表示モードも影響して決定される。
【0157】
イニシャル表示設定が、どのようなものが基準になるかについて説明する。かかるイニシャル表示設定は、デフォルト起動プレイリストが基準となる。
デフォルト起動プレイリストが存在する場合、再生装置が3D表示モードであり、かつプレイリストが2Dプレイリストの場合に再生装置は自動的に2D表示モードに切り替えた後にデフォルト起動プレイリストのビデオと一致した2D用の解像度を設定する。
【0158】
デフォルト起動プレイリストが存在していて、表示モードに影響を与えない場合、タイトル選択前の表示モードでサポートされている解像度の中からビデオと一致した解像度のイニシャル表示設定を選択すし、解像度を設定する。
次に、解像度、プレーンオフセットが維持されるケースを説明する。
デフォルト起動プレイリストが存在する場合のタイトル選択の結果、3D表示モードになった場合は後述するステレオモードの値はバックグラウンドプレーン11、ビデオプレーン、イメージプレーン8、インタラクティブグラフィクスプレーンは、全て維持され、プレーンオフセットも維持される。
【0159】
デフォルト起動プレイリストが存在しない場合の設定の基準について説明する。
デフォルト起動プレイリストが存在しない場合、イニシャル表示設定は常に選択したタイトルに対応するBD-Jオブジェクト内に書かれているデフォルト解像度値に従う。この場合はタイトル起動前の表示モードは影響されない。
ステレオモード、プレーンオフセットがリセットされるケースについて説明する。
【0160】
デフォルト起動プレイリストが存在しないタイトルを選択した場合において、3D表示モードになった場合はイメージプレーン8、インタラクティブグラフィクスプレーンのステレオモードはONになり、バックグラウンドとビデオプレーンのステレオモードはOFFとなるように構成されている。
さらに、3D表示モードから2D表示モードの切り替えが発生した場合は各プレーン設定のステレオモードはOFFにセットされ、プレーンオフセットのシフト量が"0"にリセットされる。

(表示モードのタイトル間遷移)
上述したように、解像度の情報やデフォルト起動プレイリストの指定は、タイトルに対応するBD-Jオブジェクト毎に存在するので、タイトルが変われば、対応するBD-Jオブジェクトも変わるので、表示モード記憶部29に設定されている表示モードの内容も自ずと変化することになる。図25を用いて、タイトル間遷移が発生した場合に、表示モードがどのように遷移するかを説明する。
【0161】
図25は、タイトル間遷移が発生した場合の、表示モードの遷移を表形式で示す図である。本図の表は、カレントタイトル選択直前の表示モード、選択されたカレントタイトルのデフォルト起動プレイリストの種類、BD-Jオブジェクトに記載されたデフォルト解像度、カレントタイトルにおける表示モードと、イニシャル表示設定とを対応付けている。
デフォルト起動プレイリストと、デフォルト解像度とは排他的な関係にあり、タイトル内にデフォルト起動プレイリストが存在すれば(つまり有効であれば)、表示モードは、デフォルト起動プレイリストに規定された解像度に応じたものとなる。タイトル内にデフォルト起動プレイリストが存在しなければ(つまり無効であれば)、表示モードは、デフォルト起動プレイリストに規定された解像度に応じたものとなる。
【0162】
上半分Cr1は、タイトル内のデフォルト起動プレイリストが存在する(有効である)場合の表示モード設定を示し、下半分Cr2は、タイトル内のデフォルト起動プレイリストが存在しない(無効である)場合の表示モード設定を示す。
上半分の記載内容によると、直前の表示モードが3D、デフォルト起動プレイリストが3Dプレイリストであれば、3D出力を行い、それ以外は全て、2D出力に設定される。
【0163】
下半分の記載内容によると、直前の表示モードが2Dであるか3Dであり、デフォルト解像度がHD3D_1920×1080、又は、HD3D_1280×720である場合、3D出力に設定される。

(表示モードのタイトル内遷移)
一個のタイトルは、デフォルト起動プレイリスト等、1つのプレイリストによって構成されるとは限らない。複数のプレイリストによって構成されることも充分ある。そして、複数のプレイリストによって構成されているタイトルにおいては、プレイリストの再生が切り替った際、表示モード記憶部29における表示モードの設定が切り替わることがある。以降、図26を参照して、タイトル内でプレイリストが切り替った場合に表示モードがどのように遷移するかについて説明する。
【0164】
図26は、タイトル内においてプレイリストの再生が切り替った場合の、表示モードの遷移を示す。本図の表は、現在のステータス、これから行おうとするアクション、最終的な表示モードを対応付けている。この表のうち、ハッチングを付したものは、最終的な表示モードが3Dに決定されるケースである。これ以外は、表示モードが2Dに決定されることになる。
【0165】
現在の表示モードが3Dであり、再生中のプレイリストが無い場合(例えばインターラクティブグラフィクススのみを表示する場合、またはインターラクティブグラフィクススおよび背景データを合成して表示する場合等)、又は、行おうとする処理が、3Dプレイリストの再生であれば、表示モードは3Dに設定される。
現在の表示モードが2Dであり、再生中のプレイリストが無い場合(例えばインターラクティブグラフィクススのみを表示またはインターラクティブグラフィクススおよび背景データを合成表示等)、又は、行おうとする処理が、BD-Jアプリケーションによる3D表示モードの設定であれば、表示モードは3Dに設定される。
【0166】
現在の表示モードが2D、3Dであり、再生中のプレイリストが無いか、3Dプレイリストである場合、行おうとする処理が、BD-Jアプリケーションによる3D表示モードの設定であれば、表示モードは3Dに設定される。
以上で、タイトル内においてプレイリストの再生が切り替った場合の、表示モードの遷移についての説明を終える。
【0167】
以下、ミドルウェアの構成要素について説明する。図23においてミドルウェア33は、プレーン制御モジュール42を含む。
BD−Jアプリケーションによって表示モード記憶部29のバックグラウンドプレーン設定のステレオモードがONに設定されれば、左目用の描画がなされたバックグラウンドプレーン11がレフトビューが使われ、右目用の描画がなされたバックグラウンドプレーン11がライトビューに使われるように合成される。バックグラウンドプレーンの設定ステレオモードがOFFに設定されれば、バックグラウンドプレーン11に格納するデータは左目と右目で同じにする。バックグラウンドプレーン11として縦長の領域を用いる場合は上半分の領域がレフトビューに使われ、下半分の領域がライトビューに使われるように合成される。なお、その場合はバックグラウンドプレーン11のステレオモードがOFFに設定されれば、アプリケーションによる下半分の描画は表示に影響しない。
【0168】
イメージプレーン8及びインタラクティブグラフィクスプレーンの立体効果の指定方法はイメージプレーン設定及びインタラクティブグラフィクスプレーン設定のステレオモードプロパティによって行う。ステレオモードプロパティによってステレオモードがONに設定されれば、バックグラウンドプレーン11同様、左目用の描画がなされたイメージプレーン8及びインタラクティブグラフィクスプレーンがレフトビューに使われ、右目用の描画がなされたイメージプレーン8及びインタラクティブグラフィクスプレーンがライトビューに使われるように合成される。ステレオモードがOFFに設定されれば、イメージプレーン8及びインタラクティブグラフィクスプレーンに格納するデータは左目と右目で同じにする。イメージプレーン8及びインタラクティブグラフィクスプレーンとして縦長の領域を用いる場合は上半分の領域がレフトビューに使われ、下半分の領域がライトビューに使われるように合成される。なお、その場合はステレオモードプロパティによってイメージプレーン8及びインタラクティブグラフィクスプレーンのステレオモードがOFFに設定されれば、アプリケーションによる下半分の描画は表示に影響しない。
【0169】
プレーン制御モジュール42は、プレーン制御のためのライブラリによって構成され、プラットフォーム部からのAPIコールによってプレーン制御を実現する。
(表示モード記憶部29の設定に用いられるAPI)
以上の表示モード記憶部29は、再生装置のソフトウェアレイヤモデルにおいて物理層に近い位置に存在するので、この表示モード記憶部29の内容は、アプリケーションプログラミングインターフェイスを通じて変化させることが可能である。以降、図27を参照して、アプリケーションの命令による表示モード記憶部29の設定について説明する。プレーン制御モジュール42によってアプリケーションに提供されるアプリケーションプログラミングインターフェイスについて説明する。
【0170】
図27は、表示モード記憶部29の設定に用いられるAPIを示す。
同図(a)は、プレーン設定に用いられる5つのメソッド、つまり、getConfigTemplate、setPreferenceメソッド、getBestConfigurarionメソッド、getCurrentConfigurationメソッド、setCoherentConfigurarionメソッド、setConfigurationメソッドを示す。
プレーンステータスの取得について説明する。
【0171】
BD-Jアプリケーションは、例えば取得したいプレーンを引数として指定し、getConfigTemplateメソッドを呼出すと、引数としたプレーンのステータスを表現するテンプレートを取得できる。(b)は、かかるメソッドによって取得することができる4つのテンプレートを示す。これらのテンプレートは、図24に示したバックグラウンドプレーン11設定、ビデオプレーン設定、イメージプレーン8設定、インタラクティブグラフィクスプレーン10設定を個々に表すものである。
【0172】
本実施の形態では、バックグラウンドプレーン設定、ビデオプレーン設定において、プレーンオフセットが設定できないような構成を開示しているが、プレーンオフセットを設定できるような構成を採用しても良い。ここでは説明を簡単にするために、バックグラウンドプレーン設定、ビデオプレーン設定において、プレーンオフセットが設定できないような構成について説明をする。

先ずTHREE_D設定について説明する。
【0173】
BD-Jアプリケーションは取得したテンプレートから設定できるパラメータに関する情報を取得し、必要があれば設定できるパラメータを引数にして、setPreferenceメソッドを呼出せば、引数にしたパラメータの設定ができるように構成される。例えば、THREE_Dの設定ができるパラメータである場合には、これを引数にして、setPreferenceメソッドを呼出して、THREE_D設定をONあるいはOFFに設定する。またsetPreferenceメソッドは呼出したアプリケーションに設定が成功したか失敗したかの結果を返す。
【0174】
BD-Jアプリケーションが現状の表示設定を取得する場合、getCurrentConfigurationを用いる。getCurrentConfigurationは、表示モード記憶部29に現状設定されている表示モードやステレオモードなどと言った個々プレーン(バックグラウンドプレーン11、ビデオプレーン、イメージプレーン8、インタラクティブグラフィクスプレーン)の表示設定をBD-Jアプリケーションに取得させるためのAPIである。
【0175】
また、getBestConfigurationメソッドはBD-Jアプリケーションに、再生装置における個々のプレーン(バックグラウンドプレーン11、ビデオプレーン、イメージプレーン8、インタラクティブグラフィクスプレーン)の最善の設定情報を返す。
また、setCoherentConfigurationsメソッドはBD-Jアプリケーションから呼出されると、引数に指定した設定が、個々のプレーン(バックグラウンドプレーン11、ビデオプレーン、 イメージプレーン8、インタラクティブグラフィクスプレーン)に共通に設定される。
【0176】
例えば、個々のプレーン(バックグラウンドプレーン11、ビデオプレーン、イメージプレーン8、インタラクティブグラフィクスプレーン)のTHREE_D設定をONにしたい場合には、引数としてTHREE_D設定をONにするための情報を引数にして、setCoherentConfigurationsメソッドを呼出せば、個々のプレーン(バックグラウンドプレーン11、ビデオプレーン、イメージプレーン8、インタラクティブグラフィクスプレーン)のTHREE_D設定をONにすることが出来る。
【0177】
また、引数として解像度を指定し、setCoherentConfigurationsメソッドを呼出せば、個々のプレーン(バックグラウンドプレーン11、ビデオプレーン、イメージプレーン8、インタラクティブグラフィクスプレーン)の解像度を同じにすることが出来る。
setCoherentConfigurationsメソッドは引数として、THREE_D設定、または解像度を個別に指定して呼出す構成について説明をしたが、複数のパラメータを一度に引数として指定して呼出しても良い。
【0178】
setCoherentConfigurationsメソッドは各ブレーンの設定を一度に設定できるのに対し、setConfigurationメソッドは引数に指定したプレーンに対する設定のみを変更するためのものである。
コンフィグレーション設定について説明する。
setPreferenceメソッドで変更したテンプレートを用いてgetBestConfigurationメソッドによりコンフィグレーションを引数にして、setConfigurationメソッドを呼出す、またはsetCoherentConfigurationsメソッドを呼出せば、かかるコンフィグレーションは、表示モード記憶部29に反映される。
【0179】
表示モードの変化がどのようなケースで発生するかについて説明する。
BD-Jアプリケーションにより表示モードを変える場合はsetCurrentConfigurationメソッドによって行う。ただし、制限事項として2Dプレイリストの再生中はBD-Jアプリケーションによって表示モードを変更することはできない。
モード切替えの失敗が、どのようなケースで発生するかについて説明する。
【0180】
BD-Jアプリケーションによる表示モード切替要求は次の場合に失敗する。
1.setCoherentConfigurationsメソッド呼び出し時に設定したプレーンごとにTHREE_D設定のONとOFFが混在していた時。
2.2Dプレイリストの再生中にBD-JアプリケーションがTHREE_D設定をONにした表示設定を設定しようとした場合。
【0181】
3.ステレオモードをONにした状態でTHREE_D設定をOFFにした場合。
以上の1.〜3.の場合において、getBestConfigurationメソッドが失敗する。
さらに、BD-Jアプリケーションによる表示モード切替要求は3D表示モードを要求したが再生装置と接続する表示デバイスから、当該が3Dに対応するかどうかを示す情報を取得し、当該表示デバイスが3Dに対応していないと判断すれば、3D表示モードを要求したBD-Jアプリケーションに当該要求ができないこと(つまり当該要求を実行するための処理が失敗したこと)ことを返すように構成してもよい。
【0182】
以上で、表示モード記憶部29の設定に用いられるAPIについての説明を終える。

(プレーンオフセットの設定)
プレーンシフトエンジン19が、プレーンシフトを行うにあたってのシフト量は、立体視のための何等かのパラメータに基づき、算出する必要がある。かかるシフト量算出のためにパラメータにはMVC(Multi View Codec)ビデオストリームに組み込まれている立体視用のプレーンオフセットを採用することが望ましい。ただし、これには限らず、コンテンツプロバイダがBD-ROMを通じて再生装置に供給する様々な情報要素を通じて、プレーンシフトエンジン19に供給できるようにしておく方が望ましい。
【0183】
図28を参照しながら、プレーンオフセットの設定処理について説明する。
図28は、プレーンオフセットの設定に関わる部分の構成を示す。オフセット設定部20の書き込み制御部はプレーンシフトエンジン19がプレーンシフトに使うプレーンシフト値を更新する役割を持つ。オフセット設定部20の書き込み制御部によるプレーンシフトエンジン19のプレーンオフセット値の書き込みには、以下の(AA)〜(FF)のバリエーションがある。
【0184】
(AA)BD-JアプリケーションはsetOffsetValueのメソッドコールによって、表示モード記憶部29内のプレーン設定のプレーンオフセットを更新することができる。
上記プレーンオフセットはBD-JアプリケーションによりgetOffsetValueメソッドにより取得可能である。
BD-JアプリケーションがAPIをコールしてプレーンオフセットを組込む場合、自由度は高いが、リアルタイム性が劣る。プレーンシフトエンジンがBD-Jアプリケーションにより指定されたオフセットを利用する場合はオフセット設定部20の書込制御部は表示モード記憶部29のオフセット値をプレーンシフトエンジン19のプレーンオフセット値に書き込む。プレーンシフトエンジンによる水平方向へのシフトはプレーンオフセット値に応じて合成時に自動的に行われる。
【0185】
設定の時期について説明する。
イメージプレーン8及びインタラクティブグラフィクスプレーン10の奥行きを変更するAPIは、アプリケーションが起動した後ならば、起動したアプリケーションからいつでも呼び出し可能であり、それ以外でも例えばビデオの停止中に呼び出される可能性もある。しかし、表示モード記憶部29内のプレーンオフセットをプレーンシフトエンジン19に格納するタイミングを制御することでグラフィクスプレーンのずらし幅が必ず同期していることを保障できる。
【0186】
具体的にはBD-JアプリケーションがsetOffset()を呼び出したタイミングでプレーンシフトエンジン19のプレーンオフセット値を更新するのではなく、1フレーム分のレフトビューとライトビューの両方の出力が完了した時点で表示モード記憶部29内のプレーンオフセットが更新されているかを確認し、それに伴ってプレーンシフトエンジン19のオフセット値を更新するようにする。こうすることで、グラフィクスプレーンのずらし幅が必ず同期していることを保障できる。レフトビュー、及び、ライトビューのずらし幅が同期していない場合はコンテンツ作成者の意図しない表示になってしまい、視聴者に不愉快な出力映像を与えてしまうことは言うまでもない。

(BB)BD-ROMがロードされた際、またはBD-ROMがロードされ、又は、仮想パッケージが構築された際、BD-ROMまたは仮想パッケージから特定されるMETAディレクトリに格納されたメタファイル(ZZZZZ.xml)からプレーンオフセットを読み出してプレーンシフトエンジン19のプレーンオフセット値を更新する。

(CC)MVCビデオストリームの読み出し及びデコードが開始された際、MVCビデオストリームを構成する各PESパケットのヘッダ領域に組込まれているプレーンオフセットを、プレーンシフトエンジン19のプレーンオフセット値に更新する。望ましくは1フレーム分のレフトビューとライトビューの両方の出力が完了した時点で、現在処理中のフレームと対応するオフセットをプレーンシフトエンジン19のプレーンオフセット値として更新する。
【0187】
MVCビデオストリームにプレーンオフセットを組み込む場合、ストリームから勝手にずらすことができるので、リアルタイム性が高いが、オーサリング時の手間が大きい。

(DD)トランスポートストリームの読み出し及びデコードが開始された際、トランスポートストリームパケットのヘッダ領域に組込まれているプレーンオフセットを、プレーンシフトエンジン19のプレーンオフセット値に更新する。望ましくは1フレーム分のレフトビューとライトビューの両方の出力が完了した時点で、現在処理中のフレームと対応するオフセットをプレーンシフトエンジン19のプレーンオフセット値として更新する。
【0188】
ストリーム内に組み込む場合、ストリームから勝手にずらすことができるので、リアルタイム性が高いが、オーサリング時の手間が大きい。

(EE)カレントプレイリストが決定されて、プレイリスト情報がロードされた際、このプレイリスト情報のプレーンオフセットをプレーンシフトエンジン19のプレーンオフセット値に設定する。プレイリスト情報を用いる場合、オーサリングでの自由は高いが、ストリームにオフセットを埋め込んだ場合に比べると、一度オフセットを設定してから、オフセットを再度更新するまでのオフセット更新の時間間隔を余り短くすることができず、リアルタイム性がやや劣る。

(FF)UO検知モジュール26は、リモコンや機器に付属のボタンなどの操作によりイメージプレーン8及びインタラクティブグラフィクスプレーンの奥行きのレベルを変更するユーザオペレーションを受けた場合、つまり、奥行き感が、"遠い"、"普通"、"近い"等の3つのレベルを受け付けた場合や、奥行き感は"何cm"、"何mm"というように、数値入力によって奥行き感のレベルを受け付けた場合、これを用いて、プレーンシフトエンジン19のプレーンオフセット値を更新することができる。かかる更新によって、リモコンにおける右矢印キーの押下に応じてプレーンオフセットを大きくしたり、左矢印キーに応じてプレーンオフセットを小さくすることができる。こうすることで、右矢印キー、左矢印キーの押下回数によって、グラフィクスを手前に見せたり、奥に見せたりすることができ、操作性が向上する。
【0189】
イメージプレーン8及びインタラクティブグラフィクスプレーン10のシフト量は、以上の過程を経て、プレーンシフトエンジン19のプレーンオフセット値に基づいて計算処理を行うことで得られる。計算処理が必要になるのは、イメージプレーン8及びインタラクティブグラフィクスプレーン10のシフト量が画素数で定義されているのに対して、プレーンオフセットが、画素数とは別の単位系で定義されていることが多いとの理由による。
【0190】
MVCビデオストリーム内にプレーンオフセットが組込まれている場合、プレーンシフトエンジン19は、1フレームに対するレフトビュー用の出力とライトビュー用の出力とが完了した時点で、前記オフセット設定部20aによりプレーンシフトエンジン19内に格納されたプレーンオフセットのシフト量に基づいてグラフィクスプレーンのシフト量を計算する。これは、プレーンオフセットがMVCビデオストリームに格納されている場合、フレーム毎にプレーンオフセットが変化することもありうるからである。
【0191】
以上が、オフセット設定部20がプレーンオフセットを設定する様々なケースについての説明である。続いて、ユーザ操作やアプリケーションによって提供される値について説明する。
ユーザ操作やアプリケーションから提供される値はシフト量そのものではなく、例えば、現状プレーンシフトエンジン19に設定されている値からの調整値が与えられることがある。この場合、プレーンオフセット計算を実行する。例えば、右矢印キーが3回押されたり、数値キーの"3"という値が入力されれば、装置内に設定されているプレーンオフセットにかかる値を加算して、プレーンシフトエンジン19は加算された値を基にプレーンオフセットを計算する。"+"の値であると、例えばよりずらし幅が縮小され、奥に見えるようにし、"―"の値であると、例えばずらし幅を増やし、より手前に見えるようにすることが考えられる。
【0192】
次に、奥行きの変更について説明する。
上述したように、字幕、GUI等のグラフィクスを横軸にシフトする際、字幕、GUI等のグラフィクスの横軸のずらし幅を変更することによって、奥行きが変更する。例えば、レフトビュー字幕とライトビュー字幕を一定方向に近くへ寄せれば寄せるほど画面に近づくに表示がなされ、逆方向に離せば離すほど画面から離れる視覚効果を得られる。しかし、プレーンオフセットと、飛び出し度合との相関性は、テレビにおけるインチ数、3D眼鏡における液晶の特性に影響するところが大きいので、この視覚効果の実現にあたって、予め端末内に係数を設定しておき、プレーンオフセットにこの係数を乗じたものをシフトに用いる。このように係数を乗じることで、テレビや再生装置、3D眼鏡における特性に基づき、立体視映像の飛び出し度合を調整することが可能になる。
【0193】
ここでどのようにずらすかという"ずらす方法のバリエーション"を説明する。
レフト方向にずらした場合、その内容をイメージプレーン8及びインタラクティブグラフィクスプレーンに格納しておいて、ライトビューの再生時には、グラフィクスプレーンを本来の2倍の量を逆方向にずらすというバリエーションを実現することもできる。この場合、2回のイメージデコードを行わなくてすむ。
【0194】
以上が、再生装置の内部構成についての説明である。

(表示モード設定イニシャル表示設定部28の実装)
表示モード設定イニシャル表示設定部28の実装について説明する。一個のタイトルが選択され、そのタイトルに対応するBD-Jオブジェクトが再生装置で有効になっている期間においても、動作中のアプリケーションが、ユーザオペレーションに応じてJMFプレーヤインスタンスをコールすることにより、新たなプレイリストの再生が開始されることがある。このように新たなプレイリストの再生が開始されれば、タイトル内で、表示モードを設定やり直す必要がある。
【0195】
表示モード設定イニシャル表示設定部28の機能としては、タイトルが変化した際のタイトル間表示モード設定と、タイトル内でプレイリストが変化した際の表示モード設定とアプリケーションが明示的にAPIを呼び出して設定した場合の表示モード設定とをサポートせなばならず、具体的には、以下の図29、図30の処理手順をMPUに実行させるようなプログラムを作成して、再生装置に組み込むことで実装することができる。
【0196】
図29は、タイトル切り替え時の表示モード設定の処理手順を示すフローチャートである。本フローチャートは、ステップS21、ステップS22、ステップS23、ステップS26の判定結果に応じて、ステップS24、ステップS25、ステップS27の処理を選択的に実行する。
ステップS21は、デフォルト起動プレイリストが存在するかどうかの判定であり、ステップS22は、直前の表示モードは3Dであるか否かの判定である。ステップS23は、選択されたタイトルのデフォルト起動プレイリストが、1920×1080の3Dプレイリスト又は1280×720の3Dプレイリストであるかどうかの判定である。
【0197】
デフォルト起動プレイリストが存在しない場合、ステップS26においてBD-Jオブジェクトのデフォルト解像度がHD3D_1920×1080、HD3D_1280×720であるかどうかが判定され、もしYesであれば、ステップS25において、表示モードを3Dに設定し、BD-Jオブジェクトにおけるデフォルト解像度に応じて1920×1080、あるいは1280×720に設定する。もしNoであれば、ステップS27において表示モードを2Dに設定し、解像度をBD-Jオブジェクトにおけるデフォルト解像度に設定する。
【0198】
デフォルト起動プレイリストが存在しない場合、ステップS22において直前の表示モードが2Dであるかどうか、又は、ステップS23においてプレイリストが3Dプレイリストで、その解像度が1920×1080、1280×720であるがどうかを判定する。ステップS22、ステップS23のどちらかがNoであれば、ステップS24において表示モードを2Dに設定し、解像度を、デフォルト起動プレイリストの解像度に設定する。
【0199】
ステップS22がYes、ステップS23もYesと判定された場合、ステップS25において、表示モードを3Dに設定し、解像度を、デフォルト起動プレイリストの解像度に応じて1920×1080、又は、1280×720に設定する。
以上で、タイトル間表示モード設定の処理手順についての説明を終える。
図30は、タイトル内表示モード設定の処理手順を示すフローチャートである。本フローチャートは、ステップS31、ステップS32という2つのステップを直列的に接続したものである。まず、タイトル内表示モード設定はプレイリストの再生要求から始まる。プレイリスト再生要求を受け付けた時点で、ステップS31は、現在のステータス3Dかどうかの判定を行い、2Dであれば、ステップS34において表示モードを2Dに設定する。ステップS32は、再生要求のあったプレイリストが3Dプレイリストか否かを判定し、もし、3Dプレイリストであれば、ステップS33に移行し、表示モードを3Dにし、2Dプレイリストであれば、ステップ34に移行し、表示モードを2Dにする。
【0200】
以上で、タイトル内表示モード設定の処理手順についての説明を終える。
(再生制御エンジン14の実装)
再生制御エンジン14は、何等かの要因によってカレントプレイリストが選択された際、そのカレントプレイリストの再生を行うものであり、具体的には、カレントプレイリストに対応するプレイリスト情報を静的シナリオメモリ13に読み出して、このプレイリスト情報のプレイアイテム情報によって参照されている3Dストリーム、2Dストリームを再生に供するという処理を実現せねばならず、具体的には、図32、図33の処理手順を実行するようなプログラムを作成して再生装置に組み込み、MPUに実行させる必要がある。
【0201】
図32は、BD-Jモードにおけるプレイリスト再生の主たる手順を示すフローチャートである。
ステップS40は、選択されたタイトルに関連するBD-Jオブジェクトに示されるデフォルト起動プレイリストの設定又はJMFプレーヤインスタンスの生成により、カレントプレイリスト番号が設定されたかどうかの判定であり、もし設定されれば、ステップS41において、カレントプレイリスト番号にて指示されているプレイリスト情報ファイルをシナリオメモリにロードし、ステップS42において、プレイリスト情報に、プレーンオフセットが存在すれば、オフセット設定部20はプレーンシフトエンジン19のプレーンオフセット値として設定する。そして、ステップS43においてタイトル内表示モード設定を行う。
【0202】
ステップS44では、ロードされたプレイリスト情報における最初のプレイアイテム番号を、カレントプレイアイテム番号に設定する。ステップS45において、カレントプレイリスト情報において再生が許可されているPESストリームの中からカレントストリームを選択する。
ステップS46では、プレイアイテム情報に基づいて、どのストリーム番号を使うかを決定する。
【0203】
ステップS47においてステップS43で判定した表示モードは、2Dであるか、又は3Dであるかの判定を行う。3Dであれば、ステップS49において3D表示モード時の3Dビデオストリームの再生を実行する。2Dであれば、ステップS48に移行する。
ステップS48は、カレントストリーム番号で指示されているビデオストリーム及び字幕ストリームは、2Dであるか、3Dであるかの判定である。ステップS48で2Dと判定された場合、ステップS51において2D表示モードにおける2DAVストリームの再生を実行する。3Dと判定された場合、ステップS50において2D表示モードの3Dビデオストリームの再生を実行する。最後に、図32の"終了"に到達した時点でプレイリストの再生開始を行う。
【0204】
図33は、プレイアイテム情報に基づく再生手順を示すフローチャートである。
ステップS60において、ビデオストリームに組み込まれているプレーンオフセットをプレーンシフトエンジン19に設定し、ステップS61において、ベースビューストリームのパケットIDに対応するエントリマップを用いて、カレントPlayItem.In_Time及びカレントPlayItem.Out_TimeをStart_SPN[i]及びEnd_SPN[i]に変換する。
【0205】
エンハンスドビューストリームのパケットID[j]に対応するエントリマップ[j]を用いて特定されたSubPlayItemIn_Time、SubPlayItemOut_TimeをStart_SPN[j]、End_SPN[j]に変換する(ステップS62)。
パケットID[i]のTSパケット[i]をStart_SPN[i]からEnd_SPN[i]まで読み出すための読出範囲[i]に属するエクステントを特定し(ステップS63)、パケットID[j]のTSパケット[j]をStart_SPN[j]からEnd_SPN[j]まで読み出すための読出範囲に属するエクステントを特定する(ステップS64)。そしてステップS65において読出範囲[i],[j]に属するエクステントをアドレスの昇順にソートして、ステップS66においてソートされたアドレスを用いて、読出範囲[i],[j]に属するエクステントを連続的に読み出すよう、ドライブに指示する。
【0206】
以上で、再生制御エンジン14についての説明を終える。
(プレーンシフトエンジン19の実装)
プレーンシフトエンジン19は、ビデオフレームにおける表示期間が到来する度に、イメージプレーン8、インタラクティブグラフィクスプレーン10からグラフィクスデータを読み出して、その表示期間において再生すべきピクチャデータ(ビデオフレームと呼ぶことがある)との合成に供するという処理を実現する。ここで、プレーンシフトエンジン19がサポートすべき処理としては、イメージプレーン8が読出先になっている場合の読出及び合成処理、インタラクティブグラフィクスプレーン10が読出先になっている場合の読出及び合成処理がある。更に、ステレオモードONである場合と、ステレオモードOFFである場合とで、処理内容を変えなければならないし、レフトビューとライトビューとで、処理内容をかえなければならない。そのため、プレーンシフトエンジン19の実装には、再生装置における表示モード設定に応じて、図34から、図35までの処理手順を実行するようなプログラムを作成して再生装置に組み込み、MPUに実行させる必要がある。
【0207】
(3D表示モード時の3Dビデオストリームの処理手順)
現在の表示モードが3D表示モードであり、再生対象が3Dプレイリスト及び3Dストリームである場合、図34〜図35の処理手順を実行することになる。
図34〜図35は、3D表示モード時の3Dストリーム処理を示すフローチャートである。
【0208】
これらのフローチャートは、ステップS701〜ステップS809の処理を繰り返すループ構造になっている。本フローチャートの終了条件は、ステップS809において次のフレームが存在しないと判定されることである。図34におけるステップS701〜ステップS707はレフトビュー用の処理であり、図35におけるステップS801〜ステップ809はライトビュー用の処理である。まず、ステップS701では、合成部15はレフトビューに使うレフトビューバックグラウンドプレーンに書き込まれた背景データを取得する。レフトビューバックグラウンドプレーンにはBD−Jアプリケーションの描画命令により静止画デコーダ27bを通して描画された背景データが格納されている。
【0209】
次に、レフトビュー用のビデオストリームをビデオデコーダ5aを用いてデコードして、ビデオプレーン6(図5の(L)を付したもの)に書き込んだ後に、合成部15は前記ビデオプレーンに書き込まれたレフトビュー用のビデオデータを取得する(ステップS702)。
そして、ステップS703で合成部15は表示モード記憶部29にある、イメージプレーン設定のステレオモードのフラグを確認する。ステレオモードがOFFの場合は、イメージデコーダ7aによりデコードしたレフトビューイメージをイメージプレーン8(符号(L))に書き込んだ後にプレーンシフトエンジン19により左目用のシフト処理を施す(ステップS704a)。
【0210】
ステレオモードがONの場合は、イメージデコーダ7aがデコードしたレフトビューイメージをイメージプレーン8(符号(L)を付したもの)に書き込むが、イメージプレーン8(符号(L)を付したもの)に書き込んだレフトビューイメージについて、左目用のシフト処理を施さない。何故ならばステレオモードがONの場合、レフトビューイメージとは見える角度の異なるライトビューイメージがイメージプレーン(符号(R)を付したもの)に書き込まれるからである(ステップS704b)。
【0211】
ステップS704aまたはステップS704bによりイメージプレーン8の符号(L)を付したものには、イメージメモリ7に格納された左目用のイメージデータであって、グラフィクスデコーダ8によってデコードされたものが格納される。
次に、ステップS705で合成部15は表示モード記憶部29にある、インタラクティブグラフィクスプレーン設定のステレオモードのフラグを確認する。ステレオモードがOFFの場合は、BD-Jアプリケーションはレンダリングエンジン21を利用して、左目用プレーン(図5のインタラクティブグラフィクスプレーン10において、符号(L)を付したもの)にレフトビュー用インタラクティブグラフィクススを書き込み、左目用プレーン(図5のインタラクティブグラフィクスプレーン10において、符号(L)を付したもの)からレフトビュー用インタラクティブグラフィクスを取得して、取得したレフトビュー用インタラクティブグラフィクスに対して、プレーンシフトエンジン19が左目用のシフト処理を施す(ステップS706a)。
【0212】
ステレオモードがONの場合においては、BD-Jアプリケーションはレンダリングエンジン21を利用して、左目用プレーン(図5のインタラクティブグラフィクスプレーン10において、符号(L)を付したもの)にレフトビュー用インタラクティブグラフィクススを書き込む。その後、表示のために左目用プレーン(図5のインタラクティブグラフィクスプレーン10において、符号(L)を付したもの)からレフトビュー用インタラクティブグラフィクスを取得するが、レフトビュー用インタラクティブグラフィクスに対しては、左目用のシフト処理を施さない(ステップS706b)。
【0213】
ステップS706a,ステップS706bでレフトビューインタラクティブグラフィクスが取得されたレフトビューインタラクティブグラフィクスプレーンには、BD−Jモード時においてBD−Jアプリケーションの描画命令によりレンダリングエンジン21を通して描画されたデータが格納されている。
また、HDMVモード時において、レフトビューインタラクティブグラフィクスプレーンには、字幕ストリーム以外のグラフィクスストリームから抽出されたグラフィクスデータのデコード結果が格納されることになる。
【0214】
ステップS707ではステップS701のバックグラウンドプレーン11の(L)の符号を付したものに書き込まれた背景データ、ステップS702のビデオプレーンの(L)の符号を付したものに書き込まれたビデオデータ、ステップS704のイメージプレーンの(L)の符号を付したものに書き込まれた字幕データ、ステップS706のインタラクティブグラフィクスプレーンの(L)の符号を付したものに書き込まれたGUIデータを順に合成し、レフトビューとしてディスプレイへ出力する。この場合S703、S705において、ステレオモードがOFFである場合には、対応するプレーンにおいてシフト処理が施されたデータが合成の対象となる。そして、ディスプレイの出力のタイミングで左右処理記憶部のフラグを転換する。なお、S701〜S707の各処理は左目用の処理を施しているが、現在の処理が左目用の処理であるかどうかは、左右処理記憶部を参照することにより判定される。
【0215】
次にS701〜S707の左目用の処理を完了した後に、右目用の処理を行なう。図35は右目用の処理を説明するためのフローチャートである。ステップS801で合成部15は表示モード記憶部29にある、バックグラウンドプレーン設定のステレオモードのフラグを確認する。ステレオモードがOFFの場合はレフトビュー用の背景データをバックグラウンドプレーン11の(R)を付したものに書き込み、バックグラウンドプレーン11の(R)を付したものから背景データを取得する(ステップS802a)。ステレオモードがONの場合はライトビュー用の背景データをバックグラウンドプレーン11の(R)を付したものに書き込み、バックグラウンドプレーン11の(R)を付したものからライトビュー用の背景データを取得する(ステップS802b)。
【0216】
次に、ステップS803で合成部15は表示モード記憶部29にある、ビデオプレーン設定のステレオモードのフラグを確認する。ステレオモードがOFFの場合はレフトビュー用のビデオストリームをビデオデコーダ5aを用いてデコードして、ビデオプレーン6(図5の(R)を付したもの)に書き込んだ後に、合成部15は前記ビデオプレーン6(図5の(R)を付したもの)からレフトビュー用のビデオデータを取得する(ステップS804a)。ステレオモードがONの場合はライトビュー用のビデオストリームをビデオデコーダ5bを用いてデコードして、ビデオプレーン6(図5の(R)を付したもの)に書き込んだ後に、合成部15は前記ビデオプレーン6(図5の(R)を付したもの)からライトビュー用のビデオデータを取得する(ステップS804b)。
【0217】
そして、ステップS805で合成部15は表示モード記憶部29にある、イメージプレーン設定のステレオモードのフラグを確認する。ステレオモードがOFFの場合はイメージデコーダ7aがデコードしたレフトビューイメージをイメージプレーン8(符号(R)を付したもの)に書き込む。その後、イメージプレーン8の符号(R)を付したものに書き込まれたレフトビューイメージに対し、プレーンシフトエンジン19が右目用のシフト処理を施す(ステップS806a)。ステレオモードがONの場合は、イメージデコーダ7bがデコードしたライトビューイメージをイメージプレーン8(符号(R)を付したもの)に書き込むものの、シフト処理を施さない(ステップS806b)。
【0218】
ステップS806a,ステップS806bで取得したイメージプレーンにはイメージメモリ7に格納された字幕データであって、イメージデコーダ7(図5のイメージデコーダ7aまたは7b)によってデコードされたものが格納される。
次に、ステップS807で合成部15は表示モード記憶部29にある、インタラクティブグラフィクスプレーン設定のステレオモードのフラグを確認する。ステレオモードがOFFの場合は、BD-Jアプリケーションはレンダリングエンジン21を利用して、右目用プレーン(図5のインタラクティブグラフィクスプレーン10において、符号(R)を付したもの)にレフトビュー用インタラクティブグラフィクススを書き込む。そして右目用プレーン(図5のインタラクティブグラフィクスプレーン10において、符号(R)を付したもの)に書き込まれたレフトビュー用インタラクティブグラフィクススに対し、プレーンシフトエンジン19が右目用のシフト処理を施す(ステップS808a)。
【0219】
ステレオモードがONの場合は、BD-Jアプリケーションはレンダリングエンジン21を利用して、右目用プレーン(図5のインタラクティブグラフィクスプレーン10において、符号(R)を付したもの)にライトビュー用インタラクティブグラフィクススを書き込むものの、プレーンシフトエンジン19は、右目用プレーン(図5のインタラクティブグラフィクスプレーン10において、符号(R)を付したもの)に書き込まれたライトビュー用インタラクティブグラフィクスに対し、シフト処理を施さない(ステップS808b)。
【0220】
ステップS809ではステップS802のバックグラウンドプレーン11(符号(R)を付したもの)に書き込まれた背景データ、ステップS804のビデオプレーン6(符号(R)を付したもの)に書き込まれたビデオデータ、ステップS806のイメージプレーン8(符号(R)を付したもの)に書き込まれたイメージデータ、ステップS808のインタラクティブグラフィクスプレーンに書き込まれたGUIデータを順に合成する。この場合S805、S807において、ステレオモードがオフである場合には、対応するプレーンにおいてシフト処理がされたデータが合成の対象となる。そして合成結果を、ライトビューとしてディスプレイへ出力する。そして、ディスプレイの出力のタイミングで左右処理記憶部のフラグを転換する。なお、S801〜S809の各処理は右目用の処理を施しているが、現在の処理が右目用の処理かどうかの判定は、左右処理記憶部を参照することでなされる。
【0221】
フレーム入力が継続している限り、以上の処理が繰り返されることになる(ステップS810)。
なお、端末がAVストリームのヘッダ領域からオフセットを取得する方法、かつ毎フレーム更新する実装をしている場合は、ステップS810の時点でオフセット設定部20によりプレーンシフトエンジン19のオフセット値を次のフレームと対応した値に更新する必要がある。
【0222】
以上で、3D表示モード時の3Dストリーム処理についての説明を終える。

(2D表示モード時の処理手順)
2D表示モード時において、再生対象になるAVストリームは、3Dストリームを構成するレフトビュー用のストリームおよびライトビュー用のストリームのうちの一方を用いてもよいし、2Dストリームを用いてもよい。ここでは2Dストリームを用いる例を説明する。現在の表示モードが2D表示モードである場合、図36の処理手順を実行することになる。
【0223】
図36(a)は、2D表示モード時の2Dストリーム処理を示すフローチャートである。
まず、ステップS901では、合成部15はバックグラウンドプレーン11に書き込まれた背景データを取得する。次に、ビデオデコーダ5aが2Dビデオストリームをデコードしてビデオプレーン6(符号(L)を付したもの)にデコードしたビデオデータを書き込み、合成部15は、このビデオデータを取得する(ステップS902)。
【0224】
そして、ステップS903でイメージデコーダ7aが2D字幕ストリームをデコードし、イメージプレーン8(符号(L)を付したもの)にデコードしたイメージデータ書き込み、合成部15は、このイメージデータを取得する。
次に、ステップS904で、BD-Jアプリケーションはレンダリングエンジン21を利用して、左目用プレーン(図5のインタラクティブグラフィクスプレーン10において、符号(L)を付したもの)に2Dグラフィクススを書き込み、合成部15は、インタラクティブグラフィクスプレーン10(符号(L)を付したもの)からインタラクティブグラフィクスデータを取得する。
【0225】
ステップS905ではステップS901のバックグラウンドプレーン、ステップS902のビデオプレーン、ステップS903のイメージプレーン、ステップS904のインタラクティブグラフィクスプレーンのそれぞれに格納されたデータを順に合成し、ディスプレイへ出力する。フレーム入力が継続している限り、S901の処理ヘ戻り返される(ステップS810)。
【0226】
図36(b)は、2D表示モード時において、3Dストリームを構成するレフトビュー用のストリームおよびライトビュー用のストリームのうちの一方(この例ではレフトビュー用のストリーム)を用いて2D表示処理を示すフローチャートである。
本図は、図34をベースとして作成されており、このベースとなるフローチャートと同一のステップについては、同一の参照符号を付している。処理の概略もほぼ同じであるが簡単に説明をする。まず、ステップS701では、合成部15はバックグラウンドプレーン(符号(L)で示したもの)から背景データを取得する。
【0227】
次に、ビデオデコーダ5aによりデコードされたレフトビュー用のビデオデータをビデオプレーン6(符号(L)を付したもの)に書き込み、合成部はビデオプレーン6(符号(L)を付したもの)からレフトビュー用のビデオデータを取得する(ステップS702)。
そして、ステップS704bで、イメージデコーダ7aによりデコードされたレフトビュー用のイメージデータをイメージプレーン8(符号(L)を付したもの)に書き込み、合成部15は、イメージプレーン8(符号(L)を付したもの)からイメージデータを取得する。
【0228】
次に、ステップS706bにおいて、BD-Jアプリケーションはレンダリングエンジン21を利用して、左目用プレーン(図5のインタラクティブグラフィクスプレーン10において、符号(L)を付したもの)にレフトビュー用インタラクティブグラフィクススを書き込み、インタラクティブグラフィクスプレーン10(符号(L)を付したもの)からレフトビュー用インタラクティブグラフィクスを取得する。
【0229】
ステップS707ではステップS701のバックグラウンドプレーン、ステップS702のビデオプレーン、ステップS704のイメージプレーン、ステップS706のインタラクティブグラフィクスプレーンに格納されたデータを順に合成し、ディスプレイへ出力する。フレーム入力が継続している限り、S701の処理ヘ戻り返される(ステップS810)。
【0230】
以上で、2D表示モード時の処理手順について説明を終える。

(BD−Jアプリケーションによるオフセット更新の処理手順)
ここではBD−Jアプリケーションによる奥行き変更のトリガとなる事象について説明する。
【0231】
BD-Jモジュール15によって起動されたアプリケーションが、イメージプレーン8、またはインタラクティブグラフィクスプレーンの奥行きを変更するAPIを呼び出した場合の処理について図37を参照しながら説明する。
図37は、BD−Jアプリケーションによるオフセット更新命令発行時の処理手順を示すフローチャートであり、図34〜図35で示す3D表示モード時の3Dストリーム表示処理のステップS701〜ステップS810にステップS1001、ステップS1002,ステップS1003が追加される形になる。
【0232】
グラフィクスプレーンの奥行きを変更するAPIの呼び出しを受け付けたBD-Jモジュール15は、ステップS1001において入力で受け取ったプレーンオフセットに基づいて表示モード記憶部29の対象となるプレーンのプレーンオフセットを更新する。
この際に対象となるプレーンがイメージプレーンだった場合はイメージプレーン設定のプレーンオフセット、インタラクティブグラフィクスプレーンだった場合はインタラクティブグラフィクスプレーン設定のプレーンオフセットを更新する。
【0233】
一方、ステップS1002において、表示モード記憶部29のイメージプレーン設定、あるいはインタラクティブグラフィクスプレーン設定のプレーンオフセットが更新されているかを確認する。ステップS1002にてプレーンオフセットが更新されている場合(ステップS1002:Yes)は、プレーンシフトエンジン19のプレーンオフセット値を更新する(ステップS1003)。なお、ステップS1003で更新されている対象がイメージプレーン設定の場合はプレーンシフトエンジン19のイメージプレーンのプレーンオフセット値、インタラクティブグラフィクスプレーン設定の場合はプレーンシフトエンジン19のインタラクティブグラフィクスプレーンのプレーンオフセット値を更新する。プレーンオフセットが更新されていない場合(ステップS1002:No)は、ステップS1003を実施せず、ステップS701の処理を再開する。
【0234】
以上のように本実施形態によれば、グラフィクスプレーンにおける画素データの座標を移動(例えば表示画面と水平方向に移動)させることにより、字幕グラフィクスをどれだけ手前に寄せように見えるようにするか、字幕グラフィクスを画面の奥に遠退けるように見えるようにするかを調整することができる。
さらに、ライトビューグラフィクス(ライトビューインタラクティブグラフィクス)、レフトビューグラフィクス(レフトビューインタラクティブグラフィクス)が記録媒体から供給されない(つまり2Dグラフィクスス、2Dインタラクティブグラフィクススのみが供給される)ために、本来ならば字幕グラフィクスが表示画面上にしか表示させることができずに、立体視ビデオにのめり込むような場合でも、ステレオモードがオフのときにこの2Dグラフィクスス(2Dインタラクティブグラフィクスス)対応するプレーン(符号(L)、(R)で付したもの)に格納するように構成するとともに、オフセットを調整することにより、レフトビュー用のビデオのデータおよびライトビュー用のビデオのデータを用いて立体的に飛び出ているように見える空間と干渉しない位置(例えば3Dビデオの空間よりも手前に見えるような位置)に字幕、GUIを表示することができる。そのため、ビデオの立体表示を極力損ねることなく字幕、GUIを合成表示できるようになり、これにより立体視映像の体裁を整えることができる。かかる調整によって字幕グラフィクスの奥行きを調整するので、立体視再生のために、レフトビューグラフィクス、ライトビューグラフィクスを準備にする必要がない。よって、容量が限られたBD-ROMを供給媒体にする場合でも、好適な立体視再生を、ユーザに実現させることができる。
【0235】
オーサリングスタジオにおいても、立体視再生のためのライトビューグラフィクス、レフトビューグラフィクスの制作の一方を省略することができ、映画作品の制作工数を小さくすることができる。
(第2実施形態)
第1実施形態では、プレーンメモリにおける記憶素子の内容をシフトすることで、プレーンシフトを実現したが、本実施形態では、プレーンメモリに格納されている画素データを、ライン単位に合成部15に読み出す際、かかるプレーンシフトを実現する改良に関する。ここで、1920×1080、1280×720といった解像度をもつ画素データの集合体のうち、一ライン、つまり、横1920画素の集まり、又は、横1280画素の集まりをラインデータと呼ぶ。そして合成部15は、ビデオプレーン、バックグラウンドプレーン11、イメージプレーン8、インタラクティブグラフィクスプレーン10のそれぞれから読み出されたラインデータに対して、合成を実行する。
【0236】
図39は、合成部15の構成を示す図である。本図に示すように、合成部15は、ラインメモリ50〜54、α1乗算部54、(1−α1)乗算部55、ブレンド部56、(1−α2)乗算部57、スケーラ58、α2乗算部59、ブレンド部60、スケーラ61、α3乗算部62、(1−α3)乗算部63、ブレンド部64から構成される。
ラインメモリ50は、インタラクティブグラフィクスプレーン10から読み出されたラインデータを格納する。
【0237】
ラインメモリ51は、イメージプレーン8から読み出されたラインデータを格納する。
ラインメモリ52は、ビデオプレーンから読み出されたインデータを格納する。
ラインメモリ53は、バックグラウンドプレーン11から読み出されたラインデータを格納する。
α1乗算部54は、ラインメモリ51に読み出されたピクチャを構成するラインデータの揮度に、透過率α1を乗じる。
【0238】
(1−α1)乗算部55は、ラインメモリ53に読み出されたグラフィクスデータを構成するラインデータの揮度に、透過率(1−α1)を乗じる。
ブレンド部56は、α1乗算部54により画素毎に透過率α1が乗じられたラインデータと、(1−α1)乗算部55により画素毎に透過率(1-α1)が乗じられたラインデータとを合成する。
【0239】
(1−α2)乗算部57は、ブレンド部56の出力に、透過率(1−α2)を乗じる。
スケーラ58は、ラインメモリ52に読み出されたラインデータを拡大する。
α2乗算部59は、スケーラ58によって拡大がなされたピクチャを構成するラインデータの揮度に、透過率α2を乗じる。
ブレンド部60は、透過率α2が乗じられたラインデータと、(1−α2)乗算部57により画素毎に透過率(1-α2)が乗じられたラインデータとをブレンドする。
【0240】
スケーラ61は、ラインメモリ50に読み出されたラインデータを拡大する。
α3乗算部62は、ラインメモリ50に読み出され、スケーラ61によって拡大がなされたグラフィクスを構成するラインデータの揮度に、透過率α3を乗じる。
(1−α3)乗算部63は、ブレンド部60の出力結果であるラインデータの揮度に、透過率(1−α3)を乗じる。
【0241】
ブレンド部64は、透過率α3が乗じられたラインデータと、(1−α3)乗算部63により画素毎に透過率(1-α3)が乗じられたラインデータとをブレンドする。
以上で、合成部15の構成についての説明を終える。
第1実施形態で述べたプレーンシフトエンジン19は、バックグラウンドグラフィクスプレーン、ビデオプレーン、イメージプレーン8、インタラクティブグラフィクスプレーン10における記憶素子からライン単位の画素データを読み出して、ラインメモリ50〜54のそれぞれに格納するという転送処理を実現する。この転送処理にあたって、ラインメモリ50〜54のうち、画素データの転送先となるアドレスを変化させることで、第1実施形態に示したような記憶素子内の画素データの座標移動と等価の処理を実現する。
【0242】
図40は、右方向のプレーンシフトをラインデータ毎に実行する過程を示す。(a)は、グラフィクスプレーンに存在するyライン目の画素データであり、(b)は、ラインメモリに読み出された、yラインの画素データを示す。本図に示すように、プレーンオフセットがFピクセルであれば、yライン目の画素データのうち、(F+1,y)から(1919,0)までが、格納されることがわかる。そして、右端には、Fピクセル分の空きが存在することがわかる。
【0243】
(c)は、透明画素データの追加を示す。Fピクセル分の空きに、透明画素データが追加されていることがわかる。
図41は、左方向のプレーンシフトをラインデータ毎に実行する過程を示す。(a)は、グラフィクスプレーンに存在するyライン目の画素データであり、(b)は、ラインメモリに読み出された画素データを示す。本図に示すように、プレーンオフセットがFピクセルであれば、yライン目の画素データのうち、(0,y)から(1919-F,0)までが、格納されることがわかる。そして、左端には、Fピクセル分の空きが存在することがわかる。
【0244】
(c)は、左端への透明画素データの追加を示す。Fピクセル分の空きに、透明画素データが追加されていることがわかる。
以上で、プレーンシフトをラインデータ毎に実行する過程についての説明を終える。
プレーンシフトをラインデータ毎に実行するプレーンシフトエンジン19は、図42のフローチャートの処理手順をMPUに実行させるようなプログラムを作成して、再生装置に組込むことで実装することができる。以降、ソフトウェアによるプレーンシフトエンジン19の実装について説明する。
【0245】
図42は、ラインメモリへの読み出しの処理手順を示すフローチャートである。
ステップS111〜ステップS115は、ステップS111において変数iに0を設定した上、ステップS112〜ステップS115の処理を繰り返すループ構造になっている。本ループの終了条件は、変数iがライン数-1になることであり、かかるステップS114においてNoと判定される限り、変数iはインクリメントされて、ステップS112〜115の処理を繰り返すことになる。ステップS112では、グラフィクスプレーンにおける(X0,Yi)から(Xn-プレーンオフセット-1,Yi)までの画素データを読み出して、ラインメモリにおける(X0+プレーンオフセット)から(Xn)までに書き込む。ステップS113において、ラインメモリにおけるX0から〜までに透明画素データを書き込む。
【0246】
ステップS121〜ステップS125は、ステップS121において変数iに0を設定した上、ステップS122〜ステップS125の処理を繰り返すループ構造になっている。本ループの終了条件は、ステップS124において変数iがライン数-1になることであり、かかるステップS124においてNoと判定される限り、変数iはインクリメントされて、ステップS122〜125の処理を繰り返すことになる。ステップS122では、グラフィクスプレーンにおける(X0+プレーンオフセット,Yi)から(Xn,Yi)までの画素データを読み出して、ラインメモリにおける(X0)から(Xn−プレーンオフセット-1)までに書き込む。ステップS113において、ラインメモリにおけるX0から(X0+プレーンオフセット-1)までに透明画素データを書き込む。
【0247】
以上で、左方向のプレーンシフトをラインデータ毎に実行する過程についての説明を終える。
以上のように本実施形態によれば、グラフィクスプレーンにおける画素データを、ライン毎に読み出す際、ラインメモリにおいて右方向のシフト、左方向のシフトを実現するので、グラフィクスプレーンに対するメモリアクセスの頻度を少なくすることができる。
【0248】
(備考)
以上、本願の出願時点において、出願人が知り得る最良の実施形態について説明したが、以下に示す技術的トピックについては、更なる改良や変更実施を加えることができる。各実施形態に示した通り実施するか、これらの改良・変更を施すか否かは、何れも任意的であり、実施する者の主観によることは留意されたい。
【0249】
(記録装置としての実施)
再生装置200は、ビルドインメディアドライブ、リムーバブルメディアを含むローカルストレージを具備していて、これらへの書き込みを想定した構成になっているので、本願明細書に記載された再生装置は、記録装置としての機能を兼備しているといえる。再生装置200が記録装置として機能する場合、以下の2つの態様によって、管理オブジェクトの書き込みを実行する。

i)再生装置200が仮想パッケージを再生する機能をもつ場合、BD-Jオブジェクトの書き込みを以下のように行う。つまり、BD-ROMが装填された際、アプリケーションからの要求に従い、前記BD-ROMに対応する追加コンテンツを、ネットワークを介して、WWWサーバから取得する。取得された追加コンテンツはGUI管理テーブルが記述されてあるBD-Jオブジェクトを含む。再生装置200において、記録制御を行う制御部は、前記アプリケーションからの要求に従い、取得したBD-Jオブジェクトをローカルストレージに書き込む。こうすることで、BD-ROMに記録されたコンテンツと、前記ローカルストレージに記録された追加コンテンツとを組み合わせることで、前記仮想パッケージを構築することが可能になる。
ここで前記BD-ROMには、ディスクルート証明書の識別子、BD-ROMコンテンツを頒布した組織の識別子、BD-ROMの識別子が記録されており、追加コンテンツが格納されるべき領域は、ディスクルート証明書識別子と、組織識別子と、BD-ROM識別子とを含むファイルパスによって特定される。
【0250】
前記アプリケーションは、追加コンテンツが格納されるべき領域を特定するファイルパスを、制御部に引き渡すことで書き込みを行う。
前記ローカルストレージが、ディレクトリ名、及び、ファイル名が255文字以下に制限されたファイルシステムを有している場合、前記ローカルストレージへの書き込みに用いられるファイルパスは、8文字以下のディレクトリ名、及び、ファイル名で、かつ拡張子名が3文字以下である8.3形式のファイルシステムにおけるファイル名と、拡張子との指定を含む。

ii)再生装置200がオンデマンドマニュファクチャサービス又は電子的セルスルーサービス(MODEST)の供給を受ける機能をもつ場合、BD-Jオブジェクトの書き込みを以下のように行う。
【0251】
つまり再生装置200がオンデマンドマニュファクチャサービス又は電子的セルスルーサービスによってBD-Jオブジェクトの供給を受ける際、リムーバブルメディアにおけるルートディレクトリの配下に、デフォルトのディレクトリと、MODESTディレクトリとをクリエイトして、MODESTディレクトリの配下に、BDMVディレクトリをクリエイトする。MODESTディレクトリは、ファーストMODESTディレクトリであり、ファーストMODESTディレクトリは、前記サービスを初めて受けた際、クリエイトされるMODESTディレクトリである。ユーザが2回目以降にサービスを受ける際、再生装置200における制御部は、2回目以降のサービスに対応するMODESTディレクトリをクリエイトする。
【0252】
そして、上述したように、GUI管理テーブルが記述されたBD-Jオブジェクトを取得すると、制御部は、デフォルトディレクトリにスタートアッププログラムを書き込み、MODESTディレクトリ配下のBDMVディレクトリにBD-Jオブジェクトを書き込む。このスタートアッププログラムは、記録媒体が再生装置200に装填された際、最初に実行されるべきプログラムであり、BDMVディレクトリを選択する操作をユーザから受け付けるためのメニューを再生装置200に表示させて、ルート変更機能を再生装置200に実行させる。このルート変更機能は、メニューに対する選択操作がユーザによってなされた場合、選択されたBDMVディレクトリが属するMODESTディレクトリをルートディレクトリとして認識させる機能である。かかるルート変更機能によって、BD-ROMを再生するのと同じ制御手順によって取得したBD-Jオブジェクトに基づく再生制御を実行することができる。

(Java(登録商標)アプリケーション)
BD-Jアプリケーションは、例えば電子商取引(EC(Electronic Commerce))のクライアントアプリケーションであってもよいし、ネット対戦型のオンラインゲームであってもよい。更に、検索エンジンと連携して、様々なオンラインサービスを、ユーザに供給するものでもよい。

(GUI管理テーブルを組込む単位)
各実施形態では、GUI管理テーブルをBD-Jオブジェクトに設けたが、GUI管理テーブルをプレイリスト情報やプレイアイテム情報に対応付けるようにもうけて、カレントプレイリストが特定のプレイリストになったタイミングまたはカレントプレイアイテムが、特定のプレイアイテムになった際、プレーンメモリの解放を行った上で、立体視再生のためのプレーンメモリの確保又は平面視再生のためのプレーンメモリの確保を実行してもよい。このようにすることで、メモリデバイスの領域管理がより決め細かい時間精度でなされることになる。

(立体視のためのビデオストリーム)
レフトビュー用、ライトビュー用のビデオストリームをBD-ROMに記録しておくというのは、一例に過ぎない。ピクチャ毎に、画素毎の奥行き値を表すビデオストリームをエンハンスドビュービデオストリームとしてBD-ROMに記録しておいて、再生に供してもよい。
【0253】
(実装すべきパッケージ)
再生装置の実施にあたっては、以下の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)を提供する。
【0254】
Binding Schemeとは、BD-ROM上のコンテンツ(AVクリップ、字幕、BD-Jアプリケーション)と、Local Storage上の関連コンテンツとを関連付けるものである。このBinding Schemeは、コンテンツの所在に拘らず、シームレス再生を実現する。

(グラフィクスプレーンの構成)
イメージプレーン8、インタラクティブグラフィクスプレーン10がSDRAMによって構成される場合、SDRAMに格納されている画素データを移動させるための特有の制御が必要になる。
【0255】
SDRAMは、時分割でアドレスピンに出力されたROWアドレスをメモリアレイに出力するROWアドレスデコーダ、時分割でアドレスピンに出力されるたCOLUMNアドレスをメモリアレイに出力するCOLUMNアドレスデコーダ、メモリアレイから読み出された一ページ長のデータを保持してデータピンに出力するページデータバッファ、バースト読み出しすべきワード長をページデータバッファに指示するワード長レジスタとを有する。SDRAMは、記憶素子に、コンデンサを採用しているので、自然放電が発生する。そのため、SDRAMでは、各記憶素子に対して、リフレッシュを行う必要があり、そのリフレッシュのための付加回路が必要になる。
【0256】
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などの光ディスク媒体であっても、これらの記録媒体に上述したデータ構造を有するデータが格納されていること、これらの記録媒体を読み取るドライブ装置があれば、上述の実施の形態で説明した動作が可能である。
【0257】
各実施の形態における記録媒体は、光ディスク、半導体メモリーカード等、パッケージメディア全般を含んでいる。本実施の形態の記録媒体は予め必要なデータが記録された光ディスク(例えばBD-ROM、DVD-ROMなどの既存の読み取り可能な光ディスク)を例に説明をしたが、これに限定される必要はなく、例えば、放送またはネットワークを経由して配信された本発明の実施に必要なデータを含んだ3Dコンテンツを光ディスクへ書き込む機能を有する端末装置(例えば左記の機能は再生装置に組み込まれていても良いし、再生装置とは別の装置であってもよい)を利用して書き込み可能な光ディスク(例えばBD-RE、DVD-RAMなどの既存の書き込み可能な光ディスク)に記録し、この記録した光ディスクを本発明の再生装置に適用しても本発明の実施は可能である。
【0258】
また、記録媒体は光ディスク以外にも例えば、SDメモリーカードなどのリムーバブルメディア(半導体メモリカード)であっても本発明の実施は可能である。
BD-ROMの代わりに半導体メモリを用いた場合には、半導体メモリーカード内のデータを読み出すためのインターフェイス(メモリーカードI/F)を介してリードバッファ1、リードバッファ2へデータ、ヒープメモリ31、動的シナリオメモリ23、静的シナリオメモリ13に転送されるように構成すればよい。
【0259】
より詳細には、再生装置200のスロット(図示せず)に半導体メモリーカードが挿入されると、メモリーカードI/Fを経由して再生装置200と半導体メモリーカードが電気的に接続される。半導体メモリーカードに記録されたデータはメモリーカードI/Fを介してリードバッファ1、リードバッファ2、ヒープメモリ31、動的シナリオメモリ23、静的シナリオメモリ13に転送されるように構成すれば良い。

BD-ROMに記録されたデータのうち、例えば著作権の保護、データの秘匿性の向上の観点からデータの一部が、必要に応じて暗号化されている場合がある。
【0260】
例えば、BD-ROMに記録されたデータのうち、暗号化されているデータは、例えばビデオストリームに対応するデータ、オーディオストリームに対応するデータ、またはこれらを含むストリームに対応するデータであったりする。
以後、BD-ROMに記録されたデータのうち、暗号化されているデータの解読について説明をする。
【0261】
再生装置においては、BD-ROM内の暗号化されたデータを解読するために必要な鍵に対応するデータ(例えばデバイスキー)が予め再生装置に記憶されている。
一方、BD-ROMには暗号化されたデータを解読するために必要な鍵に対応するデータ(例えば上述のデバイスキーに対応するMKB(メディアキーブロック))と、暗号化されたデータを解読するための鍵自体を暗号化したデータ(例えば上述のデバイスキー及びMKBに対応する暗号化タイトルキー)が記録されている。ここで、デバイスキー、MKB、及び暗号化タイトルキーは対になっており、さらにBD-ROM上の通常コピーできない領域(BCAと呼ばれる領域)に書き込まれた識別子(例えばボリュームID)とも対応付けがされている。この組み合わせが正しくなければ、暗号の解読ができないものとする。組み合わせが正しい場合のみ、暗号解読に必要な鍵(例えば上述のデバイスキー、MKB及びボリュームIDを元に、暗号化タイトルキーを復号して得られるタイトルキー)を導き出すことができ、この暗号解読に必要な鍵を用いて、暗号化されたデータの解読が可能となる。

装填されたBD-ROMを再生装置において再生する場合、例えばBD-ROM内の暗号化タイトルキー、MKBと対になっている(または対応する)デバイスキーが再生装置内になければ、暗号化されたデータは再生がなされない。何故ならば、暗号化されたデータの解読に必要な鍵(タイトルキー)は、鍵自体が暗号化されて(暗号化タイトルキー)BD-ROM上に記録されており、MKBとデバイスキーの組み合わせが正しくなければ、暗号の解読に必要な鍵を導き出すことができないからである。
【0262】
逆に暗号化タイトルキー、MKB、デバイスキー及びボリュームIDの組み合わせが正しければ、例えば上述の暗号解読に必要な鍵(デバイスキー、MKB及びボリュームIDを元に、暗号化タイトルキーを復号して得られるタイトルキー)を用いてビデオストリームがデコーダにてデコードされ、オーディオストリームがオーディオデコーダにてデコードされるように再生装置は構成されている。

本実施の形態では記録媒体としてBD-ROMを例に説明をしたが、BD-ROMに必ずしも限定されるのではなく、例えば、読込み/書込み可能な半導体メモリー(例えばSDカードなどの可搬性を有する半導体メモリーカード)に適用した場合においても、実施が可能である。
【0263】
例えば、BD-ROMに記録されるデータに相応するデータを例えば電子配信を利用して半導体メモリーカードに記録して、半導体メモリーカードから再生をするような構成としても良い。電子配信を利用して必要なデータを配信し、配信されたデータを記録する場合においても、配信されたデータのうちの一部または全てのデータに対して必要に応じて暗号化を行なって配信し、半導体メモリーに必要なデータについては暗号化がなされたままで記録するのが望ましい。

例えば電子配信を利用して、本実施の形態で説明をしたデータに相応するデータ(配信データ)を半導体メモリーに記録する動作について説明をする。
【0264】
上述の動作は本実施の形態において説明をした再生装置がそのような動作を行なえるように構成をされていても良いし、本実施の形態の再生装置とは別に半導体メモリーに配信データを記憶することを行う専用の端末装置にて行なうような形態であっても良い。ここでは再生装置が行なう例について説明をする。また記録先の半導体メモリーとしてSDカードを例に説明をする。
【0265】
再生装置が備えるスロットに挿入されたSDメモリーカードに配信データを記録する場合、まず配信データを蓄積する配信サーバ(図示せず)へ配信データの送信を要求する。このとき再生装置は挿入したSDメモリーカードを一意に識別するための識別情報(例えば個々のSDメモリーカード固有の識別番号、より具体的には、例えばSDメモリーカードのシリアル番号等)をSDメモリーカードから読み出して、読み出した識別情報を配信要求とともに、配信サーバへ送信する。
【0266】
この、SDメモリーカードを一意に識別するための識別情報は例えば上述のボリュームIDに相当する。
一方、配信サーバでは、配信するデータのうち必要なデータ(例えばビデオストリーム、オーディオストリーム等)が暗号解読に必要な鍵(例えばタイトルキー)を用いて暗号の解除ができるように暗号化がなされてサーバ上に格納されている。
【0267】
例えば配信サーバは、秘密鍵を保持しており、半導体メモリーカードの固有の識別番号のそれぞれに対して異なる公開鍵情報が動的に生成できるように構成されている。
また、配信サーバは、暗号化されたデータの解読に必要な鍵(タイトルキー)自身に対して暗号化ができるように構成されている(つまり暗号化タイトルキーを生成できるように構成されている)。

生成される公開鍵情報は例えば上述のMKB、ボリュームID及び暗号化タイトルキーに相当する情報を含む。暗号化されたデータは例えば半導体メモリー固有の識別番号、後述する公開鍵情報に含まれる公開鍵本体、および再生装置に予め記録されたデバイスキーの組み合わせが正しければ、暗号解読に必要な鍵(例えばデバイスキー、MKB及び半導体メモリー固有の識別番号を元に、暗号化タイトルキーを復号して得られるタイトルキー)が得られ、この得られた暗号解読に必要な鍵(タイトルキー)を用いて、暗号化されたデータの解読ができるものである。

次に、再生装置は、受信した公開鍵情報と配信データをスロットに挿入した半導体メモリーカードの記録領域に記録する。
【0268】
次に、半導体メモリーカードの記録領域に記録した公開鍵情報と配信データに含まれるデータのうち暗号化したデータを復号して再生する方法の一例について説明をする。
受信した公開鍵情報は例えば公開鍵本体(例えば上述のMKB及び暗号化タイトルキー)、署名情報、半導体メモリーカードの固有の識別番号、および無効にすべきデバイスに関する情報を示すデバイスリストが記録されている。
【0269】
署名情報には例えば、公開鍵情報のハッシュ値を含む。
デバイスリストには例えば、不正に再生がなされる可能性があるデバイスに関する情報が記載されている。これは例えば再生装置に予め記録されたデバイスキー、再生装置の識別番号、または再生装置が備えるデコーダの識別番号といったように、不正に再生される可能性がある装置、装置に含まれる部品、または機能(プログラム)といったものを一意に特定するための情報である。
【0270】
半導体メモリーカードの記録領域に記録した配信データのうち、暗号化されたデータの再生に関し、説明をする。
まず、公開鍵本体を利用して暗号化したデータを復号する前に復号鍵本体を機能させてよいかどうかに関するチェックを行う。
具体的には、
(1) 公開鍵情報に含まれる半導体メモリー固有の識別情報と半導体メモリーカードに予め記憶されている固有の識別番号とが一致するかどうかのチェック
(2) 再生装置内で算出した公開鍵情報のハッシュ値と署名情報に含まれるハッシュ値が一致するかのチェック
(3) 公開鍵情報に含まれるデバイスリストに示される情報に基づいて、再生を行う再生装置が不正な再生が可能かどうかのチェック(例えば公開鍵情報に含まれるデバイスリストに示されるデバイスキーと、再生装置に予め記憶されたデバイスキーが一致するかどうかのチェック)
を行なう。これらのチェックを行なう順番どのような順序で行なってもよい。
【0271】
上述の(1)〜(3)のチェックにおいて、公開鍵情報に含まれる半導体メモリー固有の識別情報と半導体メモリーに予め記憶されている固有の識別番号とが一致しない、再生装置内で算出した公開鍵情報のハッシュ値と署名情報に含まれるハッシュ値が一致しない、または、再生を行う再生装置が不正に再生される可能性があると判断した、のいずれかを満足すれば、再生装置は、暗号化されたデータの解読がなされないように制御する。

また、公開鍵情報に含まれる半導体メモリーカードの固有の識別情報と半導体メモリーカードに予め記憶されている固有の識別番号とが一致し、かつ再生装置内で算出した公開鍵情報のハッシュ値と署名情報に含まれるハッシュ値が一致し、かつ再生を行う再生装置が不正に再生される可能性がないと判断したのであれば、半導体メモリー固有の識別番号、公開鍵情報に含まれる公開鍵本体、および再生装置に予め記録されたデバイスキーの組み合わせが正しいと判断し、暗号解読に必要な鍵(デバイスキー、MKB及び半導体メモリー固有の識別番号を元に、暗号化タイトルキーを復号して得られるタイトルキー)を用いて、暗号化されたデータの解読を行なう。

例えば暗号化されたデータがビデオストリーム、オーディオストリームである場合、ビデオデコーダは上述の暗号解読に必要な鍵(暗号化タイトルキーを復号して得られるタイトルキー)を利用してビデオストリームを復号し(デコードし)、オーディオデコーダは、上述の暗号解読に必要な鍵を利用してオーディオストリームを復号する(デコードする)。
【0272】
このように構成をすることにより、電子配信時において不正利用される可能性がある再生装置、部品、機能(プログラム)などが分っている場合、これらを識別するための情報をデバイスリストに示して、配信するようにすれば、再生装置側がデバイスリストに示されているものを含むような場合には公開鍵情報(公開鍵本体)を用いた復号を抑止できるようにできるため、半導体メモリー固有の識別番号、公開鍵情報に含まれる公開鍵本体、および再生装置に予め記録されたデバイスキーの組み合わせが、たとえ正しくても、暗号化されたデータの解読がなされないように制御できるため、不正な装置上での配信データの利用を抑止することが可能となる。

また半導体メモリーカードに予め記録されている半導体メモリーカードの固有の識別子は秘匿性の高い記録領域に格納するような構成を採用するのが望ましい。何故ならば、半導体メモリーカードに予め記録されている固有の識別番号(例えばSDメモリーカードを例にすればSDメモリーカードのシリアル番号等)は改竄がなされると、違法コピーが容易になされてしまう。何故ならば複数の半導体メモリーカードには、それぞれ異なる固有の識別番号が割り当てられているが、この固有の識別番号が同一となるように改竄がなされてしまえば、上述の(1)の判定が意味を成さなくなり、改竄がなされた数に相当する違法コピーがなされてしまう可能性があるからである。
【0273】
従って、半導体メモリーカードの固有の識別番号といった情報は秘匿性が高い記録領域に記録するような構成を採用するのが望ましい。
このような構成を実現するために、例えば半導体メモリーカードは、半導体メモリーカードの固有の識別子と言った秘匿性の高いデータを記録するための記録領域を通常のデータを格納する記録領域(第1の記録領域と称す)とは別の記録領域(第2の記録領域と称す)に設けること、およびこの第2の記録領域へのアクセスをするための制御回路を設けるとともに、第2の記録領域へのアクセスには制御回路を介してのみアクセスできるような構成とする。
【0274】
例えば、第2の記録領域に記録されているデータは暗号化がなされて、記録されており、制御回路は、例えば暗号化されたデータを復号するための回路が組み込まれている。制御回路へ第2の記録領域へのデータのアクセスが合った場合には、暗号を復号し、復号したデータを返すように構成すれば良い。または、制御回路は第2の記録領域に記録されているデータの格納場所の情報を保持しており、データのアクセスの要求があれば、対応するデータの格納場所を特定し、特定した格納場所から読み取ったデータを返すような構成としても良い。

再生装置上で動作するアプリケーションで、電子配信を利用して半導体メモリーカードに記録する要求するアプリケーションは、メモリーカードI/Fを介して制御回路へ第2の記録領域に記録されたデータ(例えば半導体メモリ固有の識別番号)へのアクセス要求を発行すると、要求を受けた制御回路は第2の記録領域に記録されたデータを読み出して再生装置上で動作するアプリケーションへ返す。この半導体メモリーカードの固有の識別番号とともに必要なデータの配信要求を配信サーバに要求し、配信サーバから送られる公開鍵情報、および対応する配信データを第1の記録領域に記録するように構成すればよい。
【0275】
また、再生装置上で動作するアプリケーションで、電子配信を利用して半導体メモリーカードに記録を要求するアプリケーションは、メモリーカードI/Fを介して制御回路へ第2の記録領域に記録されたデータ(例えば半導体メモリ固有の識別番号)へのアクセス要求を発行する前に、アプリケーションの改竄がされていないかを事前にチェックすることが望ましい。改竄のチェックには例えば既存のX.509仕様に準拠したデジタル証明書を利用したチェックなどを利用しても良い。
【0276】
また、半導体メモリーカードの第1の記録領域に記録された配信データへのアクセスは半導体メモリーカードが有する制御回路を介してアクセスする必要は必ずしもない。

(プログラムの実施形態)
各実施形態に示したアプリケーションプログラムは、以下のようにして作ることができる。先ず初めに、ソフトウェア開発者は、プログラミング言語を用いて、各フローチャートや、機能的な構成要素を実現するようなソースプログラムを記述する。この記述にあたって、ソフトウェア開発者は、プログラミング言語の構文に従い、クラス構造体や変数、配列変数、外部関数のコールを用いて、各フローチャートや、機能的な構成要素を具現するソースプログラムを記述する。
【0277】
記述されたソースプログラムは、ファイルとしてコンパイラに与えられる。コンパイラは、これらのソースプログラムを翻訳してオブジェクトプログラムを生成する。
コンパイラによる翻訳は、構文解析、最適化、資源割付、コード生成といった過程からなる。構文解析では、ソースプログラムの字句解析、構文解析および意味解析を行い、ソースプログラムを中間プログラムに変換する。最適化では、中間プログラムに対して、基本ブロック化、制御フロー解析、データフロー解析という作業を行う。資源割付では、ターゲットとなるプロセッサの命令セットへの適合を図るため、中間プログラム中の変数をターゲットとなるプロセッサのプロセッサが有しているレジスタまたはメモリに割り付ける。コード生成では、中間プログラム内の各中間命令を、プログラムコードに変換し、オブジェクトプログラムを得る。
【0278】
ここで生成されたオブジェクトプログラムは、各実施形態に示したフローチャートの各ステップや、機能的構成要素の個々の手順を、コンピュータに実行させるような1つ以上のプログラムコードから構成される。ここでプログラムコードは、プロセッサのネィティブコード、JAVA(登録商標)バイトコードというように、様々な種類がある。プログラムコードによる各ステップの実現には、様々な態様がある。外部関数を利用して、各ステップを実現することができる場合、この外部関数をコールするコール文が、プログラムコードになる。また、1つのステップを実現するようなプログラムコードが、別々のオブジェクトプログラムに帰属することもある。命令種が制限されているRISCプロセッサでは、算術演算命令や論理演算命令、分岐命令等を組合せることで、フローチャートの各ステップを実現してもよい。
【0279】
オブジェクトプログラムが生成されるとプログラマはこれらに対してリンカを起動する。リンカはこれらのオブジェクトプログラムや、関連するライブラリプログラムをメモリ空間に割り当て、これらを1つに結合して、ロードモジュールを生成する。こうして生成されるロードモジュールは、コンピュータによる読み取りを前提にしたものであり、各フローチャートに示した処理手順や機能的な構成要素の処理手順を、コンピュータに実行させるものである。かかるプログラムをコンピュータ読取可能な記録媒体に記録してユーザに提供してよい。

(システムLSIの単体実施)
システムLSIとは、高密度基板上にベアチップを実装し、パッケージングしたものをいう。複数個のベアチップを高密度基板上に実装し、パッケージングすることにより、あたかも1つのLSIのような外形構造を複数個のベアチップに持たせたものも、システムLSIに含まれる(このようなシステムLSIは、マルチチップモジュールと呼ばれる。)。
【0280】
ここでパッケージの種別に着目するとシステムLSIには、QFP(クッド フラッド アレイ)、PGA(ピン グリッド アレイ)という種別がある。QFPは、パッケージの四側面にピンが取り付けられたシステムLSIである。PGAは、底面全体に、多くのピンが取り付けられたシステムLSIである。
これらのピンは、他の回路とのインターフェイスとしての役割を担っている。システムLSIにおけるピンには、こうしたインターフェイスの役割が存在するので、システムLSIにおけるこれらのピンに、他の回路を接続することにより、システムLSIは、再生装置200の中核としての役割を果たす。
【0281】
かかるシステムLSIは、再生装置200は勿論のこと、TVやゲーム、パソコン、ワンセグ携帯等、映像再生を扱う様々な機器に組込みが可能であり、本発明の用途を多いに広げることができる。
バッファやビデオデコーダ、オーディオデコーダ、グラフィクスデコーダをも、一体のシステムLSIにする場合、システムLSIのアーキテクチャは、Uniphierアーキテクチャに準拠させるのが望ましい。
【0282】
Uniphierアーキテクチャに準拠したシステムLSIは、以下の回路ブロックから構成される。
・データ並列プロセッサDPP
これは、複数の要素プロセッサが同一動作するSIMD型プロセッサであり、各要素プロセッサに内蔵されている演算器を、1つの命令で同時動作させることで、ピクチャを構成する複数画素に対するデコード処理の並列化を図る。
【0283】
・命令並列プロセッサIPP
これは、命令RAM、命令キャッシュ、データRAM、データキャッシュからなる「Local Memory Controller」、命令フェッチ部、デコーダ、実行ユニット、レジスタファイルからなる「Processing Unit部」、複数アプリケーションの並列実行をProcessing Unit部に行わせる「Virtual Multi Processor Unit部」で構成される。
【0284】
・MPUブロック
これは、ARMコア、外部バスインターフェイス(Bus Control Unit:BCU)、DMAコントローラ、タイマー、ベクタ割込コントローラといった周辺回路、UART、GPIO(General Purpose Input Output)、同期シリアルインターフェイスなどの周辺インターフェイスで構成される。
【0285】
・ストリームI/Oブロック
これは、USBインターフェイスやATA Packetインターフェイスを介して、外部バス上に接続されたドライブ装置、ハードリディスクドライブ装置、SDメモリカードドライブ装置とのデータ入出力を行う。
・AVI/Oブロック
これは、オーディオ入出力、ビデオ入出力、OSDコントローラで構成され、テレビ、AVアンプとのデータ入出力を行う。
【0286】
・メモリ制御ブロック
これは、外部バスを介して接続されたSD-RAMの読み書きを実現するブロックであり、各ブロック間の内部接続を制御する内部バス接続部、システムLSI外部に接続されたSD-RAMとのデータ転送を行うアクセス制御部、各ブロックからのSD-RAMのアクセス要求を調整するアクセススケジュール部からなる。
【0287】
具体的な生産手順の詳細は以下のものになる。まず各実施形態に示した構成図を基に、システムLSIとすべき部分の回路図を作成し、回路素子やIC,LSIを用いて、構成図における構成要素を具現化する。

そうして、各構成要素を具現化してゆけば、回路素子やIC,LSI間を接続するバスやその周辺回路、外部とのインターフェイス等を規定する。更には、接続線、電源ライン、グランドライン、クロック信号線等も規定してゆく。この規定にあたって、LSIのスペックを考慮して各構成要素の動作タイミングを調整したり、各構成要素に必要なバンド幅を保証する等の調整を加えながら、回路図を完成させてゆく。
【0288】
回路図が完成すれば、実装設計を行う。実装設計とは、回路設計によって作成された回路図上の部品(回路素子やIC,LSI)を基板上のどこへ配置するか、あるいは、回路図上の接続線を、基板上にどのように配線するかを決定する基板レイアウトの作成作業である。
こうして実装設計が行われ、基板上のレイアウトが確定すれば、実装設計結果をCAMデータに変換して、NC工作機械等の設備に出力する。NC工作機械は、このCAMデータを基に、SoC実装やSiP実装を行う。SoC(System on chip)実装とは、1チップ上に複数の回路を焼き付ける技術である。SiP(System in Package)実装とは、複数チップを樹脂等で1パッケージにする技術である。以上の過程を経て、本発明に係るシステムLSIは、各実施形態に示した再生装置200の内部構成図を基に作ることができる。
【0289】
尚、上述のようにして生成される集積回路は、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。
FPGAを用いてシステムLSIを実現した場合は、多数のロジックエレメントが格子状に配置されており、LUT(Look Up Table)に記載されている入出力の組合せに基づき、縦・横の配線をつなぐことにより、各実施形態に示したハードウェア構成を実現することができる。LUTは、SRAMに記憶されており、かかるSRAMの内容は、電源断により消滅するので、かかるFPGAの利用時には、コンフィグ情報の定義により、各実施形態に示したハードウェア構成を実現するLUTを、SRAMに書き込ませる必要がある。
【0290】
本実施の形態においては、ミドルウェアとシステムLSIに対応するハードウェア、システムLSI以外のハードウェア、ミドルウェアに対するインターフェイスの部分、ミドルウェアとシステムLSIとの間のインターフェイスの部分、ミドルウェアとシステムLSI以外の必要なハードウェアとの間のインターフェイスの部分、ユーザインターフェイスの部分で実現し、これらを組み込んで再生装置を構成したとき、それぞれが連携して動作することにより特有の機能が提供されることになる。
【0291】
ミドルウェアに対するインターフェイス、および、ミドルウェアとシステムLSIのインターフェイスを適切に定義することにより、再生装置のユーザインターフェイス部分、ミドルウェア部分、システムLSI部分をそれぞれ独立して並行開発することができ、より効率よく開発することが可能となる。なお、それぞれのインターフェイスの部分のきり方には、様々なきり方がある。例えば、システムLSI102に含まれるものとして示したビデオデコーダ5a、5b、オーディオデコーダ9、合成部15を一チップ化したとき、これらを制御するミドルウェアおよびこれらと対応するミドルウェアとの間のインターフェイスの部分について、チップを開発する側で開発をし、完成後、チップを再生装置に組み込むとともに、開発したミドルウェア、インターフェイス部分を再生装置内のメモリなどの記憶部に組み入れることにより、再生装置側の開発とチップ側の開発を並行して行なうことができるようになり、開発効率が向上する。
【0292】
開発したチップと開発したチップに関連するミドルウェアとの間のインターフェイス部分について、共通にすると、汎用性が高くなる。
なお、システムLSIにて構成をした部分に関しては、LSIでしか構成ができないというものではなく、システムLSIに含まれるべき機能に対応する信号処理回路を用いて構成をしても良いことは言うまでもない。
【産業上の利用可能性】
【0293】
本発明は、立体視ビデオストリームを再生する再生機器において、立体視ビデオストリーム上に字幕やグラフィクススを重ね合わせて表示する技術に関し、特に、立体視ビデオストリームだけでなく字幕やグラフィクスも合わせて立体的に出力し、重ね合わせる立体視ビデオ再生装置に適用可能である。
【符号の説明】
【0294】
100 BD-ROM
200 再生装置
300 リモコン
400 テレビ
500 液晶シャッタゴーグル
101 フロントエンド部
102 システムLSI
103 メモリデバイス
104 バックエンド部
105 不揮発性メモリ
106 ホストマイコン
107 ネットワークI/F
110 BDドライブ
111 ローカルストレージ
1,2 リードバッファ
3 仮想ファイルシステム
4 デマルチプレクサ
5a,b ビデオデコーダ
6 ビデオプレーン
7a,b イメージデコーダ
7c,d イメージメモリ
8 イメージプレーン
9 オーディオデコーダ
10 インタラクティブグラフィクスプレーン
11 バックグラウンドプレーン
12 再生状態/設定レジスタ(PSR)セット
13 静的シナリオメモリ
14 再生制御エンジン
15 合成部15
16 HDMI送受信部
17 左右処理記憶部
18 表示機能フラグ保持部
19 プレーンシフトエンジン
20 オフセット設定部
22 BD-Jプラットフォーム
23 動的シナリオメモリ
24 モード管理モジュール
25 HDMVモジュール
26 UO検知モジュール
27a 静止画メモリ
27b 静止画デコーダ
28 表示モード設定イニシャル表示設定部
29 表示モード記憶部

【特許請求の範囲】
【請求項1】
立体視再生を実現する再生装置であって、
ビデオストリームをデコードしてビデオフレームを得るビデオデコーダと、
ビデオフレームを保持するビデオプレーンと、
グラフィクスデータを格納するグラフィクスプレーンと、
グラフィクスプレーンに格納されているグラフィクスデータをビデオフレームに合成する合成部と
グラフィクスプレーンのプレーンシフトを実行するシフトエンジンとを備え、
前記立体視再生を実現する場合、ビデオプレーンに格納されている複数ビデオフレームのそれぞれを、ライトビュービデオフレーム、及び、レフトビュービデオフレームとして出力し、
グラフィクスプレーンにおけるグラフィクスデータは、所定の横画素数×縦画素数の画素データから構成され、
前記プレーンシフトは、
レフトビュービデオフレームを出力するにあたって、グラフィクスプレーンにおける画素データのそれぞれの座標を、右方向及び左方向のうちどちらかに移動させるとともに、ライトビュービデオフレームを出力するにあたって、グラフィクスプレーンにおける画素データのそれぞれの座標を、レフトビューとは反対の方向に移動させた上で合成部に供する処理であり、かつ
前記プレーンシフトは、
前記グラフィクスデータのうち、右方向の端部及び左方向の端部のうち、前記プレーンシフトにより移動させた側の前記端部を含むどちらかにおける矩形領域を切り取り、前記移動させた側とはグラフィクスデータの反対側の端部に、透明画素からなる矩形領域を追加することでなされ、
前記グラフィクスデータから一方の端部から切り取られる矩形領域、及び、グラフィクスデータの他方の端部に追加される矩形領域は、横方向の画素数が、シフト量に相当する画素数であり、縦方向の画素数が、グラフィクスプレーンの縦画素である領域である
ことを特徴とする再生装置。
【請求項2】
グラフィクスプレーンにおける画素データの座標を左側に移動する場合、矩形領域が切り取られる一方の端部はグラフィクスプレーンの座標系における左側の端部であり、
グラフィクスプレーンにおける画素データの座標を右側に移動する場合、矩形領域が切り取られる他方の端部はグラフィクスプレーンの座標系における右側の端部である
ことを特徴とする請求項記載の再生装置。
【請求項3】
前記再生装置は、
プレイリスト情報を記録媒体から読み出すと共に、プレイリスト情報によって参照されているAVストリームを記録媒体から読み出す読出手段と、
AVストリームからビデオストリームを多重分離する多重分離手段とを備え、
前記ビデオフレームは、ビデオストリームをデコードすることで得られ、

プレイリスト情報には、オフセットが組み込まれており、
前記プレーンシフトにおける画素データのシフト量は、プレイリスト情報に組込まれたオフセットに基づいて計算される
ことを特徴とする請求項1記載の再生装置。
【請求項4】
前記再生装置は、
プレイリスト情報を記録媒体から読み出すと共に、プレイリスト情報によって参照されているAVストリームを記録媒体から読み出す読出手段を備え、
AVストリームに多重化されているビデオストリームのヘッダ領域には、オフセットが組み込まれており、
前記プレーンシフトにおける画素データのシフト量は、オフセットに基づいて計算される
ことを特徴とする請求項1記載の再生装置。
【請求項5】
前記記録媒体には、メタ情報が記録されており、
メタ情報には、オフセットが組み込まれており、
記録媒体が装填された際、記録媒体からメタ情報を読み出す処理を行い、
前記プレーンシフトにおける画素データのシフト量は、
メタ情報に埋め込まれたオフセットに基づいて計算される
ことを特徴とする請求項1記載の再生装置。
【請求項6】
プレイリスト情報を記録媒体から読み出すと共に、プレイリスト情報によって参照されているトランスポートストリームを記録媒体から読み出す読出手段と、
前記トランスポートストリームを構成するパケットのヘッダ領域には、オフセットが組み込まれており、
前記プレーンシフトにおける画素データのシフト量は、オフセットに基づいて計算された値である
ことを特徴とする請求項1記載の再生装置。
【請求項7】
前記グラフィクスプレーンに格納された画素データによって表現されるグラフィクスの拡大又は縮小を行うスケーラを備え、
前記プレーンシフトにおける画素データのシフト量は、
スケーラによる拡大又は縮小がなされたグラフィクスに対してなされる
ことを特徴とする請求項1記載の再生装置
【請求項8】
立体視再生を実現する再生装置であって、
ビデオストリームをデコードしてビデオフレームを得るビデオデコーダと、
ビデオフレームを保持するビデオプレーンと、
グラフィクスデータを格納するグラフィクスプレーンと、
グラフィクスプレーンに格納されているグラフィクスデータをビデオフレームに合成する合成部と
グラフィクスプレーンのプレーンシフトを実行するシフトエンジンとを備え、
前記立体視再生を実現する場合、ビデオプレーンに格納されている複数ビデオフレームのそれぞれを、ライトビュービデオフレーム、及び、レフトビュービデオフレームとして出力し、
グラフィクスプレーンにおけるグラフィクスデータは、所定の横画素数×縦画素数の画素データから構成され、
前記プレーンシフトは、
レフトビュービデオフレームを出力するにあたって、グラフィクスプレーンにおける画素データのそれぞれの座標を、右方向及び左方向のうちどちらかに移動させるとともに、ライトビュービデオフレームを出力するにあたって、グラフィクスプレーンにおける画素データのそれぞれの座標を、レフトビューとは反対の方向に移動させた上で合成部に供する処理であり、
前記グラフィクスプレーンに書き込まれるグラフィクスは、アプリケーションによって書き込まれたものであり、
前記アプリケーションは、奥行き値を指示し、
前記プレーンシフトにおける画素データのシフト量は、指示された奥行きに基づいて計算される
ことを特徴とする再生装置。
【請求項9】
立体視再生を実現する再生装置であって、
ビデオストリームをデコードしてビデオフレームを得るビデオデコーダと、
ビデオフレームを保持するビデオプレーンと、
グラフィクスデータを格納するグラフィクスプレーンと、
グラフィクスプレーンに格納されているグラフィクスデータをビデオフレームに合成する合成部と
グラフィクスプレーンのプレーンシフトを実行するシフトエンジンとを備え、
前記立体視再生を実現する場合、ビデオプレーンに格納されている複数ビデオフレームのそれぞれを、ライトビュービデオフレーム、及び、レフトビュービデオフレームとして出力し、
グラフィクスプレーンにおけるグラフィクスデータは、所定の横画素数×縦画素数の画素データから構成され、
前記プレーンシフトは、
レフトビュービデオフレームを出力するにあたって、グラフィクスプレーンにおける画素データのそれぞれの座標を、右方向及び左方向のうちどちらかに移動させるとともに、ライトビュービデオフレームを出力するにあたって、グラフィクスプレーンにおける画素データのそれぞれの座標を、レフトビューとは反対の方向に移動させた上で合成部に供する処理であり、
前記グラフィクスプレーンに書き込まれるグラフィクスは、ユーザオペレーションを受け付けるものであり、ユーザオペレーションは、奥行き値の指定を含み、
前記プレーンシフトにおける画素データのシフト量は、指定された奥行き値に基づいて計算された値である
ことを特徴とする再生装置。
【請求項10】
立体視再生を実現する再生装置であって、
ビデオストリームをデコードしてビデオフレームを得るビデオデコーダと、
ビデオフレームを保持するビデオプレーンと、
グラフィクスデータを格納するグラフィクスプレーンと、
グラフィクスプレーンに格納されているグラフィクスデータをビデオフレームに合成する合成部と
グラフィクスプレーンのプレーンシフトを実行するシフトエンジンとを備え、
前記立体視再生を実現する場合、ビデオプレーンに格納されている複数ビデオフレームのそれぞれを、ライトビュービデオフレーム、及び、レフトビュービデオフレームとして出力し、
グラフィクスプレーンにおけるグラフィクスデータは、所定の横画素数×縦画素数の画素データから構成され、
前記プレーンシフトは、
レフトビュービデオフレームを出力するにあたって、グラフィクスプレーンにおける画素データのそれぞれの座標を、右方向及び左方向のうちどちらかに移動させるとともに、ライトビュービデオフレームを出力するにあたって、グラフィクスプレーンにおける画素データのそれぞれの座標を、レフトビューとは反対の方向に移動させた上で合成部に供する処理であり、
前記グラフィクスプレーンに書き込まれるグラフィクスは、アプリケーションによって書き込まれたものであり、
前記アプリケーションから指定されたオフセットを一次的に保存するオフセット記憶部をさらに兼ね備え、
前記プレーンシフトにおける画素データのシフト量は、1フレームに対するレフトビュー用の出力とライトビューの出力が完了した時点で、前記オフセット記憶部のオフセットに基づいて計算される
ことを特徴とする再生装置。
【請求項11】
立体視再生を実現する再生装置であって、
ビデオストリームをデコードしてビデオフレームを得るビデオデコーダと、
ビデオフレームを保持するビデオプレーンと、
グラフィクスデータを格納するグラフィクスプレーンと、
グラフィクスプレーンに格納されているグラフィクスデータをビデオフレームに合成する合成部と
グラフィクスプレーンのプレーンシフトを実行するシフトエンジンとを備え、
前記立体視再生を実現する場合、ビデオプレーンに格納されている複数ビデオフレームのそれぞれを、ライトビュービデオフレーム、及び、レフトビュービデオフレームとして出力し、
グラフィクスプレーンにおけるグラフィクスデータは、所定の横画素数×縦画素数の画素データから構成され、
前記プレーンシフトは、
レフトビュービデオフレームを出力するにあたって、グラフィクスプレーンにおける画素データのそれぞれの座標を、右方向及び左方向のうちどちらかに移動させるとともに、ライトビュービデオフレームを出力するにあたって、グラフィクスプレーンにおける画素データのそれぞれの座標を、レフトビューとは反対の方向に移動させた上で合成部に供する処理であり、
前記グラフィクスプレーンに書き込まれるグラフィクスは、ユーザオペレーションを受け付けるものであり、
前記ユーザオペレーションにより指定されたオフセットを一次的に保存するオフセット記憶部をさらに兼ね備え、
前記プレーンシフトにおける画素データのシフト量は、
1フレームに対するレフトビュー用の出力とライトビューの出力が完了した時点で、前記オフセット記憶部のオフセットに基づいて計算される
ことを特徴とする再生装置。
【請求項12】
立体視再生を実現する再生装置であって、
ビデオストリームをデコードしてビデオフレームを得るビデオデコーダと、
ビデオフレームを保持するビデオプレーンと、
グラフィクスデータを格納するグラフィクスプレーンと、
グラフィクスプレーンに格納されているグラフィクスデータをビデオフレームに合成する合成部と
前記グラフィックスプレーンに格納されているデータをステレオモードで立体視再生するかどうかを示す情報を記憶する記憶部と、
グラフィクスプレーンのプレーンシフトを実行するシフトエンジンとを備え、
前記立体視再生を実現する場合、ビデオプレーンに格納されている複数ビデオフレームのそれぞれを、ライトビュービデオフレーム、及び、レフトビュービデオフレームとして出力し、
グラフィクスプレーンにおけるグラフィクスデータは、所定の横画素数×縦画素数の画素データから構成され、
前記プレーンシフトは、
レフトビュービデオフレームを出力するにあたって、グラフィクスプレーンにおける画素データのそれぞれの座標を、右方向及び左方向のうちどちらかに移動させるとともに、ライトビュービデオフレームを出力するにあたって、グラフィクスプレーンにおける画素データのそれぞれの座標を、レフトビューとは反対の方向に移動させた上で合成部に供する処理であり、
前記グラフィクスプレーンは、前記記憶部にステレオモードの立体視再生をすることを示す情報が記憶されている場合、レフトビュー出力時に合成すべきグラフィクスデータを格納し、前記グラフィクスプレーンの下半分に、ライトビュー出力時に合成すべきグラフィクスデータを格納し、
前記プレーンシフトは、前記記憶部にステレオモードでない立体視再生することを示す情報が記憶されている場合になされる
ことを特徴とする再生装置。
【請求項13】
立体視再生を実現する再生装置であって、
ビデオストリームをデコードしてビデオフレームを得るビデオデコーダと、
ビデオフレームを保持するビデオプレーンと、
グラフィクスデータを格納するグラフィクスプレーンと、
グラフィクスプレーンに格納されているグラフィクスデータをビデオフレームに合成する合成部と
グラフィックスプレーンに格納されているデータをステレオモードで表示するかどうかを示す情報を記憶する記憶部と、
グラフィクスプレーンのプレーンシフトを実行するシフトエンジンとを備え、
前記立体視再生を実現する場合、ビデオプレーンに格納されている複数ビデオフレームのそれぞれを、ライトビュービデオフレーム、及び、レフトビュービデオフレームとして出力し、
グラフィクスプレーンにおけるグラフィクスデータは、所定の横画素数×縦画素数の画素データから構成され、
前記プレーンシフトは、
レフトビュービデオフレームを出力するにあたって、グラフィクスプレーンにおける画素データのそれぞれの座標を、右方向及び左方向のうちどちらかに移動させるとともに、ライトビュービデオフレームを出力するにあたって、グラフィクスプレーンにおける画素データのそれぞれの座標を、レフトビューとは反対の方向に移動させた上で合成部に供する処理であり、
前記記憶部にステレオモードでない立体視再生することを示す情報が記憶されている場合、グラフィクスプレーンの上半分の領域に、レフトビュー用のグラフィクスとライトビュー用のグラフィクスの両方を格納する
ことを特徴とする再生装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate


【公開番号】特開2011−234382(P2011−234382A)
【公開日】平成23年11月17日(2011.11.17)
【国際特許分類】
【出願番号】特願2011−124180(P2011−124180)
【出願日】平成23年6月2日(2011.6.2)
【分割の表示】特願2010−521609(P2010−521609)の分割
【原出願日】平成21年7月23日(2009.7.23)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】