(57)【要約】【課題】従来よりも大きな臨場感を実現することができる３Ｄコンテンツ表示装置および３Ｄコンテンツ表示方法を提供する。【解決手段】３Ｄコンテンツ表示装置１００（２００）は、第１の画面に３Ｄコンテンツを３Ｄで表示するための第１の出力装置１３１（２３１）と、第１の出力装置１３１（２３１）に第１の画面に３Ｄコンテンツを３Ｄで表示させるとともに、第１の画面とは異なる第２の画面に、３Ｄコンテンツに対応する影の映像を出力するためのプロセッサ１１０（２１０）とを備える。【選択図】図２
2012105200.tif 000002
【特許請求の範囲】
【請求項１】
第１の画面に３Ｄコンテンツを３Ｄで表示するための第１の出力装置と、
前記第１の出力装置に第１の画面に前記３Ｄコンテンツを３Ｄで表示させるとともに、前記第１の画面とは異なる第２の画面に、前記３Ｄコンテンツに対応する影の映像を出力するためのプロセッサとを備える、３Ｄコンテンツ表示装置。
【請求項２】
前記第１の出力装置は、前記第１の画面を有する第１のディスプレイである、請求項１に記載の３Ｄコンテンツ表示装置。
【請求項３】
前記第１の出力装置は、前記第１の画面に前記３Ｄコンテンツを出力する第１のプロジェクタである、請求項１に記載の３Ｄコンテンツ表示装置。
【請求項４】
前記第２の画面を有する第２のディスプレイをさらに備える、請求項１から３のいずれかに記載の３Ｄコンテンツ表示装置。
【請求項５】
前記第１の画面と前記第２の画面との位置関係を検出するための第１のセンサをさらに備え、
前記プロセッサは、前記第１の画面に表示される前記３Ｄコンテンツと、仮想光源の位置と、前記位置関係と、に基づいて、前記３Ｄコンテンツの前記影の映像を計算する、請求項１から４のいずれかに記載の３Ｄコンテンツ表示装置。
【請求項６】
前記プロセッサは、通信インターフェイスを介して、前記影の映像を第２のプロジェクタに表示させる、請求項１から３のいずれかに記載の３Ｄコンテンツ表示装置。
【請求項７】
前記第１の画面と前記第２のプロジェクタとの位置関係を検出する第２のセンサをさらに備え、
前記プロセッサは、前記第１の画面に表示される前記３Ｄコンテンツと、仮想光源の位置と、前記位置関係と、に基づいて、前記３Ｄコンテンツの前記影の映像を計算する、請求項６に記載の３Ｄコンテンツ表示装置。
【請求項８】
前記第１の出力装置の姿勢を検出する姿勢センサをさらに備え、
前記プロセッサは、前記第１の出力装置の姿勢に基づいて、前記影の映像を計算する、請求項１から７のいずれかに記載の３Ｄコンテンツ表示装置。
【請求項９】
第１の出力装置とプロセッサとを含む３Ｄコンテンツ表示装置における３Ｄコンテンツ表示方法であって、
前記プロセッサが、３Ｄコンテンツを取得するステップと、
前記プロセッサが、前記３Ｄコンテンツの影の映像を計算するステップと、
前記プロセッサが、前記第１の出力装置に第１の画面に前記３Ｄコンテンツを３Ｄで表示させるとともに、前記第１の画面とは異なる第２の画面に、前記３Ｄコンテンツに対応する影の映像を出力するステップとを備える、３Ｄコンテンツ表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、静止画像や動画像などの３Ｄのコンテンツを表示するための３Ｄコンテンツ表示装置および３Ｄコンテンツ表示方法に関する。
【背景技術】
【０００２】
３Ｄの静止画像や３Ｄの動画像を立体的に表示することが可能な３Ｄコンテンツ表示装置が知られている。
【０００３】
たとえば、特開２０１０−３２６０号公報（特許文献１）には、地図表示装置が開示されている。特開２０１０−３２６０号公報（特許文献１）によると、地図表示装置は、表示画面が設けられている蓋体と、蓋体と回動可能に接続されている本体とを備えており、本体に対して表示画面が成す画面角度（相対角度）を角度検出部より取得し、取得した画面角度に基づいて、３Ｄオブジェクトが含まれる空間において、該３Ｄオブジェクトを捉える視点の角度である投影角度を、所定の角度算出規則にしたがって算出する投影角度算出部と、算出された投影角度に基づいて、上記３Ｄオブジェクトを投影し、上記表示画面に表示するための画面表示データを生成する３Ｄ描画部とを備えていることを特徴としている。
【０００４】
また、特開２００９−１８６２２８号公報（特許文献２）には、３次元計測装置が開示されている。特開２００９−１８６２２８号公報（特許文献２）によると、ステレオカメラからの左右映像上のエッジをエッジ抽出部で抽出し、等距離にある等で類似した複数のエッジをエッジグルーピング部でグループ化してエッジ集合を定義した上、２つの映像の対応領域を対応領域設定部で設定する。その領域内で対応領域相関部が、エッジ配列情報を抽出して比較を行い、類似度を演算して、その類似度の高いペアに対してサブピクセル単位の高精度な対応位置を求め、その結果から、距離計算部が距離を演算する。したがって、左右映像のエッジ集合同士の位置ズレをエッジ配置の類似性とともに評価することで、ロバストかつ精度良く求めることができるとともに、対応点探索処理を行う箇所を最小限にすることができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−３２６０号公報
【特許文献２】特開２００９−１８６２２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
３Ｄコンテンツ表示装置は、３Ｄ映像を表示することによって、視聴者がより大きな臨場感を得られることが求められている。
【０００７】
本発明は、かかる問題を解決するためになされたものであり、その目的は、従来よりも大きな臨場感を実現することができる３Ｄコンテンツ表示装置および３Ｄコンテンツ表示方法を提供することにある。
【課題を解決するための手段】
【０００８】
この発明のある局面に従うと、第１の画面に３Ｄコンテンツを３Ｄで表示するための第１の出力装置と、第１の出力装置に第１の画面に３Ｄコンテンツを３Ｄで表示させるとともに、第１の画面とは異なる第２の画面に、３Ｄコンテンツに対応する影の映像を出力するためのプロセッサとを備える、３Ｄコンテンツ表示装置が提供される。
【０００９】
好ましくは、第１の出力装置は、第１の画面を有する第１のディスプレイである。
好ましくは、第１の出力装置は、第１の画面に３Ｄコンテンツを出力する第１のプロジェクタである。
【００１０】
好ましくは、３Ｄコンテンツ表示装置は、第２の画面を有する第２のディスプレイをさらに備える。
【００１１】
好ましくは、３Ｄコンテンツ表示装置は、第１の画面と第２の画面との位置関係を検出するための第１のセンサをさらに備える。プロセッサは、第１の画面に表示される３Ｄコンテンツと、仮想光源の位置と、位置関係と、に基づいて、３Ｄコンテンツの影の映像を計算する。
【００１２】
好ましくは、プロセッサは、通信インターフェイスを介して、影の映像を第２のプロジェクタに表示させる。
【００１３】
好ましくは、３Ｄコンテンツ表示装置は、第１の画面と第２のプロジェクタとの位置関係を検出する第２のセンサをさらに備える。プロセッサは、第１の画面に表示される３Ｄコンテンツと、仮想光源の位置と、位置関係と、に基づいて、３Ｄコンテンツの影の映像を計算する。
【００１４】
好ましくは、３Ｄコンテンツ表示装置は、第１の出力装置の姿勢を検出する姿勢センサをさらに備える。プロセッサは、第１の出力装置の姿勢に基づいて、影の映像を計算する。
【００１５】
この発明の別の局面に従うと、第１の出力装置とプロセッサとを含む３Ｄコンテンツ表示装置における３Ｄコンテンツ表示方法が提供される。３Ｄコンテンツ表示方法は、プロセッサが、３Ｄコンテンツを取得するステップと、プロセッサが、３Ｄコンテンツの影の映像を計算するステップと、プロセッサが、第１の出力装置に第１の画面に３Ｄコンテンツを３Ｄで表示させるとともに、第１の画面とは異なる第２の画面に、３Ｄコンテンツに対応する影の映像を出力するステップとを備える。
【発明の効果】
【００１６】
以上のように、本発明によって、従来よりも大きな臨場感を実現することができる３Ｄコンテンツ表示装置および３Ｄコンテンツ表示方法が提供される。
【図面の簡単な説明】
【００１７】
【図１】本実施の形態に係るコンピュータ１００の外観を示すイメージ図である。
【図２】本実施の形態に係るコンピュータ１００のハードウェア構成を示すブロック図である。
【図３】本実施の形態に係るコンピュータ１００の機能構成を示すブロック図である。
【図４】本実施の形態に係るコンピュータ１００が仮想光源１０の位置に基づいて３Ｄ映像の影を表示することを示すイメージ図である。
【図５】仮想光源の位置に基づいて３Ｄオブジェクトを２Ｄディスプレイ１３２に射影する方法を示すイメージ図である。
【図６】３Ｄディスプレイ１３１（第１の筐体１０１）と２Ｄディスプレイ１３２（第２の筐体１０２）との角度が変化した状態を示すイメージ図である。
【図７】コンピュータ１００の位置と姿勢とが変化した状態を示すイメージ図である。
【図８】仮想光源に所定の体積を有する場合を示すイメージ図である。
【図９】仮想光源１２の明るさを変化させた状態を示すイメージ図である。
【図１０】２つの仮想光源１３Ａ，１３Ｂの位置を設定した状態を示すイメージ図である。
【図１１】仮想光源１４の色を変化させた状態を示すイメージ図である。
【図１２】本実施の形態に係るコンピュータ１００におけるコンテンツ表示処理の処理手順を示すフローチャートである。
【図１３】仮想光源の位置をプロジェクタ３００の位置に設定した場合のイメージ図である。
【図１４】仮想光源の位置をプロジェクタ３００の位置とは異なる位置に設定した場合のイメージ図である。
【図１５】本実施の形態に係るコンピュータ２００のハードウェア構成を示すブロック図である。
【図１６】本実施の形態に係るコンピュータ２００の機能構成を示すブロック図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
［実施の形態１］
本実施の形態においては、ノート型のパーソナルコンピュータ１００（以下では、単にコンピュータ１００という。）を「コンテンツ表示装置」の代表例として説明を行う。ただし、コンテンツ表示装置は、電子ノート、ゲーム機、ＰＮＤ（Personal  Navigation  Device）、ＰＤＡ（Personal  Data  Assistance）、電子辞書、電子ＢＯＯＫ、テレビ、モニター、ポータブルプレーヤなどのようなディスプレイを有する他の情報機器であってもよい。また、スクリーンや壁等に映像を投影するプロジェクタを有する他の情報機器であってもよい。
【００１９】
そして、本実施の形態に係るコンピュータ１００は、３Ｄの静止画像や３Ｄの動画像を３Ｄで表示することが可能な３Ｄディスプレイと、３Ｄの静止画像や３Ｄの動画像に対応する影を表示するための２Ｄディスプレイとを含む。ここで言うディスプレイは、たとえば、スクリーン等に映像を映し出す投影型のプロジェクタであってもよい。また、ここで言う２Ｄディスプレイとは、２Ｄでの表示が可能なディスプレイという位置づけであり、２Ｄディスプレイが３Ｄ表示機能を有していても良い。
【００２０】
より詳細には、後述する実施の形態２では、第２のディスプレイがプロジェクタである形態について説明する。実施の形態２と同様に、３Ｄディスプレイとして、３Ｄコンテンツを表示するプロジェクタを利用することも可能である。たとえば、映画館での利用やホームシアターでの利用のために、３Ｄディスプレイと２Ｄディスプレイとをプロジェクタによって実現することも可能である。この場合には、予め３Ｄコンテンツが表示される投影面と２Ｄの影の映像が表示される投影面との位置関係を、ユーザや管理人が予め設定しておくことができるため、後述する角度センサや姿勢センサは不要である。
【００２１】
現在、静止画像や動画像を３Ｄの表示で表示するための多数の方式が提案されている。たとえば、メガネを用いる方式として、液晶アクティブシャッターメガネ方式、カラーフィルタ方式および偏向板方式が挙げられる。また、メガネを用いない方式として、視差バリア方式およびレンチキュラー方式が挙げられる。本実施の形態に係る３Ｄの表示方式は、上記の方式に限定されるものではない。
【００２２】
＜コンピュータ１００の動作概要＞
以下では、本実施の形態に係るコンピュータ１００の動作概要について説明する。図１は、本実施の形態に係るコンピュータ１００の外観を示すイメージ図である。
【００２３】
図１を参照して、本実施の形態に係るコンピュータ１００は、第１の筐体１０１と、第１の筐体１０１とヒンジを介して接続される第２の筐体１０２とを含む。第１の筐体１０１は、コンテンツを３Ｄ表示することができる３Ｄディスプレイ１３１を有する。第２の筐体１０２は、コンテンツを２Ｄ表示することができる２Ｄディスプレイ１３２を有する。
【００２４】
３Ｄディスプレイ１３１は、後述するＣＰＵ（Central  Processing  Unit）１００（図２を参照。）からの信号に基づいて、複数のオブジェクトを３Ｄ表示する。換言すれば、オブジェクトが３Ｄ表示されている場合、本実施の形態に係るコンピュータ１００のユーザは、当該オブジェクトが３Ｄディスプレイ１３１から飛び出しているように見える。
【００２５】
２Ｄディスプレイ１３２は、３Ｄディスプレイ１３１における表示映像の飛び出し量（凹凸）に対応する影を表示する。たとえば、ＣＰＵ１１０は、３Ｄディスプレイ１３１における表示映像の各点における飛び出し量を計算する。ＣＰＵ１１０は、飛び出した部分を２Ｄディスプレイ１３２に射影した映像を射影データとして計算する。ＣＰＵ１１０は、射影データに基づいて、２Ｄディスプレイ１３２に３Ｄコンテンツの影を表示させる。
【００２６】
以上のように、本実施の形態に係るコンピュータ１００は、３Ｄディスプレイ１３１に３Ｄ表示される映像の凹凸に対応する影を２Ｄディスプレイ１３２に表示する。ユーザは、映像の飛び出しに応じた影が視界に入るため、従来よりも大きな臨場感が得られるようになる。
【００２７】
以下、このような機能を実現するためのコンピュータ１００の構成について詳述する。
＜コンピュータ１００のハードウェア構成＞
本実施の形態に係るコンピュータ１００のハードウェア構成について説明する。図２は、本実施の形態に係るコンピュータ１００のハードウェア構成を示すブロック図である。
【００２８】
図２に示すように、本実施の形態に係るコンピュータ１００は、ＣＰＵ１１０と、メモリ１２０と、３Ｄディスプレイ１３１と、２Ｄディスプレイ１３２と、入力デバイス１４０と、メモリインターフェイス１６０と、通信インターフェイス１７０と、角度センサ１８０と、位置姿勢センサ１９０とを含む。
【００２９】
３Ｄディスプレイ１３１は、ＣＰＵ１１０に制御されることによって、様々な情報を３Ｄで表示する。たとえば、ＣＰＵ１１０は、右目用の映像データと左目用の映像データとに基づいて、３Ｄディスプレイ１３１に映像を３Ｄで表示させる。ＣＰＵ１１０は、３Ｄの立体モデルを表わすデータに基づいて、右目用の映像データと左目用の映像データとを生成してもよい。
【００３０】
２Ｄディスプレイ１３２は、ＣＰＵ１１０によって制御されることによって、様々な情報を２Ｄで表示する。たとえば、ＣＰＵ１１０は、３Ｄディスプレイ１３１に表示されているオブジェクトの影を表す射影データを生成する。ＣＰＵ１１０は、２Ｄディスプレイ１３２に影の映像を表示させる。
【００３１】
入力デバイス１４０は、ユーザの指やスタイラスペンによるタッチ操作を検出するためのタブレットを含む。タブレットは、３Ｄディスプレイ１３１および／あるいは２Ｄディスプレイ１３２の表面に敷設される。入力デバイス１４０は、コンピュータ１００の表面に配置されるあるいは有線ないし無線で接続される、決定キーやテンキーやＱＷＥＲＴＹキーボード、ポインティングデバイス、音声や映像による入力を受け付ける認識デバイス等を含む。ＣＰＵ１１０は、入力デバイス１４０を介して、ユーザからの命令を受け付けることができる。
【００３２】
ＣＰＵ１１０は、メモリインターフェイス１６０を介して外部の記憶媒体１６１に格納されているデータを読み出して、当該データをメモリ１２０に格納する。逆に、ＣＰＵ１１０は、メモリ１２０からデータを読み出して、メモリインターフェイス１６０を介して当該データを外部の記憶媒体１６１に格納する。
【００３３】
なお、記憶媒体１６１としては、ＣＤ−ＲＯＭ（Compact  Disc  -  Read  Only  Memory）、ＤＶＤ−ＲＯＭ（Digital  Versatile  Disk  -  Read  Only  Memory）、Blu-ray Disc、ＵＳＢ（Universal  Serial  Bus）メモリ、メモリカード、ＦＤ（Flexible  Disk）、ハードディスク、磁気テープ、カセットテープ、ＭＯ（Magnetic  Optical  Disc）、ＭＤ（Mini  Disc）、ＩＣ（Integrated  Circuit）カード（メモリカードを除く）、光カード、マスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ（Electronically  Erasable  Programmable  Read-Only  Memory）などの、不揮発的にプログラムを格納する媒体が挙げられる。
【００３４】
通信インターフェイス１７０は、アンテナやコネクタによって実現される。通信インターフェイス１７０は、有線通信あるいは無線通信によって他の装置との間でデータをやり取りする。ＣＰＵ１１０は、通信インターフェイス１７０を介して、他の装置からプログラムや３Ｄコンテンツデータなどを受信したり、他の装置にデータを送信したりする。
【００３５】
角度センサ１８０は、第１の筐体１０１と第２の筐体１０２との間の角度を検出する。角度センサ１８０は、検出した角度をＣＰＵ１１０に入力する。
【００３６】
位置姿勢センサ１９０は、第１の筐体１０１の位置や姿勢を検出する。位置姿勢センサ１９０は、加速度センサ、角速度センサ、方位センサ、画像認識、ＧＰＳなどによって実現され、第１の筐体１０１の位置や姿勢を、ＣＰＵ１１０に入力する。
【００３７】
メモリ１２０は、各種のＲＡＭ（Random  Access  Memory）や、ＲＯＭ（Read-Only  Memory）や、ハードディスクなどによって実現される。あるいは、メモリ１２０は、読取用のインターフェイスを介して利用される、ＵＳＢ（Universal  Serial  Bus）メモリ、ＣＤ−ＲＯＭ（Compact  Disc  -  Read  Only  Memory）、ＤＶＤ−ＲＯＭ（Digital  Versatile  Disk  -  Read  Only  Memory）、Blu-ray Disc、ＵＳＢ（Universal  Serial  Bus）メモリ、メモリカード、ＦＤ（Flexible  Disk）、ハードディスク、磁気テープ、カセットテープ、ＭＯ（Magnetic  Optical  Disc）、ＭＤ（Mini  Disc）、ＩＣ（Integrated  Circuit）カード（メモリカードを除く）、光カード、マスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ（Electronically  Erasable  Programmable  Read-Only  Memory）などの、不揮発的にプログラムを格納する媒体などによっても実現される。メモリ１２０は、ＣＰＵ１１０によって実行されるプログラムや、ＣＰＵ１１０によるプログラムの実行により生成されたデータ、入力デバイス１４０を介して入力されたデータなどを記憶する。
【００３８】
メモリ１２０は、ＣＰＵ１１０によって実行される制御プログラムや、３Ｄの映像データなどを記憶する。３Ｄの映像データは、３Ｄの静止画像を表示するための３Ｄの静止画像データ、３Ｄの動画像を表示するための３Ｄの動画像データ、３Ｄモデルを示すモデルデータを含む。
【００３９】
ＣＰＵ１１０は、メモリ１２０に記憶されている各種のプログラムを実行する。コンピュータ１００における機能（図３の機能ブロックなど）や処理（図１２に示す処理など）は、各ハードウェアおよびＣＰＵ１１０により実行されるソフトウェアによって実現される。このようなソフトウェアは、メモリ１２０に予め記憶されている場合がある。また、ソフトウェアは、上述した記憶媒体に格納されて、プログラム製品として流通している場合もある。あるいは、ソフトウェアは、いわゆるインターネットに接続されている情報提供事業者によってダウンロード可能なプログラム製品として提供される場合もある。
【００４０】
このようなソフトウェアは、メモリインターフェイス１６０を利用することによってその記憶媒体から読み取られて、あるいは、通信インターフェイス１７０を利用することによってダウンロードされて、メモリ１２０に一旦格納される。ＣＰＵ１１０は、ソフトウェアを実行可能なプログラムの形式でメモリ１２０に格納してから、当該プログラムを実行する。
【００４１】
ここでいうプログラムとは、ＣＰＵにより直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００４２】
ＣＰＵ１１０は、メモリ１２０に格納されている３Ｄ映像データに基づいて、３Ｄディスプレイ１３１に映像を３Ｄで表示させる。ＣＰＵ１１０は、３Ｄディスプレイ１３１にオブジェクトの凹凸が認識できるように表示させる。換言すれば、ユーザには、オブジェクトが３Ｄディスプレイ１３１の手前や奥に存在するように見える。
【００４３】
本実施の形態に係るＣＰＵ１１０は、３Ｄディスプレイ１３１における表示映像の凹凸に対応する影を、２Ｄディスプレイ１３２に表示させる。たとえば、ＣＰＵ１１０は、３Ｄディスプレイ１３１における表示映像の飛び出し量を計算する。ＣＰＵ１１０は、飛び出した部分を２Ｄディスプレイ１３２に射影した映像を影として計算する。ＣＰＵ１１０は、２Ｄディスプレイ１３２に影を表示させる。
【００４４】
＜コンピュータ１００の機能構成＞
次に、本実施の形態に係るコンピュータ１００の機能構成について説明する。図３は、本実施の形態に係るコンピュータ１００の機能構成を示すブロック図である。図４は、本実施の形態に係るコンピュータ１００が仮想光源１０の位置に基づいて３Ｄ映像の影を表示することを示すイメージ図である。
【００４５】
図３を参照して、コンピュータ１００は、３Ｄ映像データ取得部１１１と、３Ｄ座標データ算出部１１２と、仮想光源データ取得部１１３と、射影データ算出部１１４と、映像データ同期部１１５と、描画部１１６とを含む。コンピュータ１００は、図２にも示したように、３Ｄディスプレイ１３１と２Ｄディスプレイ１３２とも含む。
【００４６】
３Ｄ映像データ取得部１１１と、３Ｄ座標データ算出部１１２と、仮想光源データ取得部１１３と、射影データ算出部１１４と、映像データ同期部１１５と、描画部１１６とは、ＣＰＵ１１０およびメモリ１２０によって実現される機能である。より詳細には、ＣＰＵ１１０が有する各機能は、ＣＰＵ１１０がメモリ１２０などに記憶される制御プログラムを実行して、図２に示される各ハードウェアを制御することによって実現される機能である。
【００４７】
ただし、３Ｄ映像データ取得部１１１、３Ｄ座標データ算出部１１２、仮想光源データ取得部１１３、射影データ算出部１１４、映像データ同期部１１５、描画部１１６の一部または全部が、映像処理エンジンまたはハードウェア回路によって実現されてもよい。
【００４８】
３Ｄ映像データ取得部１１１は、メモリ１２０から３Ｄ映像データ（右目用映像と左目用映像）を読み出す。３Ｄ映像データ取得部１１１は、３Ｄ映像データを３Ｄ座標データ算出部１１２に受け渡す。
【００４９】
図３および図４を参照して、３Ｄ座標データ算出部１１２は、右目用映像と左目用映像とに基づいて、３Ｄの座標データを算出する。すなわち、３Ｄ座標データ算出部１１２は、右目用映像と左目用映像とに基づいて、３Ｄ映像を構成する各点の飛び出し量を計算することができる。たとえば、３Ｄ座標データ算出部１１２は、特開２００９−１８６２２８号公報に記載の方法に基づいて、３Ｄ座標データを算出することができる。
【００５０】
あるいは、３Ｄ座標データ算出部１１２は、バーチャル映像のように、３Ｄ座標データ（３Ｄモデルデータ）を含む映像を取得した場合は、スケーリングや回転等の行列計算を介して、３Ｄ座標データを算出することができる。
【００５１】
仮想光源データ取得部１１３は、メモリ１２０から仮想光源１０の位置を取得する。あるいは、仮想光源データ取得部１１３は、入力デバイス１４０を介して、ユーザから仮想光源１０の位置を取得する。
【００５２】
射影データ算出部１１４は、算出された３Ｄ座標データと、仮想光源１０の位置とに基づいて、３Ｄオブジェクトが仮想光源によって２Ｄディスプレイ１３２に射影されたと仮定した場合の射影データを算出する。
【００５３】
ここで、射影データ算出部１１４における処理を詳しく説明する。図５は、仮想光源の位置に基づいて３Ｄオブジェクトを２Ｄディスプレイ１３２に射影する方法を示すイメージ図である。
【００５４】
図５を参照して、３Ｄオブジェクトの各々をＡｎ(ただしｎ＝１，２，・・・Ｎ)とし、仮想光源をＳ（ｓ１，ｓ２，ｓ３）とし、２Ｄディスプレイ１３２が存在する平面をＤ(ａｘ＋ｂｙ＋ｃｚ＝ｄ、ａ，ｂ，ｃ，ｄは定数)とする。なお、点Ｏ（０，０，０）は、３Ｄディスプレイ１３１の頂点の一つとする。
【００５５】
この時、ＳとＯとを結ぶ直線ｌｓは、
ｘ／ｓ１＝ｙ／ｓ２＝ｚ／ｓ３
で表される。この式と平面Ｄを示す式とに基づいて、α＝ａ＊ｓ１＋ｂ＊ｓ２＋ｃ＊ｓ３とすると、ＳからＤへのＯの写像Ｏｄは（ｄ＊ｓ１／α，ｄ＊ｓ２／α，ｄ＊ｓ３／α）で表される。
【００５６】
２Ｄディスプレイ１３２の表示可能な領域だけを表す場合は、例えば表示領域が四角形の場合は、それぞれの辺のどちら側が表示領域かを表すための４つの不等式で表す事ができる（式１）。
【００５７】
次に、ＳからＤに対するＡｎの射影の算出方法について説明する。
Ａは、Ｄと平行な平面Ｅと交わるものとする。この時、平面Ｅは、ａｘ＋ｂｘ＋ｃｚ＝ｅ(ただし、ｅｍｉｎ≦ｅ≦ｅｍａｘ)で表される。ＡとＥが交わった部分である２次元の図形をＡ（ｅ）とする。また、直線ｌｓと平面Ｅとが交わる点Ｏｅは、（ｅ＊ｓ１／α，ｅ＊ｓ２／α，ｅ＊ｓ３／α）で表される。Ａ（ｅ）の領域内部の点は全てＯｅからのベクトルで表現する事ができる。これらのベクトル群をＶａ（ｅ）とする。
【００５８】
ＳからＤまでの距離と、ＳからＥまでの距離の比は、ＳからＯｄまでの距離と、ＳからＯｅまでの距離の比に等しいので、以下の式が成り立つ。
ｄ＊ｓ１／α−ｓ１:ｅ＊ｓ１／α−ｓ１＝ｄ−α:ｅ−α
よって、ＳからＤに対するＡ（ｅ）の射影は、Ｏｄからのベクトル群｛（ｄ−α）／（ｅ−α）｝＊Ｖａ（ｅ）として表される（式２）。
【００５９】
ＳからＤに対するＡの射影は、式２においてｅｍｉｎ≦ｅ≦ｅｍａｘを満たすｅにより作られる全てのＡ（ｅ）の領域の集合φａｄで表す事ができる。２Ｄディスプレイ１３２に表示される射影は、φａｄの内、式１によって決定される不等式を満たすベクトル群により表す事ができる。以上より、光源Ｓから２Ｄディスプレイ１３２に対する、Ａの射影を算出する事ができる。
【００６０】
特に光源Ｓが無限遠点にある場合は、ｄ−α＝ｅ−αとなり、式２はＶａ（ｅ）と表されるため、計算が簡略化される。
【００６１】
さらに、ＳとＯｄとを結ぶ直線が平面Ｄと垂直であり、ａ，ｂ，ｃの内、２つの値が０である場合、平面Ｄは、ａｘ＝ｄ、または、ｂｙ＝ｄ、または、ｃｚ＝ｄ、と表される。式２のＶａ（ｅ）は、平面Ｄ上の座標（０，０）からのベクトル群とみなされるので、さらに計算が簡略化される。このように計算を簡略化することにより、基本的な機能を損なわずに処理速度の遅い装置においても、リアルタイムに射影算出できる可能性を高めることができる。
【００６２】
図３および図４に戻って、映像データ同期部１１５は、描画部１１６を通って、３Ｄ映像データと射影データとを同時に３Ｄディスプレイ１３１と２Ｄディスプレイ１３２とに表示させる。ただし、３Ｄ静止画像を表示する場合や、射影データを作成する時間が人間がずれを感じないくらい短い場合などは、３Ｄ映像データと射影データとを同期させるための機能を設ける必要はない。
【００６３】
なお、射影データ算出部１１４は、算出された射影に対して、拡大または縮小または一方向への伸縮または平行移動等の処理を行ってから、描画部１１６に出力してもよい。これらの処理により、臨場感を与えるための適切な表示サイズ・表示位置を調節したり、擬似的に仮想光源を移動させたりするための計算を簡略化にできる。たとえば、算出された射影を縮小し、無限遠点にある仮想光源により生成される正射影よりも小さくした場合は、影が２Ｄディスプレイ１３２よりも遠くにあるかのような印象を与える事もできる。
【００６４】
たとえば、３Ｄディスプレイ１３１よりも手前にある座標にある（飛び出して見える）オブジェクトのみを射影する場合、仮想光源が３Ｄディスプレイ１３１と同じ面にあるものと仮定することによって計算を簡略化できる。
【００６５】
さらに、仮想光源が３Ｄディスプレイ１３１と同じ面にあり且つ無限遠点にあり、仮想光源からの入射光が３Ｄディスプレイ１３１のｘ軸又はｙ軸と平行である場合、２Ｄディスプレイ１３２が入射光に垂直であると仮定して射影データを計算することにより、２Ｄディスプレイ１３２に表示される射影は３Ｄオブジェクトのｘ成分又はｙ成分を０にするだけで算出できる正射影となるので、さらに計算を簡略化する事が可能である。
【００６６】
また、これらの場合においても、算出された射影に対して、拡大または縮小または一方向への伸縮または平行移動等の処理を行う事により、適切な表示サイズおよび表示位置を調節したり、擬似的に仮想光源１０を移動させたりする事ができる。
【００６７】
このように構成することによって、本実施の形態においては、３Ｄディスプレイ１３１（第１の筐体１０１）に対する仮想光源１０の相対位置が一定である場合、３Ｄディスプレイ１３１（第１の筐体１０１）と２Ｄディスプレイ１３２（第２の筐体１０２）との角度が変化すると、２Ｄディスプレイ１３２に表示される影の映像も変化する。図６は、３Ｄディスプレイ１３１（第１の筐体１０１）と２Ｄディスプレイ１３２（第２の筐体１０２）との角度が変化した状態を示すイメージ図である。
【００６８】
図６を参照して、ＣＰＵ１１０によって実現される射影データ算出部１１４は、角度センサ１８０から、３Ｄディスプレイ１３１（第１の筐体１０１）と２Ｄディスプレイ１３２（第２の筐体１０２）との角度を取得する。射影データ算出部１１４は、当該角度と仮想光源１０の位置とに基づいて、射影データを生成する。描画部１１６は、射影データを２Ｄディスプレイ１３２に表示させる。
【００６９】
あるいは、コンピュータ１００の位置や姿勢が変化しても、仮想光源１０の絶対位置が変化しない構成にすることもできる。すなわち、コンピュータ１００の位置および／姿勢が変化すると、２Ｄディスプレイ１３２に表示される影の映像も変化する。この場合には、図２に示すように、コンピュータ１００にとって、位置姿勢センサ１９０が必須の要素になる。
【００７０】
図７は、コンピュータ１００の位置と姿勢とが変化した状態を示すイメージ図である。図７を参照して、ＣＰＵ１１０は、位置姿勢センサ１９０から、コンピュータ１００の位置と姿勢とを取得する。ＣＰＵ１１０は、コンピュータ１００の位置と姿勢と仮想光源１０の位置とに基づいて、射影データを生成する。ＣＰＵ１１０は、射影データを２Ｄディスプレイ１３２に表示させる。
【００７１】
さらに、コンピュータ１００のＣＰＵ１１０は、入力デバイス１４０を介して、ユーザから仮想光源の位置や大きさの設定を受け付けることが好ましい。仮想光源の半径が設定できる場合、換言すれば、仮想光源が体積を有する場合、ＣＰＵ１１０は、２Ｄディスプレイ１３２を、影の内側エリアの色と、影の輪郭エリアの色と、影から離れたエリアの色とが異なるように制御する。図８は、仮想光源１１が所定の体積を有する場合を示すイメージ図である。
【００７２】
図８を参照して、ＣＰＵ１１０は、飛び出した映像によって仮想光源１１が全く隠れないエリアが明るい光（第１の輝度）を発し、飛び出した映像によって仮想光源１１の一部が隠れるエリアが灰色の光（第１の輝度よりも低い第２の輝度）を発し、飛び出した映像によって仮想光源１１が完全に隠れるエリアが黒い光（第２の輝度よりも低い第３の輝度）を発するように、２Ｄディスプレイ１３２を制御する。なお、第２の輝度は輝度の範囲を指すものである。第２の輝度は、第１の輝度と第３の輝度の間の範囲であれば灰色の光のエリア全てにおいて同じ輝度である必要はない。例えば、第１の輝度との境界から第３の輝度との境界にかけて徐々に白から黒に変化するグラデーションとなるように設定してもよい。
【００７３】
さらに、コンピュータ１００のＣＰＵ１１０は、入力デバイス１４０を介して、ユーザから仮想光源の明るさを受け付けることが好ましい。図９は、仮想光源１２の明るさを変化させた状態を示すイメージ図である。図９を参照して、ＣＰＵ１１０によって実現される描画部１１６は、２Ｄディスプレイ１３２のうち、仮想光源１２の明るさに対応する輝度を、影エリア以外のエリアに設定する。
【００７４】
さらに、コンピュータ１００のＣＰＵ１１０は、入力デバイス１４０を介して、ユーザから仮想光源の個数と各々の仮想光源の位置とを受け付けることが好ましい。図１０は、２つの仮想光源１３Ａ，１３Ｂの位置を設定した状態を示すイメージ図である。図１０を参照して、ＣＰＵ１１０は、飛び出した映像によって１つも仮想光源が隠れないエリアが明るい光（第１の輝度）を発し、飛び出した映像によって１つだけの仮想光源が隠れるエリアが灰色の光（第１の輝度よりも低い第２の輝度）を発し、飛び出した映像によって仮想光源が２つとも隠れるエリアが黒い光（第２の輝度よりも低い第３の輝度）を発するように、２Ｄディスプレイ１３２を制御する。
【００７５】
さらに、コンピュータ１００のＣＰＵ１１０は、入力デバイス１４０を介して、ユーザから仮想光源の色を受け付けることが好ましい。図１１は、仮想光源１４の色を変化させた状態を示すイメージ図である。図１１を参照して、ＣＰＵ１１０は、２Ｄディスプレイ１３２に、仮想光源１４の色に対応する輝度・彩度・色相で影および影以外のエリアを表示させる。、輝度・彩度・色相の代わりに、色空間を表す他の尺度を使用してもよい。
【００７６】
＜コンピュータ１００におけるコンテンツ表示処理＞
次に、本実施の形態に係るコンピュータ１００におけるコンテンツ表示処理について説明する。図１２は、本実施の形態に係るコンピュータ１００におけるコンテンツ表示処理の処理手順を示すフローチャートである。以下では、射影データ算出部１１４が、３Ｄディスプレイ１３１よりも手前に飛び出している部分（オブジェクト）のみを２Ｄディスプレイ１３２に射影する場合について説明する。
【００７７】
図１２を参照して、まず、コンピュータ１００のＣＰＵ１１０は、メモリ１２０から仮想光源の属性を読み出す（ステップＳ１０２）。たとえば、ＣＰＵ１１０は、各々の仮想光源の位置、大きさ、明るさ、色などを取得する。
【００７８】
ＣＰＵ１１０は、ユーザからのコンテンツを指定するための命令に従って、メモリ１２０から３Ｄ表示用の映像データ（３Ｄコンテンツデータ）を読み出す（ステップＳ１０４）。あるいは、ＣＰＵ１１０は、通信インターフェイス１７０やＴＶアンテナなどを介して、外部から３Ｄコンテンツデータを取得する。より詳細には、３Ｄ表示用の映像データは、右目用の映像データと左目用の映像データとを含む。
【００７９】
ＣＰＵ１１０は、映像データに基づいて、３Ｄ座標データを算出する（ステップＳ１０６）。より詳細には、たとえば、特開２００９−１８６２２８号公報に記載のように、ＣＰＵ１１０は、映像データのうちの３Ｄディスプレイ１３１から飛び出して見える部分のみに対して、スケーリングや回転等の行列演算によって、装置の状態に対応した３Ｄ座標データを計算する。
【００８０】
ＣＰＵ１１０は、３Ｄ座標データと、仮想光源の属性とに基づいて、２Ｄディスプレイ１３２に表示されるべき影の映像を示す射影データを生成する（ステップＳ１０８）。通常の設定においては、ＣＰＵ１１０は、仮想光源が３Ｄディスプレイ１３１と同じ平面にあるものとして、射影データを生成する。上述したように、ＣＰＵ１１０は、算出された射影データに対して、拡大または縮小または一方向への伸縮または平行移動等の処理を行ってもよい。
【００８１】
ＣＰＵ１１０によって実現される映像データ同期部１１５は、映像データと射影データの出力の同期を取る（ステップＳ１１０）。
【００８２】
ＣＰＵ１１０によって実現される描画部１１６は、右目用の映像データと左目用の映像データとに基づいて、３Ｄディスプレイ１３１に３Ｄ映像を表示させる（ステップＳ１１２）。同時に、ＣＰＵ１１０は、２Ｄディスプレイ１３２に３Ｄ映像に対応する影の映像を表示させる。
【００８３】
ＣＰＵ１１０は、再生を継続すべきか否かを判断する（ステップＳ１１４）。ＣＰＵ１１０は、再生停止命令を受け付けた場合または動画が終了した場合（ステップＳ１１４においてＮＯである場合）、コンテンツ表示処理を終了する。
【００８４】
ＣＰＵ１１０は、再生を継続すべき場合（ステップＳ１１４においてＹＥＳである場合）、入力デバイス１４０を介してユーザから仮想光源の属性を変更するための命令を受け付けたか否かを判断する（ステップＳ１１６）。ＣＰＵ１１０は、仮想光源の属性を変更するための命令を受け付けた場合（ステップＳ１１６においてＹＥＳである場合）、ステップＳ１０２からの処理を繰り返す。ＣＰＵ１１０は、仮想光源の属性を変更するための命令を受け付けなかった場合（ステップＳ１１６においてＮＯである場合）、ステップＳ１０４からの処理を繰り返す。
【００８５】
なお、射影データ算出部１１４が、３Ｄディスプレイ１３１よりも奥に位置するように見えるオブジェクトについても射影データを算出する場合について説明する。すなわち、３Ｄディスプレイ１３１の平面よりも奥に仮想光源が位置する場合について説明する。ＣＰＵ１１０は、ステップＳ１０４、Ｓ１０６，Ｓ１０８において、以下のような処理を実行する。
【００８６】
ステップＳ１０４においては、ＣＰＵ１１０は、ユーザからのコンテンツを指定するための命令に従って、メモリ１２０から３Ｄ表示用の映像データ（３Ｄコンテンツデータ）を読み出す（ステップＳ１０４）。あるいは、ＣＰＵ１１０は、通信インターフェイス１７０やＴＶアンテナなどを介して、外部から３Ｄコンテンツデータを取得する。たとえば、ＣＰＵ１１０は、３Ｄモデルデータに基づいて、右目用の映像データと左目用の映像データとを生成してもよい。
【００８７】
ステップＳ１０６においては、ＣＰＵ１１０は、３Ｄモデルデータに基づいて、３Ｄ座標データを算出する。より詳細には、たとえば、特開２００９−１８６２２８号公報に記載のように、ＣＰＵ１１０は、３Ｄモデルデータの全て（３Ｄディスプレイ１３１の表面よりも奥に位置するように見える部分を含む）に対して、スケーリングや回転等の行列演算によって、装置の状態に対応した３Ｄ座標データを計算する。
【００８８】
ＣＰＵ１１０は、３Ｄ座標データと、仮想光源の属性とに基づいて、２Ｄディスプレイ１３２に表示されるべき影の画像を示す射影データを生成する（ステップＳ１０８）。上述したように、ＣＰＵ１１０は、算出された射影データに対して、拡大または縮小または一方向への伸縮または平行移動等の処理を行ってもよい。
【００８９】
［実施の形態２］
次に、本発明の実施の形態２について説明する。上述の実施の形態１に係るコンピュータ１００は、２つのディスプレイを有するものであった。そして、コンピュータ１００は、３Ｄディスプレイ１３１に映像を３Ｄで表示しつつ、２Ｄディスプレイ１３２に当該映像に対応する影を表示するものであった。一方、本実施の形態に係るコンピュータ１００は、３Ｄディスプレイ２３１に映像を３Ｄで表示しつつ、外部のプロジェクタ３００に当該映像に対応する影を出力させるものである。
【００９０】
本実施の形態においては、コンピュータ２００を「コンテンツ表示装置」の代表例として説明を行う。ただし、コンテンツ表示装置は、電子ノート、ゲーム機、ＰＮＤ、ＰＤＡ、電子辞書、電子ＢＯＯＫなどのようなディスプレイを有する他の情報機器であってもよい。
【００９１】
そして、本実施の形態に係るコンピュータ２００は、３Ｄの静止画像や３Ｄの動画像を３Ｄで表示することが可能な３Ｄディスプレイを含む。上述したように、現在、静止画像や動画像を３Ｄの表示で表示するための多数の方式が提案されている。
【００９２】
＜コンピュータ２００の動作概要＞
以下では、本実施の形態に係るコンピュータ２００の動作概要について説明する。図１３は、仮想光源の位置をプロジェクタ３００の位置に設定した場合のイメージ図である。図１４は、仮想光源の位置をプロジェクタ３００の位置とは異なる位置に設定した場合のイメージ図である。
【００９３】
図１３および図１４を参照して、本実施の形態に係るコンピュータ２００は、コンテンツを３Ｄ表示することができる３Ｄディスプレイ２３１を有する。３Ｄディスプレイ２３１は、後述するＣＰＵ２１０（図１５を参照。）からの信号に基づいて、複数のオブジェクトを３Ｄ表示する。換言すれば、オブジェクトが３Ｄ表示されている場合、本実施の形態に係るコンピュータ２００のユーザは、当該オブジェクトが３Ｄディスプレイ２３１から飛び出しているように見える。
【００９４】
コンピュータ２００は、プロジェクタ３００とデータ通信可能に構成されている。プロジェクタ３００は、３Ｄディスプレイ２３１における表示映像の飛び出した量（凹凸）に対応する影を表示する。たとえば、ＣＰＵ２１０は、３Ｄディスプレイ２３１における表示映像の各点における飛び出し量を計算する。ＣＰＵ２１０は、飛び出した部分をプロジェクタ３００の投影面（３Ｄディスプレイ２３１とは異なる画面）に射影した映像を射影データとして計算する。ＣＰＵ２１０は、射影データに基づいて、プロジェクタ３００に３Ｄコンテンツの影を表示させる。
【００９５】
以上のように、本実施の形態に係るコンピュータ２００は、３Ｄディスプレイ２３１に３Ｄ表示される映像の凹凸に対応する影をプロジェクタ３００に投影させる。ユーザは、映像の飛び出しに応じた影が視界に入るため、従来よりも大きな臨場感が得られるようになる。
【００９６】
なお、図１３に示すように、コンピュータ２００は、プロジェクタ３００の位置に仮想光源が位置するものと仮定してもよい。あるいは、図１４に示すように、コンピュータ２００は、３Ｄディスプレイ２３１の面上に仮想光源が位置するものと仮定して、３Ｄディスプレイ２３１に表示される映像の影を計算してもよい。より詳細には、コンピュータ２００は、プロジェクタ３００から３Ｄディスプレイ２３１の面上に降ろした垂線と３Ｄディスプレイ２３１の面との光点に仮想光源が位置するものと仮定してもよい。また、３Ｄディスプレイとプロジェクタは同じ筺体に収まる一体型であってもよい。
【００９７】
以下、このような機能を実現するためのコンピュータ２００の構成について詳述する。
＜コンピュータ２００のハードウェア構成＞
本実施の形態に係るコンピュータ２００のハードウェア構成について説明する。図１５は、本実施の形態に係るコンピュータ２００のハードウェア構成を示すブロック図である。
【００９８】
図１５に示すように、本実施の形態に係るコンピュータ２００は、ＣＰＵ２１０と、メモリ２２０と、３Ｄディスプレイ２３１と、入力デバイス２４０と、メモリインターフェイス２６０と、通信インターフェイス２７０と、角度センサ２８０と、位置姿勢センサ２９０とを含む。
【００９９】
３Ｄディスプレイ２３１は、ＣＰＵ２１０に制御されることによって、様々な情報を３Ｄで表示する。たとえば、ＣＰＵ２１０は、右目用の映像データと左目用の映像データとに基づいて、３Ｄディスプレイ２３１に映像を３Ｄで表示させる。ＣＰＵ２１０は、３Ｄの立体モデルを表わすデータに基づいて、右目用の映像データと左目用の映像データとを生成してもよい。
【０１００】
入力デバイス２４０は、ユーザの指やスタイラスペンによるタッチ操作を検出するためのタブレットを含む。タブレットは、３Ｄディスプレイ２３１および／あるいはプロジェクタ３００の表面に敷設される。入力デバイス２４０は、コンピュータ２００の表面に配置される決定キーやテンキーやＱＷＥＲＴＹキーボードを含む。ＣＰＵ２１０は、入力デバイス１４０を介して、ユーザからの命令を受け付けることができる。
【０１０１】
ＣＰＵ２１０は、メモリインターフェイス２６０を介して外部の記憶媒体２６１に格納されているデータを読み出して、当該データをメモリ２２０に格納する。逆に、ＣＰＵ２１０は、メモリ２２０からデータを読み出して、メモリインターフェイス２６０を介して当該データを外部の記憶媒体２６１に格納する。
【０１０２】
なお、記憶媒体２６１としては、ＣＤ−ＲＯＭ（Compact  Disc  -  Read  Only  Memory）、ＤＶＤ−ＲＯＭ（Digital  Versatile  Disk  -  Read  Only  Memory）、Blu-ray Disc、ＵＳＢ（Universal  Serial  Bus）メモリ、メモリカード、ＦＤ（Flexible  Disk）、ハードディスク、磁気テープ、カセットテープ、ＭＯ（Magnetic  Optical  Disc）、ＭＤ（Mini  Disc）、ＩＣ（Integrated  Circuit）カード（メモリカードを除く）、光カード、マスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ（Electronically  Erasable  Programmable  Read-Only  Memory）などの、不揮発的にプログラムを格納する媒体が挙げられる。
【０１０３】
通信インターフェイス２７０は、アンテナやコネクタによって実現される。通信インターフェイス１７０は、有線通信あるいは無線通信によって他の装置との間でデータをやり取りする。ＣＰＵ２１０は、通信インターフェイス２７０を介して、他の装置からプログラムや３Ｄコンテンツデータなどを受信したり、他の装置にデータを送信したりする。
【０１０４】
ＣＰＵ２１０は、通信インターフェイス２７０を介して、後述するプロジェクタ３００に射影データを送信することによって、プロジェクタ３００に影の映像を出力させる。
【０１０５】
角度センサ２８０は、赤外線センサ、加速度センサ、角速度センサ、方位センサ、画像認識などによって実現され、３Ｄディスプレイ２３１とプロジェクタ３００（あるいはプロジェクタ３００の投影面）との間の角度を検出する。なお、本実施の形態においては、プロジェクタ３００の照射方向がプロジェクタ３００の投影面に対して垂直であるものと仮定している。角度センサ２８０は、検出した角度をＣＰＵ２１０に入力する。
【０１０６】
位置姿勢センサ２９０は、３Ｄディスプレイ２３１の位置や姿勢を検出する。位置姿勢センサ２９０は、３Ｄディスプレイ２３１の位置や姿勢を、ＣＰＵ２１０に入力する。
【０１０７】
メモリ２２０は、各種のＲＡＭ（Random  Access  Memory）や、ＲＯＭ（Read-Only  Memory）や、ハードディスクなどによって実現される。あるいは、メモリ２２０は、読取用のインターフェイスを介して利用される、ＵＳＢ（Universal  Serial  Bus）メモリ、ＣＤ−ＲＯＭ（Compact  Disc  -  Read  Only  Memory）、ＤＶＤ−ＲＯＭ（Digital  Versatile  Disk  -  Read  Only  Memory）、ＵＳＢ（Universal  Serial  Bus）メモリ、メモリカード、ＦＤ（Flexible  Disk）、ハードディスク、磁気テープ、カセットテープ、ＭＯ（Magnetic  Optical  Disc）、ＭＤ（Mini  Disc）、ＩＣ（Integrated  Circuit）カード（メモリカードを除く）、光カード、マスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ（Electronically  Erasable  Programmable  Read-Only  Memory）などの、不揮発的にプログラムを格納する媒体などによっても実現される。メモリ２２０は、ＣＰＵ２１０によって実行されるプログラムや、ＣＰＵ２１０によるプログラムの実行により生成されたデータ、入力デバイス２４０を介して入力されたデータなどを記憶する。
【０１０８】
メモリ２２０は、ＣＰＵ２１０によって実行される制御プログラムや、３Ｄの映像データなどを記憶する。３Ｄの映像データは、３Ｄの静止画像を表示するための３Ｄの静止画像データ、３Ｄの動画像を表示するための３Ｄの動画像データ、３Ｄモデルを示すモデルデータを含む。
【０１０９】
ＣＰＵ２１０は、メモリ２２０に記憶されている各種のプログラムを実行する。コンピュータ２００における機能（図１６の機能ブロックなど）や処理（図１２に示す処理など）は、各ハードウェアおよびＣＰＵ２１０により実行されるソフトウェアによって実現される。このようなソフトウェアは、メモリ２２０に予め記憶されている場合がある。また、ソフトウェアは、上述した記憶媒体に格納されて、プログラム製品として流通している場合もある。あるいは、ソフトウェアは、いわゆるインターネットに接続されている情報提供事業者によってダウンロード可能なプログラム製品として提供される場合もある。
【０１１０】
このようなソフトウェアは、メモリインターフェイス２６０を利用することによってその記憶媒体から読み取られて、あるいは、通信インターフェイス２７０を利用することによってダウンロードされて、メモリ２２０に一旦格納される。ＣＰＵ２１０は、ソフトウェアを実行可能なプログラムの形式でメモリ２２０に格納してから、当該プログラムを実行する。
【０１１１】
ここでいうプログラムとは、ＣＰＵにより直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【０１１２】
ＣＰＵ２１０は、メモリ２２０に格納されている３Ｄ映像データに基づいて、３Ｄディスプレイ２３１に映像を３Ｄで表示させる。ＣＰＵ２１０は、３Ｄディスプレイ２３１にオブジェクトを凹凸が認識できるように表示させる。換言すれば、ユーザには、オブジェクトが３Ｄディスプレイ２３１の手前や奥に存在するように見える。
【０１１３】
プロジェクタ３００は、ＣＰＵ２１０によって制御されることによって、様々な情報を２Ｄで表示する。たとえば、ＣＰＵ２１０は、３Ｄディスプレイ２３１に表示されているオブジェクトの影を表す射影データを生成する。ＣＰＵ２１０は、プロジェクタ３００に影の映像を表示させる。
【０１１４】
本実施の形態に係るＣＰＵ２１０は、３Ｄディスプレイ２３１における表示映像の凹凸に対応する影を、プロジェクタ３００に表示させる。たとえば、ＣＰＵ２１０は、３Ｄディスプレイ２３１における表示映像の飛び出し量を計算する。ＣＰＵ２１０は、飛び出した部分をプロジェクタ３００の投影面に射影した映像を影として計算する。ＣＰＵ２１０は、飛び出した部分をプロジェクタ３００に送信する。ＣＰＵ２１０は、プロジェクタ３００に影を表示させる。
【０１１５】
＜コンピュータ２００の機能構成＞
次に、本実施の形態に係るコンピュータ２００の機能構成について説明する。図１６は、本実施の形態に係るコンピュータ２００の機能構成を示すブロック図である。
【０１１６】
図１６を参照して、コンピュータ２００は、３Ｄ映像データ取得部２１１と、３Ｄ座標データ算出部２１２と、仮想光源データ取得部２１３と、射影データ算出部２１４と、映像データ同期部２１５と、描画部２１６とを含む。コンピュータ２００は、図１３〜１５にも示したように、３Ｄディスプレイ２３１も含む。コンピュータ２００は、プロジェクタ３００と通信可能である。
【０１１７】
３Ｄ映像データ取得部２１１と、３Ｄ座標データ算出部２１２と、仮想光源データ取得部２１３と、射影データ算出部２１４と、映像データ同期部２１５と、描画部２１６とは、ＣＰＵ２１０およびメモリ２２０によって実現される機能である。より詳細には、ＣＰＵ２１０が有する各機能は、ＣＰＵ２１０がメモリ２２０などに記憶される制御プログラムを実行して、図１５に示される各ハードウェアを制御することによって実現される機能である。
【０１１８】
ただし、３Ｄ映像データ取得部２１１、３Ｄ座標データ算出部２１２、仮想光源データ取得部２１３、射影データ算出部２１４、映像データ同期部２１５、描画部２１６の一部または全部が、映像処理エンジンまたはハードウェア回路によって実現されてもよい。
【０１１９】
なお、３Ｄ映像データ取得部２１１、３Ｄ座標データ算出部２１２、仮想光源データ取得部２１３、射影データ算出部２１４は、それぞれ、実施の形態１に係る３Ｄ映像データ取得部１１１、３Ｄ座標データ算出部１１２、仮想光源データ取得部１１３、射影データ算出部１１４と同様であるためここでは説明を繰り返さない。
【０１２０】
また、射影データ算出部１１４における処理も実施の形態１に係るそれらと同様であるため、ここでは説明を繰り返さない。
【０１２１】
映像データ同期部２１５は、描画部２１６を通って、３Ｄ映像データと射影データとを同時に３Ｄディスプレイ２３１とプロジェクタ３００とに出力させる。ただし、３Ｄ静止画像を表示する場合や、射影データを作成する時間が人間がずれを感じないくらい短い場合などは、３Ｄ映像データと射影データとを同期させるための機能を設ける必要はない。
【０１２２】
このように構成したため、３Ｄディスプレイ２３１に対する仮想光源の相対位置が一定である場合、３Ｄディスプレイ２３１とプロジェクタ３００（プロジェクタ３００の投影面）との角度が変化すると、プロジェクタ３００に表示される影の映像も変化する。
【０１２３】
また、本実施の形態においても、角度センサ２８０などを利用することによって、３Ｄディスプレイ２３１とプロジェクタ３００との角度を取得してもよい。ＣＰＵ２１０は、当該角度に基づいて、射影データを生成する。ＣＰＵ２１０は、射影データをプロジェクタ３００に表示させる。
【０１２４】
あるいは、コンピュータ２００の位置や姿勢が変化しても、仮想光源の絶対位置が変化しない構成にすることもできる。すなわち、コンピュータ２００の位置および／姿勢が変化すると、プロジェクタ３００に表示される影の映像も変化する。この場合には、図１５に示すように、コンピュータ２００にとって、位置姿勢センサ２９０が必須の要素になる。
【０１２５】
ＣＰＵ２１０は、位置姿勢センサ２９０から、コンピュータ２００の位置と姿勢とを取得する。ＣＰＵ２１０は、当該位置と姿勢とに基づいて、射影データを生成する。ＣＰＵ２１０は、射影データをプロジェクタ３００に表示させる。
【０１２６】
さらに、コンピュータ２００のＣＰＵ２１０は、入力デバイス２４０を介して、ユーザから仮想光源の位置や大きさの設定を受け付けることが好ましい。仮想光源の半径が設定できる場合、換言すれば、仮想光源に体積がある場合、ＣＰＵ２１０は、プロジェクタ３００を、影の内側エリアの色と、影の輪郭エリアの色と、影から離れたエリアの色とが異なるように制御する。
【０１２７】
さらに、ＣＰＵ２１０は、飛び出した映像によって仮想光源が全く隠れないエリアが明るい光（第１の輝度）を発し、飛び出した映像によって仮想光源の一部が隠れるエリアが灰色の光（第１の輝度よりも低い第２の輝度）を発し、飛び出した映像によって仮想光源が完全に隠れるエリアが黒い光（第２の輝度よりも低い第３の輝度）を発するように、プロジェクタ３００を制御する。
【０１２８】
さらに、コンピュータ２００のＣＰＵ２１０は、入力デバイス１４０を介して、ユーザから仮想光源１２の明るさを受け付けることが好ましい。ＣＰＵ２１０によって実現される描画部１１６は、プロジェクタ３００のうち、仮想光源の明るさに対応する輝度を、影エリア以外のエリアに設定する。
【０１２９】
さらに、コンピュータ２００のＣＰＵ２１０は、入力デバイス２４０を介して、ユーザから仮想光源の個数と各々の仮想光源の位置とを受け付けることが好ましい。ＣＰＵ２１０は、飛び出した映像によって１つも仮想光源が隠れないエリアが明るい光（第１の輝度）を発し、飛び出した映像によって１つだけの仮想光源が隠れるエリアが灰色の光（第１の輝度よりも低い第２の輝度）を発し、飛び出した映像によって仮想光源が２つとも隠れるエリアが黒い光（第２の輝度よりも低い第３の輝度）を発するように、プロジェクタ３００を制御する。
【０１３０】
さらに、コンピュータ２００のＣＰＵ２１０は、入力デバイス２４０を介して、ユーザから仮想光源１４の色を受け付けることが好ましい。ＣＰＵ２１０は、プロジェクタ３００に、仮想光源の色に対応する輝度で影および影以外のエリアを表示させる。
【０１３１】
＜コンピュータ２００におけるコンテンツ表示処理＞
次に、本実施の形態に係るコンピュータ２００におけるコンテンツ表示処理について説明する。本実施の形態に係るコンピュータ２００におけるコンテンツ表示処理は、実施の形態１におけるものと同様であるため、ここでは説明を繰り返さない。
【０１３２】
ただし、本実施の形態においては、ステップＳ１１０において、ＣＰＵ２１０によって実現される映像データ同期部２１５は、映像データと射影データの出力の同期を取る。
【０１３３】
そして、ステップＳ１１２において、ＣＰＵ２１０によって実現される描画部２１６は、右目用の映像データと左目用の映像データとに基づいて、３Ｄディスプレイ２３１に３Ｄ映像を表示させる。同時に、ＣＰＵ２１０は、プロジェクタ３００に３Ｄ映像に対応する影の映像を表示させる。
【０１３４】
＜本実施の形態に係るコンピュータ２００のその他の適用例＞
本発明は、システム或いは装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。そして、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の効果を享受することが可能となる。
【０１３５】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１３６】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【０１３７】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【０１３８】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１３９】
１０，１１，１２，１３Ａ，１３Ｂ，１４  仮想光源、１００  コンピュータ、１０１  第１の筐体、１０２  第２の筐体、１１０  ＣＰＵ、１１１  映像データ取得部、１１２  座標データ算出部、１１３  仮想光源データ取得部、１１４  射影データ算出部、１１５  映像データ同期部、１１６  描画部、１２０  メモリ、１３１  ３Ｄディスプレイ、１３２  ２Ｄディスプレイ、１４０  入力デバイス、１６０  メモリインターフェイス、１６１  記憶媒体、１７０  通信インターフェイス、１８０  角度センサ、１９０  位置姿勢センサ、２００  コンピュータ、２１１  映像データ取得部、２１２  座標データ算出部、２１３  仮想光源データ取得部、２１４  射影データ算出部、２１５  映像データ同期部、２１６  描画部、２２０  メモリ、２３１  ３Ｄディスプレイ、２４０  入力デバイス、２６０  メモリインターフェイス、２６１  記憶媒体、２７０  通信インターフェイス、２８０  角度センサ、２９０  位置姿勢センサ、３００  プロジェクタ。
【図１】
2012105200.tif 000003
【図２】
2012105200.tif 000004
【図３】
2012105200.tif 000005
【図４】
2012105200.tif 000006
【図５】
2012105200.tif 000007
【図６】
2012105200.tif 000008
【図７】
2012105200.tif 000009
【図８】
2012105200.tif 000010
【図９】
2012105200.tif 000011
【図１０】
2012105200.tif 000012
【図１１】
2012105200.tif 000013
【図１２】
2012105200.tif 000014
【図１３】
2012105200.tif 000015
【図１４】
2012105200.tif 000016
【図１５】
2012105200.tif 000017
【図１６】
2012105200.tif 000018