以下、実施の形態について図面を参照して説明する。
図1は、一実施形態に係る電子機器の外観を示す斜視図である。この電子機器は、例えばノートブックタイプのパーソナルコンピュータ1として実現される。また、この電子機器は、テレビジョン受信機、映像データを保存するためのレコーダ(例えば、ハードディスクレコーダ、DVDレコーダ)、タブレットPC、スレートPC、PDA(personal digital assistant)、カーナビゲーション装置、スマートフォン等として実現され得る。
図1に示すように、パーソナルコンピュータ1は、コンピュータ本体2と、ディスプレイユニット3とから構成される。
ディスプレイユニット3には、三次元ディスプレイ(3Dディスプレイ)15が組み込まれている。ディスプレイユニット3は、コンピュータ本体2の上面が露出される開放位置とコンピュータ本体2の上面を覆う閉塞位置との間を回動自在にコンピュータ本体2に取り付けられている。
また、3Dディスプレイ15は、LCD(liquid crystal display)15Aとレンズユニット15Bとを備える。レンズユニット15Bは、LCD15Aの表示面に重ね合わせられている。レンズユニット15Bは、LCD15Aに表示される映像に含まれる複数の画素に対応する複数の光線をそれぞれ所定の方向に射出するための複数のレンズ機能を含む。レンズユニット15Bは、例えば、三次元映像表示に必要なレンズ機能を電気的にスイッチングできる液晶GRIN(gradient index)レンズである。液晶GRINレンズでは、平坦な液晶層を用いて電極で屈折率分布を作るので、例えば、画面内の指定した領域で三次元映像を表示し、他の領域で二次元映像を表示することができる。つまり、三次元映像を表示する領域と二次元映像を表示する領域とでレンズの屈折率を変えることにより、三次元映像を表示するための三次元映像表示モードと、二次元映像を表示するための二次元映像表示モードとを、画面内で部分的に切り替えることができる。三次元映像表示モードに設定された領域では、その領域に表示される左眼用映像と右眼用映像とを含む三次元映像が眼間距離や観視距離等に応じた視差を有するように、屈折率が変更される。二次元映像表示モードに設定された領域では、その領域に表示される二次元映像が屈折されることなくそのまま表示されるように、屈折率が変更される。3Dディスプレイ15では、画面内に設定された、任意の位置及びサイズを有する複数の領域それぞれを、三次元映像表示モードと二次元映像表示モードのいずれか一方に設定できる。
3Dディスプレイ15は、三次元映像表示モードの領域では左眼用映像と右眼用画像とを表示し、二次元映像表示モードの領域では二次元映像を表示する。そのためユーザは、画面内の三次元映像表示モードに設定された領域を見たとき三次元映像を知覚し、二次元映像表示モードに設定された領域を見たとき二次元映像を知覚することができる。
コンピュータ本体2は、薄い箱形の筐体を有しており、その上面には、キーボード26、パーソナルコンピュータ1を電源オン/電源オフするためのパワーボタン28、入力操作パネル29、ポインティングデバイス(タッチパッド)27、スピーカ18A,18Bなどが配置されている。入力操作パネル29上には、各種操作ボタンが設けられている。これらボタン群には、TV機能(視聴、録画、録画された放送番組データ/ビデオデータの再生)を制御するための操作ボタン群も含まれている。
コンピュータ本体2の例えば右側面には、TV放送用のアンテナ端子10Aが設けられている。また、コンピュータ本体2の例えば背面には、例えばHDMI(high-definition multimedia interface)規格に対応した外部ディスプレイ接続端子が設けられている。この外部ディスプレイ接続端子は、放送番組データのような映像コンテンツデータに含まれる映像データ(動画像データ)を外部ディスプレイに出力するために用いられる。
図2は、パーソナルコンピュータ1のシステム構成を示す図である。
パーソナルコンピュータ1は、図2に示すように、CPU11、ノースブリッジ12、主メモリ13、表示コントローラ14、ビデオメモリ(VRAM)14A、3Dディスプレイ15、サウスブリッジ16、サウンドコントローラ17、スピーカ18A,18B、BIOS−ROM19、LANコントローラ20、ハードディスクドライブ(HDD)21、光ディスクドライブ(ODD)22、無線LANコントローラ23、USBコントローラ24、エンベデッドコントローラ/キーボードコントローラ(EC/KBC)25、キーボード(KB)26、ポインティングデバイス27、TVチューナ10等を備えている。
CPU11は、パーソナルコンピュータ1の動作を制御するプロセッサである。CPU11は、HDD21から主メモリ13にロードされる、オペレーティングシステム(OS)13A、及び映像コンテンツ再生プログラム13B等のようなアプリケーションプログラムを実行する。映像コンテンツ再生プログラム13Bは、映像コンテンツデータを視聴するための機能を有するソフトウェアである。この映像コンテンツ再生プログラム13Bは、TVチューナ10によって受信された放送番組データを視聴するためのライブ再生処理、受信された放送番組データをHDD21に記録する録画処理、HDD21に記録された放送番組データ/ビデオデータを再生する再生処理、ネットワークを介して受信された映像コンテンツデータを再生する再生処理等を実行する。また、映像コンテンツ再生プログラム13Bは、DVDのような記憶メディアやハードディスクのような記憶装置に格納された映像コンテンツデータを再生することもできる。
さらに、映像コンテンツ再生プログラム13Bは、三次元映像を再生するための機能も有する。映像コンテンツ再生プログラム13Bは、映像コンテンツデータに含まれる二次元映像を三次元映像にリアルタイムで変換して画面(3Dディスプレイの画面)15上に表示する。映像コンテンツ再生プログラム13Bは、様々な映像コンテンツデータ(たとえば、放送番組データ、記憶メディアや記憶装置に格納されたビデオデータ、インターネット上のサーバから受信したビデオデータ、等)を2D−3D変換することができる。
三次元映像の表示には、裸眼立体視方式(例えば、インテグラルイメージング方式、レンチキュラ方式、パララックスバリア方式等)による3Dディスプレイ15が用いられる。ユーザは、裸眼立体視方式による3Dディスプレイ15に表示された映像を見ることにより、三次元映像を裸眼で知覚することができる。
また、映像コンテンツ再生プログラム13Bは、三次元映像を再生している時に発生した、三次元映像を表示する領域の範囲を変更するイベントに応じて、三次元映像から二次元映像に表示を変更する表示制御機能を有する。領域の範囲を変更するイベントには、例えば領域の移動やサイズの変更などがある。
裸眼立体視方式による三次元映像を表示する領域は、例えばOS13Aの制御により矩形指定する。一般に、OS13Aにより設定される領域(ウィンドウ)は、ユーザの操作によって任意に移動やリサイズが可能となっている。本実施形態では、三次元映像を表示するためのウィンドウについても同様に移動やリサイズを可能とする。三次元映像を再生しているウィンドウを移動あるいはリサイズした場合、移動あるいはリサイズの変化に応じてリアルタイムで三次元映像を継続して表示するためには負担が大きい処理が必要となる。例えば、連続的に変化するウィンドウの位置やサイズに合わせた三次元映像を生成して、ウィンドウ内に三次元映像を表示させると共に、ウィンドウの位置やサイズに合わせてレンズユニット15Bを駆動させる必要がある。このため、ウィンドウの移動やリサイズをしている間に、三次元映像を表示するための処理が追随できずに正しく映像を表示できなくなる可能性がある。
そのため、映像コンテンツ再生プログラム13Bは、表示制御機能により、三次元映像を表示しているウィンドウの位置やサイズを変更するイベントが発生した場合に、ウィンドウの位置やサイズが変更されている間においては、三次元映像を二次元映像に変更して表示するように制御する。そして、ウィンドウの位置やサイズの変更が終了した時に、再び、三次元映像が表示させる。これにより、三次元映像を表示しているウィンドウの位置やサイズ変更がある場合であっても、継続してウィンドウ内で正しく映像を表示させると共に、ユーザにストレスを与えないようにできる。
また、CPU11は、BIOS−ROM19に格納されたBIOS(Basic Input/Output System)も実行する。BIOSは、ハードウェア制御のためのプログラムである。
ノースブリッジ12は、CPU11のローカルバスとサウスブリッジ16との間を接続するブリッジデバイスである。ノースブリッジ12には、主メモリ13をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ12は、表示コントローラ14との通信を実行する機能も有している。
表示コントローラ14は、パーソナルコンピュータ1のディスプレイとして使用されるLCD15Aを制御するデバイスである。この表示コントローラ14によって生成される表示信号はLCD15Aに送られる。LCD15Aは、表示信号に基づいて映像を表示する。
サウスブリッジ16は、PCI(Peripheral Component Interconnect)バス上及びLPC(Low Pin Count)バス上の各デバイスを制御する。また、サウスブリッジ16は、HDD21及びODD22を制御するためのIDE(Integrated Drive Electronics)コントローラ、及びBIOS−ROM19をアクセス制御するメモリコントローラが内蔵されている。さらに、サウスブリッジ16は、サウンドコントローラ17及びLANコントローラ20との通信を実行する機能も有している。
また、サウスブリッジ16は、映像コンテンツ再生プログラム13Bによる要求等に応じて、レンズユニット15B内の複数の領域がそれぞれ三次元映像表示モードと二次元映像表示モードのいずれか一方に設定されるように制御するための制御信号を、レンズユニット15Bに出力することができる。レンズユニット15Bは、サウスブリッジ16によって出力された制御信号に応じて、例えば、複数の領域それぞれに対応する液晶層内の部分の屈折率を変更することにより、その領域を三次元映像表示モードと二次元映像表示モードのいずれか一方に設定する。
サウンドコントローラ17は音源デバイスであり、再生対象のオーディオデータをスピーカ18A,18Bに出力する。LANコントローラ20は、例えばEthernet(登録商標)規格の有線通信を実行する有線通信デバイスであり、無線LANコントローラ23は、例えばIEEE802.11規格の無線通信を実行する無線通信デバイスである。また、USBコントローラ24は、例えばUSB2.0規格のケーブルを介して外部機器との通信を実行する。
EC/KBC25は、電力管理を行うためのエンベデッドコントローラと、キーボード(KB)26、及びポインティングデバイス27を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。このEC/KBC25は、ユーザの操作に応じてパーソナルコンピュータ1をパワーオン/パワーオフする機能を有している。
TVチューナ10はテレビジョン(TV)放送信号によって放送される放送番組データを受信する受信装置であり、アンテナ端子10Aに接続されている。もちろん、TVチューナ10が内蔵アンテナを用いてTV放送信号を受信するようにしてもよい。このTVチューナ10は、例えば、地上波デジタルTV放送のようなデジタル放送番組データを受信可能なデジタルTVチューナとして実現されている。また、TVチューナ10は、外部機器から入力されるビデオデータをキャプチャする機能も有している。
図3は、映像コンテンツ再生プログラム13Bの機能構成の例を示すブロック図である。映像コンテンツ再生プログラム13Bは、映像コンテンツデータ30を三次元映像又は二次元映像として再生するための映像再生機能を有する。また。映像コンテンツ再生プログラム13Bは、三次元映像を再生している時に発生した、三次元映像を表示する領域の範囲を変更するイベントに応じて、三次元映像から二次元映像に表示を変更する表示制御機能を有する。
映像コンテンツ再生プログラム13Bは、映像リード部31、映像処理部32、映像表示部33、2D/3D切替部34、イベント検出部35(領域座標入力部36、終了判別部37)、及び領域位置判別部38を備える。映像リード部31、映像処理部32、映像表示部33、及び2D/3D切替部34は、映像再生機能を実現する。映像処理部32、イベント検出部35、領域位置判別部38、及び2D/3D切替部34は、表示制御機能を実現する。以下では、映像再生機能のための構成と表示制御機能のための構成とを説明する。
まず、映像再生機能のための構成について説明する。
映像リード部31は、例えば、DVDのような記憶メディアやHDD21のような記憶装置から、映像コンテンツデータ30を読み出す。なお、映像リード部31は、TVチューナ30やLANコントローラ20,23等を介して、映像コンテンツデータ30を受信してもよい。映像コンテンツデータ30は、二次元映像を表示するための二次元映像データ、又は三次元映像を表示するための三次元映像データを含む。これら映像データは、例えば、圧縮符号化された映像データ(例えば、MPEG(Moving Picture Experts Group)方式)である。その場合、映像データは復号して用いられる。また、映像コンテンツデータ30は、各種のメタデータを含んでもよい。映像リード部31は、読み出した(受信した)映像コンテンツデータ30を映像処理部32に出力する。
なお、映像コンテンツデータ30に含まれる三次元映像データには、三次元映像用の左眼用映像データと右眼用映像データが含まれる。三次元映像データのデータ構造には、例えば、1つのフレーム内に左眼用映像データと右眼用映像データとを左右に配置したサイドバイサイド形式と、1つのフレーム内に左眼用映像データと右眼用映像データとを上下に配置したトップアンドボトム形式があるものとする。
映像処理部32は、映像リード部31によって出力された映像コンテンツデータ30を用いて、映像データを生成する。具体的には、映像処理部32は、まず、映像が二次元映像表示モードと三次元映像表示モードのいずれで表示されるかを決定する。映像処理部32は、例えば、映像コンテンツデータ30に三次元映像データが含まれるとき、映像を三次元映像表示モードで表示することを決定する。また、映像処理部32は、例えば、ユーザによって指定された表示モードで映像を表示することを決定する。ユーザは、例えば、二次元映像表示モードと三次元映像表示モードのいずれかを選択するためのボタンを含む操作画面を用いて、映像表示モードを選択する。
映像処理部32は、三次元映像表示モードで映像を表示することが決定され、且つ映像コンテンツデータ30に三次元映像データが含まれるとき、その三次元映像データを用いて、左眼用映像データと右眼用映像データとを生成する。映像処理部32は、2D/3D切替部34に、3Dディスプレイ15内の映像表示領域を三次元映像表示モードに設定することを要求する。より具体的には、映像処理部32は、映像表示領域(表示ウィンドウ)の範囲を示す情報(例えば、矩形の左上頂点と右下頂点の座標情報等)と、指定した領域(すなわち、映像表示領域)を三次元映像表示モードに設定することを示す情報とを2D/3D切替部34に出力する。映像表示領域は、例えば、映像コンテンツデータ30に基づく映像を表示するためのウィンドウ領域である。そして、映像処理部32は、映像表示領域(表示ウィンドウ)の範囲を示す座標情報と、生成した左眼用映像データと右眼用映像データとを映像表示部33に出力する。なお、映像表示領域(表示ウィンドウ)がLCD15Aの表示範囲に収まらない位置にある場合、すなわち映像表示領域の一部のみが表示される位置にある場合には、表示可能な範囲を示す座標情報が映像表示部33に出力される。
また、映像処理部32は、三次元映像表示モードで映像を表示することが決定され、且つ映像コンテンツデータ30に二次元映像データが含まれるとき、その二次元映像データに2Dto3D変換を施す。2Dto3D変換により、二次元映像内の各画像フレームに含まれる複数の画素に対応する複数の奥行き値が推定され、両眼視差や観視距離等を考慮して、推定された複数の奥行き値に対応する複数の視差が算出される。つまり、画像フレームに含まれる複数の画素に対応する複数の視差が算出される。映像処理部32は、算出された視差に基づいて、左眼用映像データと右眼用映像データとを生成する。映像処理部32は、2D/3D切替部34に、3Dディスプレイ15内の映像表示領域を三次元映像表示モードに設定することを要求する。そして、映像処理部32は、生成した左眼用映像データと右眼用映像データとを映像表示部33に出力する。
さらに、映像処理部32は、二次元映像表示モードで映像を表示することが決定され、且つ映像コンテンツデータ30に二次元映像データが含まれるとき、2D/3D切替部34に、3Dディスプレイ15内の映像表示領域を二次元映像表示モードに設定することを要求する。そして、映像処理部32は、二次元映像データを映像表示部33に出力する。
2D/3D切替部34は、映像処理部32による要求に応じて、映像表示領域の映像表示モードを切り替える。具体的には、2D/3D切替部34は、映像処理部32によって出力された情報に基づいて、指定された領域を指定された映像表示モードに設定する。例えば、映像処理部32によって映像表示領域を三次元映像表示モードに設定することが要求され、且つ映像表示領域が二次元映像表示モードに設定されているとき、2D/3D切替部34は、映像表示領域を二次元映像表示モードから三次元映像表示モードに切り替える。また、映像処理部32によって二次元映像表示モードに設定することが要求され、且つ映像表示領域が三次元映像表示モードに設定されているとき、2D/3D切替部34は、映像表示領域を三次元映像表示モードから二次元映像表示モードに切り替える。三次元映像表示モードでは、レンズユニット15B内の映像表示領域に対応する部分が、三次元映像表示に必要なレンズ機能(屈折率)を有するように制御される。二次元映像表示モードでは、レンズユニット15B内の映像表示領域に対応する部分が、二次元映像表示に必要なレンズ機能を有するように(すなわち、二次元映像が偏光されることなくそのまま表示されるように)制御される。
映像表示部33は、LCD15A内の映像表示領域に映像を表示する。具体的には、映像処理部32によって左眼用映像データと右眼用映像データとが出力されているとき、映像表示部33は、それら左眼用映像データと右眼用映像データとを用いて、左眼用映像と右眼用映像とをLCD15A内の映像表示領域に表示する。具体的には、映像表示部33は、三次元映像データがサイドバイサイド形式である場合、1つのフレームを左右に分割する中心線の左側にある左眼用映像データと右側にある右眼用映像データとを抽出し、それぞれのデータを合成して1フレームで左眼用映像と右眼用映像を表示するための三次元映像用の表示データを生成する。LCD15Aは、映像表示部33により生成された三次元映像用の表示データをもとに映像を表示する。
なお、映像表示領域(表示ウィンドウ)がLCD15Aの表示範囲に収まらない位置にある場合、すなわち映像表示領域の一部のみが表示される位置にある場合には、表示可能な範囲を示す座標情報が映像表示部33に出力される。この場合、座標情報に対応する、映像表示領域の一部に対応する三次元映像データを用いて三次元映像用の表示データを生成することになる。すなわち、三次元映像データの一部のみを用いて三次元映像用の表示データを生成することになるため、本来の三次元映像とは異なる崩れた映像を表示してしまう。そこで、本実施形態の映像コンテンツ再生プログラム13Bでは、映像表示領域の全体がLCD15Aの表示範囲に収まらない位置にある場合には、強制的に映像処理部32によって二次元映像表示モードに切り替えて二次元映像が表示されるようにする。これにより、映像表示領域に表示される映像が崩れないようにすることができる。
映像表示部33は、映像処理部32によって二次元映像データが出力されているとき、二次元映像データを用いて、二次元映像をLCD15A内の映像表示領域に表示する。
以上の映像再生機能のための構成により、ユーザは、3Dディスプレイ15(映像表示領域)に表示された三次元映像又は二次元映像を観賞することができる。なお、3Dディスプレイ15に三次元映像が表示されるとき、LCD15A内の映像表示領域に表示された左眼用映像と右眼用映像とは、レンズユニット15B内の映像表示領域に対応する部分によって各画素の射出方向が制御される。これによりユーザは、映像を裸眼で立体的に知覚することができる。
次いで、表示制御機能のための構成について説明する。
イベント検出部35は、映像表示領域(表示ウィンドウ)の範囲を変更するイベント、例えば映像表示領域の位置を移動するイベントや映像表示領域のサイズを変更するイベントの発生を検出する。すなわち、イベント検出部35は、映像表示領域の移動/サイズ変更のイベントの発生に伴って、変更後の映像表示領域の範囲を示す座標情報(領域座標)をOS13Aから入力する。イベント検出部35の領域座標入力部36は、映像表示領域の範囲を変更する処理が行われている間、例えば一定時間毎に変更後の座標情報をOS13Aから取得する。終了判別部37は、イベントが発生した後、領域座標入力部36によって一定時間が経過しても座標情報が入力されない場合に、映像表示領域の移動/サイズ変更が終了したことを判別する。なお、終了判別部37は、例えば、映像表示領域の移動/サイズ変更の処理の開始と終了がOS13Aから通知される場合には、この通知に基づいて終了を判別することも可能である。
イベント検出部35は、映像表示領域の移動/サイズ変更のイベント発生に応じて、映像表示領域の範囲を変更する処理が行われている間、例えば一定時間毎に変更後の座標情報を映像処理部32に通知する。映像処理部32は、イベント検出部35からの通知に応じて、移動/サイズ変更の対象となっている映像表示領域を三次元映像表示モードに設定している場合には、二次元映像表示モードに切り替えて二次元映像を表示させる。すなわち、映像処理部32は、2D/3D切替部34に対して、変更後の映像表示領域の範囲を示す座標情報(領域座標)を通知すると共に、映像表示領域を二次元映像表示モードに設定することを要求する。
領域位置判別部38は、映像表示領域の範囲の変更がしたことが終了判別部37により判別された場合に、変更後の映像表示領域の全体がLCD15Aの表示範囲に含まれているかを判別する。映像表示領域の全体がLCD15Aの表示範囲に含まれないと判別した場合、領域位置判別部38は、映像処理部32に通知して、映像表示領域に二次元映像を表示させる。
次に、図4のフローチャートを参照して、映像再生処理の手順の例について説明する。映像コンテンツ再生プログラム13Bは、映像コンテンツデータ30を用いて、三次元映像又は二次元映像を映像表示領域に表示する。
まず、映像リード部31は、例えばHDD21のような記憶装置から映像コンテンツデータ30を読み出す(ブロックB101)。映像コンテンツデータ30は、二次元映像データ又は三次元映像データを含む。映像リード部31は、読み出された映像コンテンツデータ30を映像処理部32に出力する。
次いで、映像処理部32は、映像リード部31によって出力された映像コンテンツデータ30が三次元映像として再生されるか否かを判定する(ブロックB102)。例えば映像コンテンツデータ30が三次元映像データを含むとき、映像処理部32は映像コンテンツデータ30が三次元映像として再生されると判定する。また、例えばユーザによって映像コンテンツデータ30を三次元映像として再生することが指示されているとき、映像処理部32は、映像コンテンツデータ30が三次元映像として再生されると判定する。
映像コンテンツデータ30が三次元映像として再生されると判定されたとき(ブロックB102のYES)、映像処理部32は、現在の映像表示領域の全体が、LCD15Aの表示範囲に含まれているかを判別する(ブロックB103)。
映像表示領域の全体がLCD15Aの表示範囲に含まれていると判定されたとき(ブロックB104のYES)、映像処理部32は、映像コンテンツデータ30を用いて左眼用映像データと右眼用映像データとを生成する(ブロックB105)。具体的には、映像コンテンツデータ30が三次元映像データを含む場合、映像処理部32は、その三次元映像データを用いて左眼用映像データと右眼用映像データとを生成する。また、映像コンテンツデータ30が二次元映像データを含む場合、映像処理部32は、その二次元映像データに2Dto3D変換を施すことにより、左眼用映像データと右眼用映像データとを生成する。
そして、2D/3D切替部34は、左眼用映像データと右眼用映像データとが表示される映像表示領域が三次元映像表示モードに設定されているか否かを判定する(ブロックB106)。映像表示領域が三次元映像表示モードに設定されているとき(ブロックB106のYES)、映像表示部33は、左眼用映像データと右眼用映像データとを用いて、映像表示領域に左眼用映像と右眼用映像とを表示する(ブロックB108)。
また、映像表示領域が三次元映像表示モードに設定されていないとき(ブロックB106のNO)、すなわち、二次元映像表示モードに設定されているとき、2D/3D切替部34は、映像表示領域(映像表示領域に対応するレンズユニット15B内の部分)を二次元映像表示モードから三次元映像表示モードに切り替える(ブロックB107)。そして、映像表示部33は、左眼用映像データと右眼用映像データとを用いて、映像表示領域に左眼用映像と右眼用映像とを表示する(ブロックB108)。
一方、映像表示領域の全体がLCD15Aの表示範囲に含まれていないと判定されたとき(ブロックB104のNO)、映像処理部32は、 映像コンテンツデータ30が三次元映像データを含むとき、あるいはユーザによって映像コンテンツデータ30を三次元映像として再生することが指示されているときであっても、次のようにして映像表示領域に二次元映像を表示する。
すなわち、映像処理部32は、映像コンテンツデータ30を用いて二次元映像データを生成する(ブロックB109)。映像コンテンツデータ30に三次元映像データが含まれる場合には、例えば左眼用映像データあるいは右眼用映像データの何れか一方を用いて二次元映像データを生成する。そして、2D/3D切替部34は、映像表示領域が二次元映像表示モードに設定されているか否かを判定する(ブロックB110)。映像表示領域が二次元映像表示モードに設定されているとき(ブロックB110のYES)、映像表示部33は、二次元映像データを用いて、映像表示領域に二次元映像を表示する(ブロックB111)。
また、映像表示領域が二次元映像表示モードに設定されていないとき(ブロックB110のNO)、すなわち、三次元映像表示モードに設定されているとき、2D/3D切替部34は、映像表示領域を三次元映像表示モードから二次元映像表示モードに切り替える(ブロックB111)。そして、映像表示部33は、二次元映像データを用いて、映像表示領域に二次元映像を表示する(ブロックB112)。
こうして、映像表示領域の全体がLCD15Aの表示範囲に含まれない場合には、映像表示領域を二次元映像表示モードに設定して二次元映像を表示することにより、表示が崩れないようにすることができる。
なお、映像コンテンツデータ30が三次元映像として再生されないと判定されたとき(ブロックB102のNO)には、前述と同様にして、映像表示領域に二次元映像を表示する(ブロックB109〜B112)。
以上の処理により、映像コンテンツデータ30を用いて、映像表示領域40に二次元映像又は三次元映像が表示される。映像コンテンツデータ30は、フレーム毎に順次再生される。
次に、図5のフローチャートを参照して、映像表示領域移動処理の手順の例について説明する。図6、図7、図8、及び図9は、映像表示領域移動処理を説明するためのLCD15Aにおける画面例を示す図である。
図6に示す画面例は、画面151の一部領域に映像を表示するための映像表示領域40aが設定された例を示している。映像表示領域40aは、三次元映像を表示する三次元映像表示モードと二次元映像を表示する二次元映像表示モードのいずれかに設定することができる。映像表示領域40a以外の領域では、二次元映像(二次元画像)が表示される。
また、画面151には、ユーザによるポインティングデバイス27(タブレット、マウス等)の操作によって移動するポインタ42が表示されている。映像表示領域40aの位置は、映像表示領域40aに付加された所定の領域(例えば、タイトルバー41a)にポインタ42を合わせて、ドラッグ操作することにより移動させることができる。
ここでは、映像表示領域40aに三次元映像表示モードが設定され、三次元映像が表示されている状態にあるものとする。ユーザによるポインティングデバイス27の操作によって映像表示領域40aの移動が指示されると、OS13Aは、映像表示領域40aの表示位置を変更させる。また、映像コンテンツ再生プログラム13Bの領域座標入力部36は、映像表示領域40aの移動に伴って、映像表示領域40aの範囲を示す座標情報をOS13Aから取得する。
イベント検出部35は、領域座標入力部36による座標情報の取得によって、映像表示領域40aの移動を検出すると(ブロックB201のYES)、映像処理部32に映像表示領域40aの移動イベントの発生と座標情報を通知する。
映像処理部32は、イベント検出部35からの通知に応じて、2D/3D切替部34に対して、映像表示領域40aについての三次元領域指定の無効化を指示する(ブロックB202)。2D/3D切替部34は、映像処理部32からの指示に応じて、レンズユニット15Bの映像表示領域40aに対応する領域を二次元映像表示モードに切り替える。
イベント検出部35は、映像表示領域40aの移動が行われている間、例えば一定時間毎に変更後の座標情報をOS13Aから取得して映像処理部32に通知する。映像処理部32は、二次元映像データを生成して映像表示部33に出力すると共に、一定時間毎に入力される座標情報を映像表示部33に出力する(ブロックB203)。従って、映像表示部33は、図7に示すように、移動されている間の映像表示領域40bに二次元映像を表示させることができる。
図7は、映像表示領域40aが移動されている間の画面例を示している。図7に示すように、ポインタ42を移動させる操作に伴って映像表示領域40a及びタイトルバー41bの移動が開始されると、移動されている間の映像表示領域40bには二次元映像が表示される。
イベント検出部35の終了判別部37は、映像表示領域40b及びタイトルバー41bの移動が停止されたことを判別すると(ブロックB204のYES)、映像処理部32と領域位置判別部38に通知する。領域位置判別部38は、移動後の映像表示領域の位置がLCD15Aの表示範囲に含まれているか判別する(ブロックB205)。
例えば、図8に示すように、ポインタ42を移動させる操作に伴って映像表示領域40c及びタイトルバー41cが移動され、映像表示領域40cの全体が画面151に表示される位置で移動が終了された場合には、領域位置判別部38により移動後の映像表示領域の位置がLCD15Aの表示範囲に含まれていると判別される(ブロックB206のYes)。
この場合、映像処理部32は、領域位置判別部38からの通知に応じて三次元映像データを生成して映像表示部33に出力すると共に、移動後の映像表示領域40cの座標情報を映像表示部33に出力する(ブロックB207)。また、映像処理部32は、2D/3D切替部34に対して、映像表示領域40cについての三次元領域指定の有効化を指示する。2D/3D切替部34は、映像処理部32からの指示に応じて、レンズユニット15Bの映像表示領域40cに対応する領域を三次元映像表示モードに切り替える(ブロックB208)。従って、像表示部33は、図8に示すように、移動後の映像表示領域40cに三次元映像を表示させることができる。
一方、図9に示すように、ポインタ42を移動させる操作に伴って映像表示領域40d及びタイトルバー41dが移動され、映像表示領域40dの全体が画面151に表示されない位置で移動が終了された場合には、領域位置判別部38により移動後の映像表示領域40dの位置がLCD15Aの表示範囲に含まれていないと判別される(ブロックB206のNO)。この場合、領域位置判別部38は、映像処理部32に対して、映像表示領域40dがLCD15Aの表示範囲からはみ出していることを通知する。映像処理部32は、映像表示領域40dを二次元映像表示モードにしたままにして、映像表示部33によって二次元映像を映像表示領域40dに表示させる。映像表示部33は、表示可能な範囲を示す座標情報を映像処理部32から入力し、この範囲に該当する二次元映像データを用いて、映像表示領域40dに二次元映像を表示させる。
このようにして、三次元映像を表示させている映像表示領域40aの位置が移動される場合、映像表示領域40aが二次元映像表示モードに切り替えられ、移動されている間の映像表示領域40bには二次元映像が表示される。二次元映像を表示させる場合には、レンズユニット15Bの駆動や三次元映像データの生成など、負荷の大きい処理が不要であるため、映像表示領域40b内で表示される映像が崩れてしまうことがない。すなわち、移動中の映像表示領域40bにおいて正しい映像を継続して表示することが可能となる。
なお、前述した説明では、図9に示すように、映像表示領域40dの全体が画面151に含まれない場合には、二次元映像表示モードのままで二次元映像を表示させるとしているが、三次元映像データのデータ構造と、映像表示領域が画面151からはみ出た位置に基づいて、映像表示領域を二次元映像表示モードまたは三次元映像表示モードの何れに設定するかを判別するようにしても良い。
図10は、1つのフレーム50内に左眼用映像データ51と右眼用映像データ52とを左右に配置したサイドバイサイド形式の三次元映像データのデータ構造を示している。
このデータ構造の場合、図10に示すように、1つのフレームを左右に分割する中心線53の左側にある左眼用映像データ51と右側にある右眼用映像データ52とを抽出し、それぞれのデータを合成して1フレームで左眼用映像と右眼用映像を表示するための三次元映像用の表示データ54を生成する。LCD15Aは、映像表示部33により生成された三次元映像用の表示データ54をもとに三次元映像を表示する。
この場合、図11に示すように、映像表示領域40eが画面151の右辺からはみ出している場合、映像処理部32は、映像表示領域40fの表示可能な範囲を示す座標情報(P1,P2)を映像表示部33に出力する。映像処理部32が映像表示部33に対して、図10に示すサイドバイサイド形式の三次元映像データを出力すると、表示可能な範囲に対応するデータを対象として三次元映像用の表示データ54を生成して表示する。すなわち、本来の中心線53とは異なる、表示可能な範囲に対応するデータの中心線55をもとにして三次元映像用の表示データ54を生成して表示する。この場合、正しい三次元映像を表示することができなくなるため、前述したように、映像表示領域40eでは二次元映像表示モードにして二次元映像を表示させる。なお、画面151の左辺から映像表示領域40eがはみ出した場合も同じである。
これに対して、図11に示すように、映像表示領域40fが画面151の上辺からはみ出している場合、映像処理部32は、映像表示領域40eの表示可能な範囲を示す座標情報(P3,P4)を映像表示部33に出力する。この場合、表示可能な範囲に対応するデータの中心線53をもとにして三次元映像用の表示データ54を生成して表示する。すなわち、表示可能な範囲に対応する左眼用映像データ51と右眼用映像データ52をもとにして三次元映像用の表示データ54を生成するため、映像表示領域40f中の表示可能な範囲(P3,P4)では正しい三次元映像を表示することができる。なお、画面151の下辺から映像表示領域40fがはみ出した場合も同じである。
従って、領域位置判別部38は、三次元映像データのデータ構造がサイドバイサイド形式である場合には、画面151の左辺あるいは右辺から映像表示領域40eがはみ出していることを判別すると映像処理部32に通知し、映像表示領域40eを二次元映像表示モードにさせる。一方、領域位置判別部38は、画面151の上辺あるいは下辺から映像表示領域40eがはみ出していることを判別した場合であっても、映像処理部32に映像表示領域40eがはみ出していることを通知しない。従って、映像表示領域40fが三次元映像表示モードのままとなり継続して三次元映像を表示させることができる。
同様にして、三次元映像データのデータ構造が、1つのフレーム内に左眼用映像データと右眼用映像データとを上下に配置したトップアンドボトム形式である場合には、画面151の上辺あるいは下辺から映像表示領域40fがはみ出している場合には、映像表示領域40fを二次元映像表示モードにし、画面151の右辺あるいは左辺から映像表示領域40eがはみ出している場合には、映像表示領域40eを三次元映像表示モードのままにする。
このようにして、三次元映像データのデータ構造と、映像表示領域が画面151からはみ出た位置に基づいて、映像表示領域を二次元映像表示モードと三次元映像表示モードの何れにするか決定することで、画面151からはみ出る位置に映像表示領域が移動された場合であっても可能な限り三次元映像の表示を継続することができる。
次に、図12のフローチャートを参照して、映像表示領域サイズ変更処理の手順の例について説明する。図13、図14、及び図15は、映像表示領域サイズ変更処理を説明するためのLCD15Aにおける画面例を示す図である。
図13に示す画面例は、図6と同様にして、画面151の一部領域に映像を表示するための映像表示領域40aが設定された例を示している。映像表示領域40aの所定の位置、例えば映像表示領域40aの4隅あるいは辺上にポインタ42を合わせた場合に、映像表示領域40aのサイズを変更するモードに移行したことを示すポインタ43に変更される。映像表示領域40aのサイズは、ポインタ43をドラッグ操作することにより変更することができる。
なお、映像表示領域サイズ変更処理は、前述した映像表示領域移動処理(図5)と基本的に同様にして実行されるものとして、詳細な説明を省略する。すなわち、図5に示すブロックB201〜B208の処理と、図12に示すブロックB301〜B308の処理とがそれぞれ対応している。
映像表示領域サイズ変更処理では、図14に示すように、映像表示領域40gのサイズが変更されている間、映像表示領域40gを二次元映像表示モードに切り替えて二次元映像を表示させる。そして、サイズ変更の処理が終了した場合、図15に示すように、サイズ変更後の映像表示領域40hを三次元映像表示モードに切り替えて三次元映像を表示させる。
なお、前述した説明では、ポインタ42,43の操作によって映像表示領域40aの範囲の変更する場合を例にしているが、その他の操作によって映像表示領域40aの範囲の変更する場合においても同様の処理を実行することができる。
例えば、キーボード26に対する所定の操作、あるいはタイトルバー41aに設けられたボタン(最大化ボタン、最小化ボタン)の操作によって、映像表示領域40aを画面151の全体まで広げる最大化、あるいは映像表示領域40aを閉じてタスクバーに収める最小化することが可能である。また、タスクバーに収められた映像表示領域40aを選択する操作により、元の範囲に映像表示領域40aを表示させることができる。
イベント検出部35は、映像表示領域40aを最大化/最小化させるイベント、あるいはタスクバーに収められた映像表示領域40aを元の範囲に戻すイベントを検出して、前述したように、映像表示領域40aを変更する処理が行われている間、映像表示領域40aを二次元映像表示モードに切り替えて二次元映像を表示させる。
特に、最大化/最小化させるイベントに応じて、映像表示領域40aのサイズの変化をユーザが認識できるように映像表示領域40aのサイズを段階的に変化させる場合に、変化している間の映像表示領域40aに二次元映像を表示させることにより映像が崩れるのを防ぐことができる。
なお、最大化/最小化させるイベント以外にも、映像表示領域40aの範囲を変化させる他のイベントについても同様に対応することが可能である。
このようにして、三次元映像を表示させている映像表示領域40aのサイズが変更される場合、映像表示領域40aが二次元映像表示モードに切り替えられ、サイズ変更されている間の映像表示領域40gには二次元映像が表示される。二次元映像を表示させる場合には、レンズユニット15Bの駆動や三次元映像データの生成など、負荷の大きい処理が不要であるため、映像表示領域40g内で表示される映像が崩れてしまうことがない。すなわち、移動中の映像表示領域40gにおいて正しい映像を継続して表示することが可能となる。
なお、前述した説明では、3Dディスプレイ15に設定された領域(表示ウィンドウ)に映像を表示させる場合について説明しているが、三次元静止画像を表示する場合についても同様の処理を実行することが可能である。
また、前述した説明では、左眼用映像データと右眼用映像データとを用いた2視差の三次元映像を表示する3Dディスプレイ15を対象として説明しているが、2視差より多い三次元映像を表示するディスプレイを対象とすることも可能である。
また、本実施形態の映像再生処理及び表示制御処理の手順は全てソフトウェアによって実行することができる。このため、映像再生処理及び表示制御処理の手順を実行する映像コンテンツ再生プログラム13Bを格納したコンピュータ読み取り可能な記憶媒体を通じてこのプログラムを通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。コンピュータ読み取り可能な記憶媒体には、例えば磁気ディスク(フレキシブルディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリなどがある。また、通信媒体により伝送してコンピュータにプログラムを提供することも可能である。
また、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。