特許第6126821号(P6126821)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 任天堂株式会社の特許一覧

特許6126821画像生成方法、画像表示方法、画像生成プログラム、画像生成システム、および画像表示装置
<>
  • 特許6126821-画像生成方法、画像表示方法、画像生成プログラム、画像生成システム、および画像表示装置 図000002
  • 特許6126821-画像生成方法、画像表示方法、画像生成プログラム、画像生成システム、および画像表示装置 図000003
  • 特許6126821-画像生成方法、画像表示方法、画像生成プログラム、画像生成システム、および画像表示装置 図000004
  • 特許6126821-画像生成方法、画像表示方法、画像生成プログラム、画像生成システム、および画像表示装置 図000005
  • 特許6126821-画像生成方法、画像表示方法、画像生成プログラム、画像生成システム、および画像表示装置 図000006
  • 特許6126821-画像生成方法、画像表示方法、画像生成プログラム、画像生成システム、および画像表示装置 図000007
  • 特許6126821-画像生成方法、画像表示方法、画像生成プログラム、画像生成システム、および画像表示装置 図000008
  • 特許6126821-画像生成方法、画像表示方法、画像生成プログラム、画像生成システム、および画像表示装置 図000009
  • 特許6126821-画像生成方法、画像表示方法、画像生成プログラム、画像生成システム、および画像表示装置 図000010
  • 特許6126821-画像生成方法、画像表示方法、画像生成プログラム、画像生成システム、および画像表示装置 図000011
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6126821
(24)【登録日】2017年4月14日
(45)【発行日】2017年5月10日
(54)【発明の名称】画像生成方法、画像表示方法、画像生成プログラム、画像生成システム、および画像表示装置
(51)【国際特許分類】
   G03B 35/08 20060101AFI20170424BHJP
   H04N 13/02 20060101ALI20170424BHJP
   G03B 37/00 20060101ALI20170424BHJP
   G06T 19/00 20110101ALI20170424BHJP
【FI】
   G03B35/08
   H04N13/02
   G03B37/00 A
   G06T19/00 F
【請求項の数】10
【全頁数】22
(21)【出願番号】特願2012-247337(P2012-247337)
(22)【出願日】2012年11月9日
(65)【公開番号】特開2014-95809(P2014-95809A)
(43)【公開日】2014年5月22日
【審査請求日】2015年9月7日
(73)【特許権者】
【識別番号】000233778
【氏名又は名称】任天堂株式会社
(74)【代理人】
【識別番号】100158780
【弁理士】
【氏名又は名称】寺本 亮
(74)【代理人】
【識別番号】100121359
【弁理士】
【氏名又は名称】小沢 昌弘
(74)【代理人】
【識別番号】100130269
【弁理士】
【氏名又は名称】石原 盛規
(72)【発明者】
【氏名】吉良 悟史
(72)【発明者】
【氏名】齋藤 伸也
(72)【発明者】
【氏名】三川 保
【審査官】 荒井 良子
(56)【参考文献】
【文献】 特開2004−120095(JP,A)
【文献】 特開2012−165102(JP,A)
【文献】 米国特許出願公開第2012/0154518(US,A1)
【文献】 特開2003−319418(JP,A)
【文献】 特開平11−220758(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G03B 35/08
G03B 37/00
G06T 19/00
H04N 13/02
(57)【特許請求の範囲】
【請求項1】
立体視可能なパノラマ画像を生成する画像生成方法であって、
実空間に配置された3つ以上のパノラマカメラによってそれぞれ撮像されたパノラマ画像を取得するパノラマ画像取得ステップと、
前記パノラマ画像取得ステップにおいて取得されたパノラマ画像の一部をそれぞれ合成することによって左目用画像および右目用画像を生成する立体視画像生成ステップとを含み、
前記パノラマ画像取得ステップでは、多角形の各頂点となる実空間における位置にそれぞれ配置された前記パノラマカメラによってそれぞれ撮像されたパノラマ画像が取得され、
前記立体視画像生成ステップは、
前記パノラマ画像取得ステップにおいて取得されたパノラマ画像を、その撮像方向に応じてそれぞれ分割画像に分割するパノラマ画像分割ステップと、
前記撮像方向毎に前記左目用画像および前記右目用画像としてそれぞれ採用する画像を、隣接する一対の前記パノラマカメラによってそれぞれ撮像された前記分割画像から選択し、当該選択された分割画像を前記撮像方向に応じて連結することによって前記左目用画像および前記右目用画像を生成するパノラマ画像合成ステップとを含み、
前記パノラマ画像分割ステップでは、前記パノラマ画像の撮像方向において前記多角形の中心からそれぞれの前記パノラマカメラの中心位置に向かう方向を境界として、当該多角形の角の数で撮像方向を分割した複数の撮像範囲が設定され、当該撮像範囲を撮像したパノラマ画像の一部がそれぞれ前記分割画像として分割され
前記立体視画像生成ステップは、
左目用仮想カメラが配置される側の面に前記左目用画像を貼りつけるための左目用モデルを、仮想空間において当該左目用仮想カメラが配置される位置を囲むように配置する左目用モデル配置ステップと、
右目用仮想カメラが配置される側の面に前記右目用画像を貼りつけるための右目用モデルを、仮想空間において当該右目用仮想カメラが配置される位置を囲むように配置する右目用モデル配置ステップとを含む、画像生成方法。
【請求項2】
前記パノラマ画像合成ステップでは、前記3つ以上のパノラマカメラによってそれぞれ撮像されたパノラマ画像毎に、前記左目用画像に採用する分割画像と前記右目用画像に採用する分割画像とを1つずつ選択する、請求項1に記載の画像生成方法。
【請求項3】
前記パノラマ画像合成ステップでは、前記撮像方向毎に前記左目用画像および前記右目用画像として採用する前記パノラマカメラの組を設定し、当該設定に応じて前記分割画像を選択する、請求項1または2に記載の画像生成方法。
【請求項4】
前記パノラマ画像合成ステップでは、前記撮像方向に対する分割画像を選択する際、前記3つ以上のパノラマカメラのうち当該撮像方向に最も近い一対のパノラマカメラを選択し、当該一対のパノラマカメラにおいて当該撮像方向に向かって左側に配置されたパノラマカメラが当該撮像方向を撮像した前記分割画像を当該撮像方向における左目用画像として採用し、当該一対のパノラマカメラにおいて当該撮像方向に向かって右側に配置された前記パノラマカメラが当該撮像方向を撮像した前記分割画像を当該撮像方向における右目用画像として採用する、請求項1に記載の画像生成方法。
【請求項5】
前記パノラマ画像合成ステップでは、前記分割画像のうち、他のパノラマカメラが撮像されている画像を除いて前記左目用画像および前記右目用画像としてそれぞれ採用する画像を選択する、請求項1乃至4の何れか1つに記載の画像生成方法。
【請求項6】
請求項1乃至5の何れか1つに記載の画像生成方法によって生成された前記左目用画像および前記右目用画像を、表示装置に表示させる画像表示ステップを含む、画像表示方法。
【請求項7】
前記左目用モデル内に左目用仮想カメラを配置して前記左目用画像を当該左目用モデルの当該左目用仮想カメラ側の面に貼りつけ、前記右目用モデル内に右目用仮想カメラを配置して前記右目用画像を当該右目用モデルの当該右目用仮想カメラ側の面に貼りつけた状態で、前記表示装置の姿勢に応じて当該左目用仮想カメラおよび当該右目用仮想カメラをそれぞれ同じ方向に回転させることによって、前記左目用画像および前記右目用画像から当該表示装置に表示する表示範囲をそれぞれ設定する表示範囲設定ステップを、さらに含み、
前記画像表示ステップでは、前記表示範囲設定ステップにおいて設定された表示範囲内の前記左目用画像および前記右目用画像が、前記表示装置に表示される、請求項6に記載の画像表示方法。
【請求項8】
立体視可能なパノラマ画像を生成する情報処理装置に含まれるコンピュータで実行される画像生成プログラムであって、
実空間に配置された3つ以上のパノラマカメラによってそれぞれ撮像されたパノラマ画像を取得するパノラマ画像取得ステップと、
前記パノラマ画像取得ステップにおいて取得されたパノラマ画像の一部をそれぞれ合成することによって左目用画像および右目用画像を生成する立体視画像生成ステップとを、前記コンピュータに実行させ、
前記パノラマ画像取得ステップでは、多角形の各頂点となる実空間における位置にそれぞれ配置された前記パノラマカメラによってそれぞれ撮像されたパノラマ画像が取得され、
前記立体視画像生成ステップは、
前記パノラマ画像取得ステップにおいて取得されたパノラマ画像を、その撮像方向に応じてそれぞれ分割画像に分割するパノラマ画像分割ステップと、
前記撮像方向毎に前記左目用画像および前記右目用画像としてそれぞれ採用する画像を、隣接する一対の前記パノラマカメラによってそれぞれ撮像された前記分割画像から選択し、当該選択された分割画像を前記撮像方向に応じて連結することによって前記左目用画像および前記右目用画像を生成するパノラマ画像合成ステップとを含み、
前記パノラマ画像分割ステップでは、前記パノラマ画像の撮像方向において前記多角形の中心からそれぞれの前記パノラマカメラの中心位置に向かう方向を境界として、当該多角形の角の数で撮像方向を分割した複数の撮像範囲が設定され、当該撮像範囲を撮像したパノラマ画像の一部がそれぞれ前記分割画像として分割され
前記立体視画像生成ステップは、
左目用仮想カメラが配置される側の面に前記左目用画像を貼りつけるための左目用モデルを、仮想空間において当該左目用仮想カメラが配置される位置を囲むように配置する左目用モデル配置ステップと、
右目用仮想カメラが配置される側の面に前記右目用画像を貼りつけるための右目用モデルを、仮想空間において当該右目用仮想カメラが配置される位置を囲むように配置する右目用モデル配置ステップとを含む、画像生成プログラム。
【請求項9】
立体視可能なパノラマ画像を生成する画像生成システムであって、
実空間に配置された3つ以上のパノラマカメラによってそれぞれ撮像されたパノラマ画像を取得するパノラマ画像取得手段と、
前記パノラマ画像取得手段において取得されたパノラマ画像の一部をそれぞれ合成することによって左目用画像および右目用画像を生成する立体視画像生成手段とを備え、
前記パノラマ画像取得手段は、多角形の各頂点となる実空間における位置にそれぞれ配置された前記パノラマカメラによってそれぞれ撮像されたパノラマ画像を取得し、
前記立体視画像生成手段は、
前記パノラマ画像取得手段によって取得されたパノラマ画像を、その撮像方向に応じてそれぞれ分割画像に分割するパノラマ画像分割手段と、
前記撮像方向毎に前記左目用画像および前記右目用画像としてそれぞれ採用する画像を、隣接する一対の前記パノラマカメラによってそれぞれ撮像された前記分割画像から選択し、当該選択された分割画像を前記撮像方向に応じて連結することによって前記左目用画像および前記右目用画像を生成するパノラマ画像合成手段とを含み、
前記パノラマ画像分割手段は、前記パノラマ画像の撮像方向において前記多角形の中心からそれぞれの前記パノラマカメラの中心位置に向かう方向を境界として、当該多角形の角の数で撮像方向を分割した複数の撮像範囲を設定し、当該撮像範囲を撮像したパノラマ画像の一部をそれぞれ前記分割画像として分割し、
前記立体視画像生成手段は、
左目用仮想カメラが配置される側の面に前記左目用画像を貼りつけるための左目用モデルを、仮想空間において当該左目用仮想カメラが配置される位置を囲むように配置する左目用モデル配置手段と、
右目用仮想カメラが配置される側の面に前記右目用画像を貼りつけるための右目用モデルを、仮想空間において当該右目用仮想カメラが配置される位置を囲むように配置する右目用モデル配置手段とを含む、画像生成システム。
【請求項10】
立体視可能なパノラマ画像を表示する画像表示装置であって、
左目用画像および右目用画像を表示することによって立体視可能な表示手段と、
実空間に配置された3つ以上のパノラマカメラによってそれぞれ撮像されたパノラマ画像の一部をそれぞれ合成することによって生成された一対のパノラマ画像を前記左目用画像および前記右目用画像として前記表示手段に表示する表示制御手段とを備え、
前記表示制御手段は、多角形の各頂点となる実空間における位置にそれぞれ配置された前記パノラマカメラによってそれぞれ撮像されたパノラマ画像が、当該パノラマ画像の撮像方向において当該多角形の中心からそれぞれの前記パノラマカメラの中心位置に向かう方向を境界として、当該多角形の角の数で撮像方向を分割した複数の撮像範囲をそれぞれ撮像したパノラマ画像の一部である分割画像にそれぞれ分割され、撮像方向毎に前記左目用画像および前記右目用画像としてそれぞれ採用する画像が、隣接する一対の前記パノラマカメラによってそれぞれ撮像された前記分割画像から選択されて、当該選択された分割画像が当該撮像方向に応じて連結されることによって生成された前記左目用画像および前記右目用画像を前記表示手段に表示し、
前記表示制御手段は、
仮想空間において左目用仮想カメラを配置する左目用仮想カメラ配置手段と、
仮想空間において右目用仮想カメラを配置する右目用仮想カメラ配置手段と、
前記左目用仮想カメラを囲む左目用モデルを配置する左目用モデル配置手段と、
前記右目用仮想カメラを囲む右目用モデルを配置する右目用モデル配置手段と、
前記左目用画像を前記左目用モデルの前記左目用仮想カメラ側の面に貼りつける左目用貼りつけ手段と、
前記右目用画像を前記右目用モデルの前記右目用仮想カメラ側の面に貼りつける右目用貼りつけ手段とを含み、
前記表示制御手段は、前記左目用貼りつけ手段において前記左目用画像が前記左目用モデルに貼り付けられた状態で前記左目用仮想カメラから見た左目用表示範囲の左目用画像と、前記右目用貼りつけ手段において前記右目用画像が前記右目用モデルに貼り付けられた状態で前記右目用仮想カメラから見た右目用表示範囲の右目用画像とを前記表示手段に表示する、画像表示装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像生成方法、画像表示方法、画像生成プログラム、画像生成システム、および画像表示装置に関し、特に例えば、立体視可能なパノラマ画像を生成する画像生成方法、画像生成プログラム、および画像生成システムや、立体視可能なパノラマ画像を表示可能な画像表示方法および画像表示装置に関する。
【背景技術】
【0002】
従来、パノラマ画像や全方位画像の一部の範囲をディスプレイに表示する画像処理装置がある(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2004−187298号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記特許文献1に記載の画像処理装置は、立体視可能なパノラマ画像を取得することができない。
【0005】
それ故に、本発明の目的は、立体視可能なパノラマ画像を生成および/または表示することができる画像生成方法、画像表示方法、画像生成プログラム、画像生成システム、および画像表示装置を提供することである。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本発明は例えば以下のような構成を採用し得る。なお、特許請求の範囲の記載を解釈する際に、特許請求の範囲の記載によってのみその範囲が解釈されるべきであることが理解され、特許請求の範囲の記載と本欄の記載とが矛盾する場合には、特許請求の範囲の記載が優先する。
【0007】
本発明の画像生成方法の一構成例は、立体視可能なパノラマ画像を生成する。画像生成方法は、パノラマ画像取得ステップおよび立体視画像生成ステップを含む。パノラマ画像取得ステップは、実空間に配置された3つ以上のパノラマカメラによってそれぞれ撮像されたパノラマ画像を取得する。立体視画像生成ステップは、パノラマ画像取得ステップにおいて取得されたパノラマ画像の一部をそれぞれ合成することによって左目用画像および右目用画像を生成する。
【0008】
上記「パノラマ画像」は、上下方向と左右方向のうち一方方向について画角が180度以上のパノラマ画像であることが好ましい。さらに好ましくは、一方方向について360度のパノラマ画像であることが好ましい。また、他方方向については、表示装置に表示する動画の画角以上であることが好ましく、さらに言うと、当該動画の画角の2倍以上、120度以上、150度以上、または、180度であることが好ましい。
【0009】
上記によれば、異なる視点から撮像された3つ以上のパノラマ画像の一部をそれぞれ合成して左目用画像および右目用画像を生成することによって、撮像されたパノラマ画像を立体視可能に表示することができる。
【0010】
また、上記パノラマ画像取得ステップでは、多角形の各頂点となる実空間における位置にそれぞれ配置されたパノラマカメラによってそれぞれ撮像されたパノラマ画像が取得されてもよい。この場合、立体視画像生成ステップは、パノラマ画像分割ステップおよびパノラマ画像合成ステップを含んでもよい。パノラマ画像分割ステップは、パノラマ画像取得ステップにおいて取得されたパノラマ画像を、その撮像方向に応じてそれぞれ分割画像に分割する。パノラマ画像合成ステップは、撮像方向毎に左目用画像および右目用画像としてそれぞれ採用する画像を分割画像から選択し、当該選択された分割画像を撮像方向に応じて連結することによって左目用画像および右目用画像を生成する。
【0011】
上記によれば、3つ以上のパノラマ画像を分割し、撮像方向に応じて連結することによって、効率よく左目用画像および右目用画像を生成することができる。
【0012】
また、上記パノラマ画像合成ステップでは、3つ以上のパノラマカメラによってそれぞれ撮像されたパノラマ画像毎に、左目用画像に採用する分割画像と右目用画像に採用する分割画像とを1つずつ選択してもよい。
【0013】
上記によれば、1つのパノラマカメラが撮像したパノラマ画像から、左目用画像として用いる分割画像と右目用画像として用いる分割画像とを1つずつ選択することによって、撮像方向に応じて当該パノラマカメラを左目用のカメラおよび右目用のカメラとして機能させることができる。
【0014】
また、上記パノラマ画像合成ステップでは、撮像方向毎に左目用画像および右目用画像として採用するパノラマカメラの組を設定し、当該設定に応じて分割画像を選択してもよい。
【0015】
上記によれば、撮像方向に応じて、最適な立体視が可能となるパノラマ画像の組み合わせを設定することができる。
【0016】
また、上記パノラマ画像分割ステップでは、多角形の内側からそれぞれのパノラマカメラに向かう方向を境界とする複数の撮像方向を設定し、当該撮像方向を撮像したパノラマ画像の一部をそれぞれ分割画像として分割してもよい。
【0017】
上記によれば、立体視可能なパノラマ画像を生成するために、適切な分割画像を得ることができる。
【0018】
また、上記パノラマ画像合成ステップでは、撮像方向に対する分割画像を選択する際、3つ以上のパノラマカメラのうち当該撮像方向に最も近い一対のパノラマカメラを選択し、当該一対のパノラマカメラにおいて当該撮像方向に向かって左側に配置されたパノラマカメラが当該撮像方向を撮像した分割画像を当該撮像方向における左目用画像として採用し、当該一対のパノラマカメラにおいて当該撮像方向に向かって右側に配置されたパノラマカメラが当該撮像方向を撮像した分割画像を当該撮像方向における右目用画像として採用してもよい。
【0019】
上記によれば、撮像方向に応じて、最適な立体視が可能となる分割画像を連結してパノラマ画像を生成することができ、全方向に対して立体視可能に表示することができる。
【0020】
また、上記パノラマ画像合成ステップでは、分割画像のうち、他のパノラマカメラが撮像されている画像を除いて左目用画像および右目用画像としてそれぞれ採用する画像を選択してもよい。
【0021】
上記によれば、他のパノラマカメラによって視界が妨げられる撮像領域のないパノラマ画像が生成されるため、パノラマ画像における死角を解消することができる。
【0022】
また、本発明の画像表示方法の一構成例は、画像表示ステップを含んでもよい。画像表示ステップは、上述した画像生成方法の何れか1つによって生成された左目用画像および右目用画像を、表示装置に表示させる。
【0023】
上記によれば、立体視可能なパノラマ画像を表示することができる。
【0024】
また、上記画像表示方法は、表示範囲設定ステップを、さらに含んでもよい。表示範囲設定ステップは、表示装置の姿勢に応じて、左目用画像および右目用画像から当該表示装置に表示する表示範囲を設定する。この場合、画像表示ステップでは、表示範囲設定ステップにおいて設定された表示範囲内の左目用画像および右目用画像が、表示装置に表示されてもよい。
【0025】
上記によれば、表示装置の姿勢に応じて、表示するパノラマ画像の範囲が変化するため、ユーザは、直感的な操作でパノラマ画像を見ることができる。
【0026】
また、本発明は、上記各ステップをコンピュータに実行させる画像生成プログラム、上記各ステップの動作をそれぞれ行う手段を備える画像生成システム、上記各ステップの動作によって生成された画像を表示する画像表示装置の形態で実施されてもよい。
【発明の効果】
【0027】
本発明によれば、異なる視点から撮像された3つ以上のパノラマ画像の一部をそれぞれ合成して左目用画像および右目用画像を生成することによって、撮像されたパノラマ画像を立体視可能に表示することができる。
【図面の簡単な説明】
【0028】
図1】画像表示装置3の一例を示すブロック図
図2】画像表示装置3において表示されるパノラマ画像の一例を示す図
図3】画像表示装置3の姿勢に応じて表示範囲を決定する方法の一例を示す図
図4】フレーム毎のパノラマ画像を構成するパノラマ動画を撮像し、当該パノラマ動画をエンコードして記録するまでの処理の流れの一例を示す図
図5】立体視可能なパノラマ動画を撮像する際のパノラマカメラの配置例および撮像領域の一例を示す図
図6】撮像された3つのパノラマ画像から左目用パノラマ画像および右目用パノラマ画像を生成する合成処理の一例を示す図
図7】撮像された3つのパノラマ画像から左目用パノラマ画像および右目用パノラマ画像を生成する合成処理の一例を示す図
図8】画像表示装置3の記憶部32に記憶される主なデータおよびプログラムの一例を示す図
図9】画像表示装置3において実行される処理の前半の一例を示すフローチャート
図10】画像表示装置3において実行される処理の後半の一例を示すフローチャート
【発明を実施するための形態】
【0029】
図1を参照して、本発明の一実施例に係る画像表示装置について説明する。例えば、画像表示装置3は、交換可能な光ディスクやメモリーカード等の記憶媒体内に記憶され、または、他の装置から受信した画像表示プログラムやゲームプログラムを実行可能である。本実施形態における画像表示装置3は、画像(パノラマ画像)を生成して表示装置(表示部35)に表示するものである。画像表示装置3は、一般的なパーソナルコンピュータ、据置型ゲーム機、携帯電話機、携帯ゲーム機、PDA(Personal Digital Assistant)等のデバイスであってもかまわない。図1は、画像表示装置3の構成の一例を示すブロック図である。
【0030】
図1において、画像表示装置3は、制御部31、記憶部32、プログラム格納部33、入力部34、および表示部35を備える。なお、画像表示装置3は、制御部31を少なくとも含む情報処理装置と他の装置とを含む1以上の装置によって構成されてもよい。
【0031】
制御部31は、各種の情報処理を実行するための情報処理手段(コンピュータ)であり、例えばCPUである。制御部31は、各種の情報処理として、入力部34に対するユーザの操作に応じた処理等を実行する機能を有する。例えば、CPUが所定のプログラムを実行することによって、制御部31における各機能が実現される。
【0032】
記憶部32は、制御部31が上記情報処理を実行する際に用いる各種のデータを記憶する。記憶部32は、例えばCPU(制御部31)がアクセス可能なメモリである。
【0033】
プログラム格納部33は、プログラムを記憶(格納)する。プログラム格納部33は、制御部31がアクセス可能な記憶装置(記憶媒体)であればどのようなものであってもよい。例えば、プログラム格納部33は、制御部31を含む画像表示装置3内に設けられる記憶装置であってもよいし、制御部31を含む画像表示装置3に着脱自在に装着される記憶媒体であってもよい。また、プログラム格納部33は、制御部31とネットワークを介して接続される記憶装置(サーバ等)であってもよい。制御部31(CPU)は、ゲームプログラムの一部または全部を適宜のタイミングで記憶部32に読み出し、読み出されたプログラムを実行するようにしてもよい。
【0034】
入力部34は、ユーザによって操作可能な入力装置である。入力部34はどのような入力装置であってもよい。例えば、入力部34は、加速度センサ341およびジャイロセンサ342を有する。加速度センサ341は、画像表示装置3の所定軸方向(例えば3軸方向であり、1軸以上でよい)に関する加速度を検出する。ジャイロセンサ342は、画像表示装置3の所定軸方向(例えば3軸方向であり、1軸以上でよい)を軸とした回転に関する角速度を検出する。加速度センサ341およびジャイロセンサ342は、画像表示装置3の姿勢を算出するための情報(姿勢を算出あるいは推定可能な情報)を検出するセンサである。なお、他の実施形態においては、画像表示装置3の姿勢はどのような方法で算出されてもよく、上記センサ以外の他のセンサや画像表示装置3を撮影可能なカメラを用いて画像表示装置3の姿勢が算出されてもよい。さらに、画像表示装置3は、入力部34として、スライドパッド、アナログスティック、十字キー、および操作ボタン等の操作部を備えてもよい。
【0035】
表示部35は、制御部31の指示にしたがって画像を表示する。例えば、表示部35は、LCD(Liquid Crystal Display:液晶表示装置)やEL(エレクトロルミネッセンス)等を利用した表示装置である。表示部35は、立体視可能な画像を表示することが可能な表示装置である。表示部35は、実質的に同一の表示領域を用いて左目用画像と右目用画像とを表示することが可能である。具体的には、表示部35は、左目用画像と右目用画像とが所定単位で(例えば、1列ずつ)横方向に交互に表示される方式の表示装置であり、例えば裸眼立体視可能な表示装置である。一例として、表示部35は、横方向に交互に表示される左目用画像と右目用画像とを左目および右目のそれぞれに分解して見えるようにパララックスバリア方式(視差バリア方式)やレンチキュラー方式のものが用いられる。パララックスバリア方式の場合、表示部35は、視差バリアを用いてユーザの左目に左目用画像をユーザの右目に右目用画像をそれぞれ視認させることにより、ユーザにとって立体感のある立体画像(立体視可能な画像)を表示することができる。なお、表示部35は、裸眼立体視可能な表示装置でなくてもよく、他の方式で立体視可能に構成されてもかまわない。例えば、偏光フィルタ方式、時分割方式、アナグリフ方式等の方式で、表示部35が立体視可能に構成してもかまわない。
【0036】
次に、図2および図3を参照して、画像表示装置3において実行される、パノラマ画像を表示(パノラマ動画を再生)する処理について説明する。なお、図2は、画像表示装置3において表示されるパノラマ画像(パノラマ動画)の一例を示す図である。図3は、画像表示装置3の姿勢に応じて表示範囲を決定する方法の一例を示す図である。
【0037】
ここで、パノラマ画像とは、表示装置に表示される画像の視野角よりも広い視野角の画像である。つまり、パノラマ画像は、典型的にはその一部領域の画像が表示装置に表示され、表示範囲が変化することによって視線の方向が変化する画像であるとも言える。本実施例においては、上下左右方向に関して全方向(360°)の視野角を有するパノラマ画像が用いられる(図3参照)。ただし、パノラマ画像には死角があってもよく、例えば視野角が180°程度であってもよい。また、本実施例においては、パノラマ画像は2台のパノラマカメラによって撮像された立体視可能な実画像(実写画像)であるが、その一部または全部が仮想画像(CG画像)であってもよい。
【0038】
本実施例においては、表示部35には、パノラマ動画の再生の進行にしたがって、記憶されているパノラマ動画の各フレームとなる左目用パノラマ画像および右目用パノラマ画像が所定時間毎に読み出されて順次表示され、左目用パノラマ画像および右目用パノラマ画像が表示装置に逐次表示されることによって、立体視可能なパノラマ動画が再生される。具体的には、パノラマ動画を構成する複数の左目用パノラマ画像および右目用パノラマ画像の組にはそれぞれフレーム番号が付されており、当該パノラマ画像の組がフレーム番号順に表示される。一例として、視点(例えば、2台のパノラマカメラ)を時間経過につれて所定空間(例えば、現実世界)内を移動させながら撮像したパノラマ動画を表示する場合、当該パノラマ動画を再生する時間経過に伴って視点が移動するパノラマ動画が再生される。例えば、図2に示すように、道路上から周囲を見たパノラマ画像が表示され、道路を進んでいく(視点が道路に沿って移動する)パノラマ動画が再生される。他の例として、所定空間内を移動することなく撮像(すなわち、定点撮像)したパノラマ動画を表示する場合、当該パノラマ動画を再生する時間経過に伴って視点周辺の様子が変化していくようなパノラマ動画が再生される。
【0039】
画像表示装置3における表示範囲は、画像表示装置3の姿勢に応じて変更される。例えば図2においては、画像表示装置3は、正面方向に向けた姿勢と当該正面方向に対して右に向けた姿勢となっており、画像表示装置3には、上記進行方向(正面方向)に視線を向けた場合と当該進行方向に対して視線を右に向けた場合の表示範囲のパノラマ画像が表示されている。このように、画像表示装置3は、入力装置(画像表示装置3)に対する入力に基づいて、パノラマ画像のうちで表示装置に表示する表示範囲を決定する。これによれば、ユーザは、画像表示装置3に対する操作(姿勢を変化させる操作)によって視線方向(表示範囲)を自由に変化させてパノラマ動画を見ることができる。なお、他の実施形態においては、表示範囲はユーザの操作に応じて変化するように決定されればどのような方法で決定されてもよい。
【0040】
本実施例においては、図3に示すように、仮想空間に立体モデルを配置し、その立体モデルの内側における所定位置(本実施形態においては立体モデルの実質的に中心となる位置)に仮想カメラCを配置する。そして、仮想カメラCから見た立体モデル(立体モデルの内側面)の画像を生成する際に、パノラマ画像をテクスチャとして立体モデルの内側面に描画することで、パノラマ画像が生成される。具体的には、パノラマ動画を撮像した際の基準方向が立体モデルの基準方向となるように、パノラマ画像がテクスチャとして立体モデルの内側面に貼り付けられる。このとき、パノラマ画像のうち、仮想カメラCの視野範囲(図3に示す斜線領域A1)が表示範囲となる。なお、本実施例においては、立体モデルの形状を立方体とするが、立体モデルの形状は任意であり、例えば球体や柱状(例えば円柱)の形状であってもよい。
【0041】
図3において、画像表示装置3に表示すべき画像を生成するための仮想カメラCは、その姿勢が画像表示装置3の姿勢に応じて制御される。これによって、画像表示装置3の姿勢に応じて表示範囲を変化させることができる。以下、仮想カメラCの姿勢が画像表示装置3の姿勢に応じて制御される一例を説明する。
【0042】
まず初期設定として、画像表示装置3の基準姿勢が設定される。例えば、画像表示装置3の基準姿勢は、パノラマ動画再生の開始時または開始前の所定タイミングにおける画像表示装置3の姿勢によって設定される。具体的には、パノラマ動画再生の開始時の画像表示装置3の姿勢を基準姿勢として設定してもよいし、パノラマ動画再生の開始前にユーザが所定の操作をしたときの画像表示装置3の姿勢を基準姿勢として設定してもよいし、予め定める固定的な画像表示装置3の姿勢を基準姿勢として設定してもよいし、予め定める固定的な複数の画像表示装置3の姿勢のうちユーザが選択してもよい。なお、本実施形態では、画像表示装置3の姿勢はジャイロセンサ342の出力値に基づいて算出されるので、基準姿勢の設定は、ジャイロセンサ342により算出される姿勢値のリセットである。しかしながら、画像表示装置3の基準姿勢の設定は、センサの種類によって適宜の処理を実行してよい。
【0043】
また、上記初期設定として、仮想カメラCの初期姿勢が設定される。例えば、仮想カメラCの初期姿勢は、視線方向(z軸正方向)が仮想空間のZ軸正方向(立体モデルの基準方向であり、パノラマ動画の撮像における基準方向(正面方向))に一致し、左方向(x軸正方向)が仮想空間のX軸正方向に一致し、上方向(y軸正方向)が仮想空間のY軸正方向に一致するように配置される。
【0044】
そして、画像表示装置3の上記基準姿勢に対する姿勢変化(本実施例では、基準姿勢の画像表示装置3の左右方向となるxt軸、画像表示装置3の上下方向となるyt軸周りそれぞれの回転方向および回転量)に応じて、仮想カメラCの姿勢を、上記初期姿勢から変化(典型的には、初期姿勢の仮想カメラCのx軸、y軸、すなわちX軸、Y軸周りそれぞれに同じ回転方向および同じ回転量で変化)させる。なお、他の実施例においては、画像表示装置3の上記基準姿勢に対する姿勢変化を3軸周り(すなわち、上記xt軸およびyt軸に、画像表示装置3の前後方向となるzt軸周りを加えたもの)それぞれの回転方向および回転量に応じて、仮想カメラCの姿勢を、上記初期姿勢からX軸、Y軸、Z軸周りそれぞれに同じ回転方向および同じ回転量で変化させてもよい。
【0045】
なお、左目用パノラマ画像および右目用パノラマ画像を表示することによって立体視可能なパノラマ画像を表示部35に表示する場合、上述した立体モデルおよび仮想カメラが右目用および左目用としてそれぞれ設けられる。そして、左目用の立体モデルには、左目用パノラマ画像をテクスチャとして当該立体モデルの内側面に描画して、上述した位置および姿勢で左目用仮想カメラを配置して動作制御する。また、右目用の立体モデルには、右目用パノラマ画像をテクスチャとして当該立体モデルの内側面に描画して、上述した位置および姿勢で右目用仮想カメラを配置して動作制御する。このように配置された左目用仮想カメラおよび右目用仮想カメラからそれぞれ得られた画像を左目用画像および右目用画像として表示部35に表示することによって、立体視可能なパノラマ画像(パノラマ動画)が表示可能となる。
【0046】
次に、図4図7を参照して、パノラマ動画を撮像して記録するまでの処理の流れについて説明する。なお、図4は、フレーム毎のパノラマ画像を構成するパノラマ動画を撮像し、当該パノラマ動画をエンコードして記録するまでの処理の流れの一例を示す図である。図5は、立体視可能なパノラマ動画を撮像する際のパノラマカメラの配置例および撮像領域の一例を示す図である。図6および図7は、それぞれ撮像された3つのパノラマ画像から左目用パノラマ画像および右目用パノラマ画像を生成する合成処理の一例を示す図である。
【0047】
図4に示すように、一例として、現実世界のパノラマ動画を撮像する場合、撮影方向が互いに固定された複数の撮像カメラを有するパノラマカメラが用いられる。例えば、パノラマカメラは、5角柱形状の支持部材の側面および上面からそれぞれ放射する方向を撮像方向としてそれぞれ1台ずつ、計6台固設された撮像カメラを有する。そして、上記側面の1つを前方として移動しながら、現実世界を6台の撮像カメラで撮像する。なお、上記前方となる側面(すなわち、移動しながら撮像する場合に進行方向に向かって設けられる側面)に設けられた撮像カメラを「正面前方カメラ」とし、当該移動の際に左前方を撮像方向として設けられる撮像カメラを「左前方カメラ」、当該移動の際に右前方を撮像方向として設けられる撮像カメラを「右前方カメラ」、当該移動の際に左後方を撮像方向として設けられる撮像カメラを「左後方カメラ」、当該移動の際に右後方を撮像方向として設けられる撮像カメラを「右後方カメラ」、当該移動の際に上方を撮像方向として設けられる撮像カメラを「上方カメラ」とする。そして、上記移動に応じて、時間軸が同じ画像がそれぞれの撮像カメラから得られ、「正面前方カメラ」から得られる画像を「正面前方カメラ画像」、「左前方カメラ」から得られる画像を「左前方カメラ画像」、「右前方カメラ」から得られる画像を「右前方カメラ画像」、「左後方カメラ」から得られる画像を「左後方カメラ画像」、「右後方カメラ」から得られる画像を「右後方カメラ画像」、「上方カメラ」から得られる画像を「上方カメラ画像」とする。
【0048】
なお、上述したパノラマカメラの構成は一例であり、他の構成によって実現されてもよいことは言うまでもない。また、現実世界を移動することなくパノラマカメラで撮像(すなわち、定点撮像)することによって、現実世界のパノラマ動画を撮像してもかまわない。
【0049】
それぞれの撮像カメラから得られた画像は、同じ時間軸の画像毎にパノラマ展開されて1つの全方位画像(パノラマ画像)に合成される。図4で用いた全方位画像は、正面前方カメラ画像を中心として、左へ順に左前方カメラ画像および左後方カメラ画像を合成し、右へ順に右前方カメラ画像および右後方カメラ画像を合成して、さらに当該合成された5つのカメラ画像の上方領域に上方カメラ画像を合成し、それぞれのカメラ画像では死角となる方位(典型的には、下方であり図4において斜線で示される領域)の画像については所定の画像(例えば、黒画像)を合成することによって生成されている。なお、複数の撮像カメラから得られた画像を合成して構成される全方位画像(パノラマ画像)については図4で示した構成でなくてもよく、他の構成によって全方位画像を生成してもよい。なお、複数の撮像カメラから得られた画像からパノラマ画像を生成する手法については、既に周知であるためここでは詳細な説明を省略する。
【0050】
本実施例において立体視可能なパノラマ動画を撮像する場合は、3台以上のパノラマカメラが多角形(好ましくは、正多角形)の各頂点に配置される位置関係となる実空間に配置する。そして、各パノラマカメラにおいてそれぞれ上述した撮像処理が行われ、撮像された画像に対して上述した合成処理が行われることによって、各パノラマカメラからパノラマ画像が得られる。本実施例においては、撮像方向に応じて、当該3台以上のパノラマカメラのうち、当該撮像方向に最も近い一対のパノラマカメラを選択し、当該一対のパノラマカメラにおいて当該撮像方向に向かって左側に配置されたパノラマカメラが当該撮像方向における左目用パノラマカメラとして機能させ、当該撮像方向に向かって右側に配置されたパノラマカメラが当該撮像方向における右目用パノラマカメラとして機能させる。そして、各撮像方向毎に各パノラマカメラが撮像したパノラマ画像を合成することによって、左目用パノラマ画像および右目用パノラマ画像を生成する。以下、説明を具体的にするために、3台のパノラマカメラA〜Cを用いてパノラマ動画を取得する例を用いる。
【0051】
図5に示すように、3台のパノラマカメラA〜Cを用いてパノラマ動画を取得する場合、パノラマカメラA〜Cが多角形(3台の場合は三角形であり、好ましくは正三角形)の各頂点に配置される位置関係となる実空間にそれぞれ配置され、それぞれパノラマ画像(パノラマ動画)を撮像する。ここで、各パノラマカメラA〜Cが現実世界を撮像している撮像方向は、複数の領域(パノラマカメラが3つの場合、3つの領域)に分割される。具体的には、上記多角形の内側からそれぞれのパノラマカメラA〜Cに向かう撮像方向を境界とする複数の領域R〜Tを設定し、各パノラマカメラA〜Cにおける撮像方向についても、領域Rを撮像する撮像方向、領域Sを撮像する撮像方向、および領域Tを撮像する撮像方向に分割する。ここで、領域Rは、パノラマカメラAを左側としパノラマカメラBを右側としてパノラマカメラAおよびBを結ぶ方向を左右方向とした場合に、パノラマカメラAおよびBの前方に角度範囲120°(左右それぞれ60°)の撮像方向(撮像範囲)を示す領域として形成される。領域Sは、パノラマカメラBを左側としパノラマカメラCを右側としてパノラマカメラBおよびCを結ぶ方向を左右方向とした場合に、パノラマカメラBおよびCの前方に角度範囲120°(左右それぞれ60°)の撮像方向(撮像範囲)を示す領域として形成される。そして、領域Tは、パノラマカメラCを左側としパノラマカメラAを右側としてパノラマカメラCおよびAを結ぶ方向を左右方向とした場合に、パノラマカメラCおよびAの前方に角度範囲120°(左右それぞれ60°)の撮像方向(撮像範囲)を示す領域として形成される。
【0052】
図6および図7を用いて、領域R〜Tをそれぞれ撮像したパノラマ画像を合成して、左目用パノラマ画像および右目用パノラマ画像を生成する処理について説明する。なお、図6においては、各パノラマ画像を全円周パノラマで示し、各パノラマカメラA〜Cが撮像した画像を区別するために、パノラマカメラAが撮像した画像を白抜き領域、パノラマカメラBが撮像した画像を斜線領域、パノラマカメラCが撮像した画像を網掛け領域で示している。また、図7においては、各パノラマ画像を横長パノラマで示し、撮像方向を示すために、各パノラマカメラA〜Cが領域Rの中心方向(パノラマカメラAおよびBを結ぶ方向を左右方向とした場合に、パノラマカメラAおよびBの前方正面となる方向)の角度を0°とし、当該中心方向から見て左方向をマイナスの角度で示し右方向をプラスの角度で示している。この場合、領域Rが−60°〜+60°の撮像範囲となり、領域Sが+60°〜+180°の撮像範囲となり、領域Tが−180°〜−60°の撮像範囲となる。
【0053】
図6および図7に示すように、各パノラマカメラA〜Cが撮像したパノラマ画像は、領域Rを撮像した画像領域、領域Sを撮像した画像領域、および領域Tを撮像した画像領域にそれぞれ分割される。そして、領域Rを示す左目用パノラマ画像の画像領域には、パノラマカメラAが領域Rを撮像した画像領域を合成する。そして、領域Rを示す右目用パノラマ画像の画像領域には、パノラマカメラBが領域Rを撮像した画像領域を合成する。ここで、領域Rが示す撮像範囲内をパノラマカメラAおよびBが撮像している状態を考える。図5に示すように、領域Rは、パノラマカメラAを左側としパノラマカメラBを右側とした場合に、パノラマカメラAおよびBの前方に形成される撮像領域であり、当該領域Rを撮像した画像を立体視可能に表示する場合、パノラマカメラAで撮像された画像を左目用画像としパノラマカメラBで撮像された画像を右目用画像とするのが、最も立体視に適した状態となる。したがって、領域Rを示す左目用パノラマ画像の画像領域にパノラマカメラAが領域Rを撮像した画像領域を採用し、領域Rを示す右目用パノラマ画像の画像領域にパノラマカメラBが領域Rを撮像した画像領域を採用することによって、左目用パノラマ画像を左目用画像とし右目用パノラマ画像を右目用パノラマ画像として表示した場合に、最も適した状態で立体視することができる。
【0054】
また、領域Sを示す左目用パノラマ画像の画像領域には、パノラマカメラBが領域Sを撮像した画像領域を合成する。そして、領域Sを示す右目用パノラマ画像の画像領域には、パノラマカメラCが領域Sを撮像した画像領域を合成する。同様に、領域Sが示す撮像範囲内をパノラマカメラBおよびCが撮像している状態を考えた場合も、領域Sは、パノラマカメラBを左側としパノラマカメラCを右側としてパノラマカメラBおよびCの前方に形成される撮像領域である。したがって、領域Sを示す左目用パノラマ画像の画像領域にパノラマカメラBが領域Sを撮像した画像領域を採用し、領域Sを示す右目用パノラマ画像の画像領域にパノラマカメラCが領域Sを撮像した画像領域を採用することによって、領域Sを撮像範囲とするパノラマ画像を最も適した状態で立体視することができる。
【0055】
さらに、領域Tを示す左目用パノラマ画像の画像領域には、パノラマカメラCが領域Tを撮像した画像領域を合成する。そして、領域Tを示す右目用パノラマ画像の画像領域には、パノラマカメラAが領域Tを撮像した画像領域を合成する。同様に、領域Tが示す撮像範囲内をパノラマカメラCおよびAが撮像している状態を考えた場合も、領域Tは、パノラマカメラCを左側としパノラマカメラAを右側としてパノラマカメラCおよびAの前方に形成される撮像領域である。したがって、領域Tを示す左目用パノラマ画像の画像領域にパノラマカメラCが領域Tを撮像した画像領域を採用し、領域Tを示す右目用パノラマ画像の画像領域にパノラマカメラAが領域Tを撮像した画像領域を採用することによって、領域Tを撮像範囲とするパノラマ画像を最も適した状態で立体視することができる。
【0056】
このように、左目用パノラマ画像および右目用パノラマ画像における各撮像方向に対応する画像を選択する際、パノラマカメラA〜Cのうち当該撮像方向が前方となる当該撮像方向に最も近い一対のパノラマカメラを選択する。そして、撮像方向に向かって左側に配置されたパノラマカメラが当該撮像方向を撮像したパノラマ画像を左目用パノラマ画像として採用し、当該撮像方向に向かって右側に配置されたパノラマカメラが当該撮像方向を撮像したパノラマ画像を右目用パノラマ画像として採用している。これによって、撮像された全方向のパノラマ画像を、立体視可能に表示することができる。
【0057】
ここで、複数のパノラマカメラによって現実世界を撮像する場合、他のパノラマカメラによって死角となる撮像範囲(死角領域)が生じる。例えば、図5および図7から明らかなように、パノラマカメラAで撮像したパノラマ画像においては、領域Sの撮像方向にパノラマカメラBおよびCが配置されているため、領域SではパノラマカメラBおよびCによって視界が妨げられる。また、パノラマカメラBで撮像したパノラマ画像においては、領域Tの撮像方向にパノラマカメラCおよびAが配置されているため、領域TではパノラマカメラCおよびAによって視界が妨げられる。さらに、パノラマカメラCで撮像したパノラマ画像においては、領域Rの撮像方向にパノラマカメラAおよびBが配置されているため、領域RではパノラマカメラAおよびBによって視界が妨げられる。しかしながら、上述した合成処理によって左目用パノラマ画像および右目用パノラマ画像を生成する場合、他のパノラマカメラによって視界が妨げられている領域、すなわちパノラマカメラAで撮像した領域Sの画像領域、パノラマカメラBで撮像した領域Tの画像領域、およびパノラマカメラCで撮像した領域Rの画像領域は、何れも用いられていない。したがって、上述した合成処理によって左目用パノラマ画像および右目用パノラマ画像を生成する場合、他のパノラマカメラによって視界が妨げられる画像領域を用いることがないため、他のパノラマカメラによる死角を解消することができる。
【0058】
なお、上述した具体例においては、3台のパノラマカメラを用いて立体視可能なパノラマ画像を生成する例を用いたが、4台以上のパノラマカメラを用いて立体視可能なパノラマ画像を生成することができることは言うまでもない。例えば、4台以上のパノラマカメラを用いる場合は、設置台数に応じた多角形の頂点に各パノラマカメラを配置して、当該パノラマカメラでそれぞれパノラマ画像を撮像する。上記合成処理においては、上記多角形の内側からそれぞれのパノラマカメラに向かう方向を境界とする複数の領域(撮像範囲)を設定し、当該領域を撮像した画像領域にパノラマ画像それぞれを分割する。そして、上記パノラマカメラのうち当該領域が前方となる当該領域に最も近い一対のパノラマカメラを選択して、領域に向かって左側に配置されたパノラマカメラが当該領域を撮像したパノラマ画像を左目用パノラマ画像として採用し、当該領域に向かって右側に配置されたパノラマカメラが当該領域を撮像したパノラマ画像を右目用パノラマ画像として採用する。また、4台以上のパノラマカメラを用いて立体視可能なパノラマ画像を生成する場合であっても、当該4台以上のパノラマカメラによってそれぞれ撮像されたパノラマ画像毎に、左目用画像に採用する画像と右目用画像に採用する画像とが上記分割されたパノラマ画像から1つずつ選択され、残りの画像は左目用画像および右目用画像の合成処理には用いられないことになる。このような合成処理によって、4台以上のパノラマカメラを用いた場合であっても同様に立体視可能なパノラマ画像を生成することができる。
【0059】
また、図6および図7に示した各領域に対応する画像領域の一例として、全円周パノラマ画像を直線で分割した扇形や横長パノラマ画像を直線で分割した矩形で示しているが、各領域の形は、扇形や矩形に限られない。各撮像領域に相当する画像領域のサイズや形は、複数の撮像カメラから得られた画像を合成して全方位画像(パノラマ画像)を生成する手法や上記合成処理における処理負荷に依存していることは言うまでもなく、各画像領域が曲線や屈曲線によって分割されてもかまわない。
【0060】
図4に戻り、上記合成処理が行われた左目用パノラマ画像および右目用パノラマ画像は、所定の方式(例えば、H.264として標準化された動画データの圧縮符号化方式)で時間毎に変換されて全ての左目用パノラマ画像および右目用パノラマ画像がエンコードされて光ディスク等の記憶媒体に記憶される。
【0061】
なお、パノラマ動画をエンコードして記憶媒体に記憶する際、当該パノラマ動画を構成する複数のパノラマ画像(左目用パノラマ画像および右目用パノラマ画像)がそれぞれエンコードされることになるが、H.264以外の圧縮符号化方式を用いてもよく、当該パノラマ画像がそれぞれエンコードされる方式はどのようなものでもよい。例えば、フレーム毎のパノラマ画像をフレーム間の依存関係がない状態でパノラマ画像毎に圧縮する方式(例えば、モーションJPEG)でもよいし、前フレームとのパノラマ画像との差分を圧縮する方式(例えば、MPEG)でもよい。また、フレーム予測符号化方式を用いてパノラマ動画をエンコードする場合、フレーム間予測だけでなくフレーム内予測を用いる符号化方式を用いてもよい。
【0062】
次に、画像表示装置3において行われる処理の詳細を説明する。まず、図8を参照して、処理において用いられる主なデータについて説明する。なお、図8は、画像表示装置3の記憶部32に記憶される主なデータおよびプログラムの一例を示す図である。
【0063】
図8に示すように、記憶部32のデータ記憶領域には、パノラマ画像ファイルデータDa、操作データDb、姿勢データDc、仮想カメラデータDd、および仮想空間画像データDe等が記憶される。なお、記憶部32には、図8に示すデータの他、実行するアプリケーションで用いるデータ等、処理に必要なデータ等が記憶されてもよい。また、記憶部32のプログラム記憶領域には、画像表示プログラムを構成する各種プログラム群Paが記憶される。
【0064】
パノラマ画像ファイルデータDaは、図4を用いて説明したようにエンコードされたパノラマ画像をデコードしたパノラマ動画それぞれにおける各フレームのパノラマ画像データを示すデータである。パノラマ画像データは、フレーム番号N(1,2,3…)毎に、上述した立体モデルの内面にテクスチャとして貼り付ける左目用パノラマ画像および右目用パノラマ画像それぞれを示すデータを含んでいる。例えば、パノラマ画像データは、所定の記憶媒体にエンコードされて記憶された立体視可能なパノラマ動画を、所定の方式によってデコードすることによって得られる。
【0065】
操作データDbは、画像表示装置3に対する操作内容を示すデータであり、角速度データDb1等を含んでいる。角速度データDb1は、画像表示装置3に生じる角速度を示すデータであり、ジャイロセンサ342から出力される角速度を示すデータである。
【0066】
姿勢データDcは、実空間における画像表示装置3の姿勢を示すデータであり、例えば基準姿勢からの画像表示装置3の回転量を示すデータである。
【0067】
仮想カメラデータDdは、左目用立体モデルおよび右目用立体モデルにおけるそれぞれの中央に配置される左目用仮想カメラおよび右目用仮想カメラに関するデータである。例えば、仮想カメラデータDdは、仮想空間における左目用仮想カメラおよび右目用仮想カメラの位置、姿勢、視野(画角)等に関するデータである。
【0068】
仮想空間画像データDeは、上記左目用仮想カメラから左目用立体モデルの内面を見た左目用仮想空間画像、および上記右目用仮想カメラから右目用立体モデルの内面を見た右目用仮想空間画像を示すデータである。
【0069】
次に、図9および図10を参照して、画像表示装置3において行われる処理の詳細を説明する。なお、図9は、画像表示装置3において実行される処理の前半の一例を示すフローチャートである。図10は、画像表示装置3において実行される処理の後半の一例を示すフローチャートである。ここで、図9および図10に示すフローチャートにおいては、画像表示装置3における処理のうち、立体視可能なパノラマ動画を画像表示装置3に表示する処理について主に説明し、これらの処理と直接関連しない他の処理については詳細な説明を省略する。
【0070】
制御部31は、記憶部32(メモリ)等を初期化し、画像表示装置3内の不揮発メモリまたは光ディスクに記憶される画像表示プログラムを記憶部32に読み込む。そして、制御部31によって当該画像表示プログラムの実行が開始される。図9および図10に示すフローチャートは、以上の処理が完了した後に行われる処理を示すフローチャートである。
【0071】
なお、図9および図10に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えておよび/または代えて別の処理が実行されてもよい。また、本実施例では、上記フローチャートの各ステップの処理を制御部31が実行するものとして説明するが、上記フローチャートにおける一部または全部のステップの処理を、上記制御部31のCPU以外のプロセッサや専用回路が実行するようにしてもよい。
【0072】
図9において、制御部31は、パノラマ画像ファイルを取得する(ステップ81)。例えば、制御部31は、画像表示装置3内の不揮発メモリ、画像表示装置3に装着された記憶媒体、またはネットワーク等を介して他の装置から、パノラマ画像ファイルを取得してパノラマ画像ファイルデータDaに格納する。
【0073】
次に、制御部31は、パノラマ動画を貼り付けるための左目用立体モデルおよび右目用立体モデルを、仮想空間にそれぞれ中心が原点に位置するように配置し(ステップ82)、次のステップに処理を進める。例えば、制御部31は、左目用立体モデルおよび右目用立体モデルの形状が立方体である場合、仮想空間に設定されたXYZ軸に対して、上記左目用立体モデルおよび右目用立体モデルの正面がZ軸正方向側でZ軸と垂直に交わり、背面がZ軸負方向側でZ軸と垂直に交わり、左側面がX軸正方向側でX軸と垂直に交わり、右側面がX軸負方向側でX軸と垂直に交わり、上面がY軸正方向側でY軸と垂直に交わり、底面がY軸負方向側でY軸と垂直に交わるように、上記左目用立体モデルおよび右目用立体モデルをそれぞれ配置する。
【0074】
次に、制御部31は、左目用仮想カメラおよび右目用仮想カメラを基準位置に初期姿勢で配置し(ステップ83)、次のステップに処理を進める。例えば、制御部31は、左目用仮想カメラおよび右目用仮想カメラの基準位置をそれぞれの左目用立体モデルおよび右目用立体モデルの原点(すなわち、左目用立体モデルおよび右目用立体モデルの中央)とし、左目用仮想カメラおよび右目用仮想カメラのxyz軸(x軸正方向が仮想カメラの左方向、y軸正方向が仮想カメラの上方向、z軸正方向が仮想カメラの視線方向)が仮想空間のXYZ軸に一致する姿勢を初期姿勢とする。そして、制御部31は、左目用仮想カメラおよび右目用仮想カメラの基準位置および初期姿勢を用いて、仮想カメラデータDdにおける左目用仮想カメラおよび右目用仮想カメラの位置および姿勢に関するデータを更新する。
【0075】
次に、制御部31は、画像表示装置3の姿勢調整をユーザに促し(ステップ84)、姿勢調整が行われるのを待ち(ステップ85)、当該姿勢調整が行われるまで当該ステップ84および当該ステップ85を繰り返す。そして、制御部31は、姿勢調整が行われた場合、ステップ86に処理を進める。
【0076】
ステップ86において、制御部31は、現時点の画像表示装置3の姿勢を基準姿勢に設定し、次のステップに処理を進める。例えば、制御部31は、姿勢データDcが示す画像表示装置3の姿勢(基準姿勢からの回転量)を初期化(各軸周りの回転量を0)して、画像表示装置3の基準姿勢を設定する。
【0077】
なお、上述したように、上記ステップ84〜ステップ86の処理においては、ステップ84の処理が行われた時点または当該時点から所定時間経過後の画像表示装置3の姿勢を基準姿勢として設定してもよいし、ユーザが所定の操作をしたときの画像表示装置3の姿勢を基準姿勢として設定してもよいし、予め定める固定的な画像表示装置3の姿勢を基準姿勢として設定してもよいし、予め定める固定的な複数の画像表示装置3の姿勢のうちユーザが選択してもよい。
【0078】
次に、制御部31は、フレーム数nを1に設定し(ステップ87)、次のステップに処理を進める。
【0079】
次に、制御部31は、画像表示装置3に表示する表示対象をパノラマ画像ファイルデータDaから設定し(ステップ88)、次のステップ91(図10参照)に処理を進める。例えば、制御部31は、予め定められたパノラマ画像を表示対象に設定してもいいし、ユーザによって選択されたパノラマ画像を表示対象として設定してもよい。
【0080】
図10において、制御部31は、表示対象となっているパノラマ動画に関するパノラマ画像ファイルデータDaのパノラマ画像データのうち、フレームnに対応する左目用パノラマ画像および右目用パノラマ画像を取得し(ステップ91)、次のステップに処理を進める。
【0081】
次に、制御部31は、上記ステップ91で取得した左目用パノラマ画像および右目用パノラマ画像をそれぞれ左目用立体モデルおよび右目用立体モデルの内面にマッピングし(ステップ92)、次のステップに処理を進める。例えば、上述したように、左目用パノラマ画像および右目用パノラマ画像に設定された基準方向が左目用立体モデルおよび右目用立体モデルの基準方向とそれぞれ一致するように、当該立体モデルの各内面に当該パノラマ画像がマッピングされる。
【0082】
次に、制御部31は、画像表示装置3のジャイロセンサ342の出力値を示すデータを取得し(ステップ93)、次のステップに処理を進める。なお、画像表示装置3からは、ジャイロセンサ342の出力値を示すデータが一定周期で画像表示装置3に送信され、角速度データDb1に格納されている。
【0083】
次に、制御部31は、上記ステップ93において取得したデータを用いて、画像表示装置3の基準姿勢からの回転方向および回転量(ステップ86で初期化してからの回転方向および回転量)を算出し(ステップ94)、次のステップに処理を進める。例えば、上記ステップ94では、基準姿勢における画像表示装置3の所定軸方向(本実施例では、基準姿勢におけるxt軸、yt軸方向)を軸とした回転方向および回転量がそれぞれ算出されて、姿勢データDcが更新される。なお、回転方向は、回転量の正負により表すことができるので、姿勢データDcには回転量を示すデータのみ格納してもよい。例えば、制御部31は、上記ステップ94では、前回処理におけるステップ94において算出された回転量に、今回のステップ94で取得した角速度データに基づく回転量を加えて、新たな回転量として算出する。
【0084】
次に、制御部31は、左目用仮想カメラおよび右目用仮想カメラの仮想空間における姿勢を、上記初期姿勢からステップ94で算出された回転量だけ回転させ(ステップ95)、次のステップに処理を進める。例えば、制御部31は、上記初期姿勢から左目用仮想カメラおよび右目用仮想カメラの姿勢を、ステップ94で算出された画像表示装置3のxt軸方向を軸とした回転量と同じだけ仮想空間のX軸方向(初期姿勢における仮想カメラのx軸方向)を軸として回転させ、かつ、ステップ94で算出された画像表示装置3のyt軸方向を軸とした回転量と同じだけ仮想空間のY軸方向(初期姿勢における仮想カメラのy軸方向)を軸として回転させて、仮想カメラデータDdにおける左目用仮想カメラおよび右目用仮想カメラの姿勢に関するデータを更新する。
【0085】
次に、制御部31は、左目用仮想カメラおよび右目用仮想カメラからそれぞれ見た左目用立体モデルおよび右目用立体モデルの内面の画像(左目用仮想空間画像および右目用仮想空間画像)を生成し(ステップ96)、次のステップに処理を進める。例えば、制御部31は、生成された左目用仮想空間画像および右目用仮想空間画像を示すデータを用いて、仮想空間画像データDeを更新する。
【0086】
次に、制御部31は、仮想空間画像データDeに基づいた左目用仮想空間画像および右目用仮想空間画像を表示部35に立体視表示し(ステップ97)、次のステップに処理を進める。
【0087】
次に、制御部31は、フレーム数nをインクリメントし(ステップ98)、処理を終了するか否かを判定する(ステップ99)。処理を終了する条件としては、例えば、再生しているパノラマ動画における最後のフレームの画像の再生が終了したことや、ユーザが処理を終了する操作を行ったこと等がある。制御部31は、処理を終了しない場合に上記ステップ91に戻って処理を繰り返し、処理を終了する場合に当該フローチャートによる処理を終了する。以降、ステップ91〜ステップ99の一連の処理は、ステップ99で処理を終了すると判定されるまで繰り返し実行される。
【0088】
なお、上述した実施例では、パノラマ画像をエンコードして記憶媒体に記憶する前に、3台以上のパノラマカメラが撮像したパノラマ画像を合成する処理を行ったが、画像表示装置3においてデコードした後に当該合成処理を行ってもかまわない。例えば、各パノラマカメラによって撮像されたパノラマ画像を上記パノラマ画像ファイルとして格納しておき、上記ステップ81において当該パノラマ画像ファイルを取得した後に、各パノラマ画像を合成して左目用パノラマ画像および右目用パノラマ画像を生成する処理を行ってもよい。また、上記ステップ91においてパノラマ画像を取得する際に、各パノラマカメラによって撮像されたパノラマ画像を取得し、当該パノラマ画像を合成して左目用パノラマ画像および右目用パノラマ画像を生成する処理を行ってもよい。さらに、上記ステップ96において設定された表示範囲に応じて、表示に必要なパノラマ画像を合成して左目用パノラマ画像および右目用パノラマ画像を生成する処理を行ってもよい。
【0089】
また、上述した実施例では、画像表示装置3の姿勢に応じて表示部35に表示されるパノラマ画像の表示範囲が変化する例を用いたが、他の操作に応じて当該表示範囲が変化してもよい。例えば、入力部34として、スライドパッド、アナログスティック、十字キー、および操作ボタン等を備える場合、これらの操作手段による操作に応じて上記表示範囲が変化してもよい。また、画像表示装置3の姿勢は、ジャイロセンサ342が検出している角速度のみから算出されてもいいし、加速度センサ341が検出している加速度のみから算出されてもいいし、当該角速度および当該加速度の両方を用いて算出されてもよい。
【0090】
また、上述した説明では画像表示処理を画像表示装置3で行う例を用いたが、上記処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、画像表示装置3がさらに他の装置(例えば、別のサーバ、他の画像表示装置、他のゲーム装置、他の携帯端末)と通信可能に構成されている場合、上記処理ステップは、さらに当該他の装置が協働することによって実行してもよい。一例として、画像表示装置3から操作データ(角速度データ)が他の装置へ出力され、当該他の装置において仮想空間画像を生成する処理が行われた後、当該処理によって生成された仮想空間画像が画像表示装置3の表示部35に表示されることも考えられる。このように、上記処理ステップの少なくとも一部を他の装置で行うことによって、上述した処理と同様の処理が可能となる。また、典型的には、上述した3台以上のパノラマカメラによって撮像されたパノラマ画像を合成して左目用パノラマ画像および右目用パノラマ画像を生成する処理については、画像表示装置3とは異なる当該画像処理を行う装置が所定のプログラム(画像生成プログラム)を実行することによって行われるが、当該処理の少なくとも一部も他の装置で行ってもかまわない。また、上述した合成処理や画像表示処理は、少なくとも1つの情報処理装置により構成される情報処理システムに含まれる1つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。また、上記実施例においては、画像表示装置3の制御部31が所定のプログラムを実行することによって、上述したフローチャートによる処理が行われたが、画像表示装置3が備える専用回路によって上記処理の一部または全部が行われてもよい。また、上記実施例においては、画像処理を行う装置が所定のプログラムを実行することによって、上述した画像合成処理が行われるが、当該装置が備える専用回路によって当該処理の一部または全部が行われてもよい。
【0091】
ここで、上述した変形例によれば、いわゆるクラウドコンピューティングのシステム形態や分散型の広域ネットワークおよびローカルネットワークのシステム形態でも本発明を実現することが可能となる。例えば、分散型のローカルネットワークのシステム形態では、据置型の情報処理装置(据置型のゲーム装置)と携帯型の情報処理装置(携帯型のゲーム装置)との間で上記処理を協働により実行することも可能となる。なお、これらのシステム形態では、上述した処理をどの装置で行うかについては特に限定されず、どのような処理分担をしたとしても本発明を実現できることは言うまでもない。
【0092】
また、上述した情報処理で用いられる処理順序、設定値、判定に用いられる条件等は、単なる一例に過ぎず他の順序、値、条件であっても、本実施例を実現できることは言うまでもない。
【0093】
また、上記画像生成プログラムや上記画像表示プログラムは、外部メモリ等の外部記憶媒体を通じて画像処理を行う装置や画像表示装置3に供給されるだけでなく、有線または無線の通信回線を通じて当該装置に供給されてもよい。また、上記プログラムは、当該装置内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、CD−ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ、などでもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを記憶する揮発性メモリでもよい。このような記憶媒体は、コンピュータ等が読み取り可能な記録媒体ということができる。例えば、コンピュータ等に、これらの記録媒体のプログラムを読み込ませて実行させることにより、上述で説明した各種機能を提供させることができる。
【0094】
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。また、当業者は、本発明の具体的な実施例の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書(定義を含めて)が優先する。
【産業上の利用可能性】
【0095】
以上のように、本発明は、立体視可能なパノラマ画像を生成および/または表示すること等を目的として、例えば画像生成方法、画像表示方法、画像生成プログラム、画像生成システム、および画像表示装置等として有用である。
【符号の説明】
【0096】
3…画像表示装置
31…制御部
32…記憶部
33…プログラム格納部
34…入力部
341…加速度センサ
342…ジャイロセンサ
35…表示部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10