IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社ソニー・コンピュータエンタテインメントの特許一覧

<>
  • 特許-画像生成装置および画像生成方法 図1
  • 特許-画像生成装置および画像生成方法 図2
  • 特許-画像生成装置および画像生成方法 図3
  • 特許-画像生成装置および画像生成方法 図4
  • 特許-画像生成装置および画像生成方法 図5
  • 特許-画像生成装置および画像生成方法 図6
  • 特許-画像生成装置および画像生成方法 図7
  • 特許-画像生成装置および画像生成方法 図8
  • 特許-画像生成装置および画像生成方法 図9
  • 特許-画像生成装置および画像生成方法 図10
  • 特許-画像生成装置および画像生成方法 図11
  • 特許-画像生成装置および画像生成方法 図12
  • 特許-画像生成装置および画像生成方法 図13
  • 特許-画像生成装置および画像生成方法 図14
  • 特許-画像生成装置および画像生成方法 図15
  • 特許-画像生成装置および画像生成方法 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-24
(45)【発行日】2024-08-01
(54)【発明の名称】画像生成装置および画像生成方法
(51)【国際特許分類】
   G09G 3/20 20060101AFI20240725BHJP
   G09G 5/00 20060101ALI20240725BHJP
   G09G 5/37 20060101ALI20240725BHJP
【FI】
G09G3/20 680A
G09G3/20 632F
G09G3/20 660E
G09G3/20 631V
G09G3/20 612U
G09G5/00 530H
G09G5/37 300
G09G5/37 320
G09G5/00 510G
【請求項の数】 12
(21)【出願番号】P 2022553270
(86)(22)【出願日】2020-09-29
(86)【国際出願番号】 JP2020036962
(87)【国際公開番号】W WO2022070270
(87)【国際公開日】2022-04-07
【審査請求日】2023-09-11
(73)【特許権者】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(74)【代理人】
【識別番号】100109047
【弁理士】
【氏名又は名称】村田 雄祐
(74)【代理人】
【識別番号】100109081
【弁理士】
【氏名又は名称】三木 友由
(74)【代理人】
【識別番号】100134256
【弁理士】
【氏名又は名称】青木 武司
(72)【発明者】
【氏名】稲田 徹悟
(72)【発明者】
【氏名】大場 章男
(72)【発明者】
【氏名】篠原 隆之
(72)【発明者】
【氏名】金子 徳秀
【審査官】公文代 康祐
(56)【参考文献】
【文献】国際公開第2020/170455(WO,A1)
【文献】特開2019-045679(JP,A)
【文献】国際公開第2016/181909(WO,A1)
【文献】特開2016-063391(JP,A)
【文献】国際公開第2020/170454(WO,A1)
【文献】国際公開第2020/170456(WO,A1)
【文献】米国特許出願公開第2018/0322669(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G09G 3/20
G09G 5/00-5/42
(57)【特許請求の範囲】
【請求項1】
接眼レンズを介して鑑賞するために、表示対象の画像に前記接眼レンズの収差による変化と逆の変化を与えた歪み画像を生成する画像生成装置であって、
前記逆の変化を与える前の画像平面において、前記歪み画像の画素に対応するサンプリング位置の分布に応じて選択的に設定された演算対象画素の画素値を求める画素値演算部と、
求められた画素値を補間することにより、前記接眼レンズの色収差に基づく異なる位置で、原色ごとにサンプリングを行うことにより前記歪み画像の画素値を決定するサンプリング部と、
を備えたことを特徴とする画像生成装置。
【請求項2】
前記画像平面における原色ごとのサンプリング位置と、前記演算対象画素の位置との対応関係を格納する位置関係記憶部をさらに備え、
前記画素値演算部は、前記位置関係記憶部に格納された位置の前記演算対象画素の画素値を求め、
前記サンプリング部は、対応する前記演算対象画素の画素値を補間することにより、原色ごとのサンプリングを行うことを特徴とする請求項1に記載の画像生成装置。
【請求項3】
前記歪み画像を所定サイズで分割してなる画素ブロックごとに、当該画素ブロックを構成する画素に対応するサンプル位置を原色ごとに取得するサンプル位置取得部と、
前記画素ブロックごとの前記サンプル位置に対し所定の規則でサンプリング領域を設定し、当該サンプリング領域に対し所定の規則で前記演算対象画素を配置する演算対象画素決定部と、
をさらに備えたことを特徴とする請求項1または2に記載の画像生成装置。
【請求項4】
前記演算対象画素決定部は、前記画素値演算部において可能な並列演算数の自然数倍の前記演算対象画素を、前記画素ブロックごとに配置することを特徴とする請求項3に記載の画像生成装置。
【請求項5】
前記画素値演算部は、前記サンプリング領域において、前記演算対象画素の画素値に基づき像のエッジ検出処理を実施し、エッジが存在するとき、当該サンプリング領域における演算対象画素を追加しさらに画素値を求めることを特徴とする請求項3または4に記載の画像生成装置。
【請求項6】
前記画素値演算部は、前記サンプリング領域におけるエッジの位置に応じて、追加する演算対象画素の密度を変化させることを特徴とする請求項5に記載の画像生成装置。
【請求項7】
前記画素値演算部は、表示された画像を鑑賞しているユーザの注視点に係る情報を取得し、当該注視点から所定範囲の注目領域に対応する前記サンプリング領域において、前記演算対象画素を追加して画素値を求めることを特徴とする請求項3から6のいずれかに記載の画像生成装置。
【請求項8】
前記演算対象画素決定部は、前記画素ブロックに対応する全原色の前記サンプル位置を包含する外接矩形の内部を、前記サンプリング領域として設定することを特徴とする請求項3から7のいずれかに記載の画像生成装置。
【請求項9】
前記演算対象画素決定部は、前記画素ブロックに対応する原色ごとの前記サンプル位置のうち、所定色のサンプル位置の分布に基づき前記サンプリング領域の境界を設定することを特徴とする請求項3から7のいずれかに記載の画像生成装置。
【請求項10】
前記画素値演算部は、前記演算対象画素の画素値をレイトレーシングにより求めることを特徴とする請求項1から9のいずれかに記載の画像生成装置。
【請求項11】
接眼レンズを介して鑑賞するために、表示対象の画像に前記接眼レンズの収差による変化と逆の変化を与えた歪み画像を生成する画像生成装置が、
前記逆の変化を与える前の画像平面において、前記歪み画像の画素に対応するサンプリング位置の分布に応じて選択的に設定された演算対象画素の画素値を求めるステップと、
求められた画素値を補間することにより、前記接眼レンズの色収差に基づく異なる位置で、原色ごとにサンプリングを行うことにより前記歪み画像の画素値を決定するステップと、
を含むことを特徴とする画像生成方法。
【請求項12】
接眼レンズを介して鑑賞するために、表示対象の画像に前記接眼レンズの収差による変化と逆の変化を与えた歪み画像を生成するコンピュータに、
前記逆の変化を与える前の画像平面において、前記歪み画像の画素に対応するサンプリング位置の分布に応じて選択的に設定された演算対象画素の画素値を求める機能と、
求められた画素値を補間することにより、前記接眼レンズの色収差に基づく異なる位置で、原色ごとにサンプリングを行うことにより前記歪み画像の画素値を決定する機能と、
を実現させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、接眼レンズを介して鑑賞する画像を生成する画像生成装置および画像生成方法に関する。
【背景技術】
【0002】
対象空間を自由な視点から鑑賞できる画像表示システムが普及している。例えば仮想3次元空間を表示対象とし、ヘッドマウントディスプレイを装着したユーザの視線方向に応じた画像が表示されるようにすることでVR(仮想現実)を実現する電子コンテンツが知られている。ヘッドマウントディスプレイを利用することで、映像への没入感を高めたり、ゲームなどのアプリケーションの操作性を向上させたりすることもできる。また、ヘッドマウントディスプレイを装着したユーザが物理的に移動することで、映像として表示された空間内を仮想的に歩き回ることのできるウォークスルーシステムも開発されている。
【発明の概要】
【発明が解決しようとする課題】
【0003】
表示装置の種類や視点の自由度によらず、視野が変化したり表示世界が動いていたりする場合、画像表示には高い応答性が求められる。一方でよりリアルな画像表現を実現するには、解像度を高めたり複雑な計算が必要になったりして画像処理の負荷が増大する。そのため視野や表示世界の動きに対し表示が追いつかず、臨場感が損なわれたり映像酔いを引き起こしたりすることもあり得る。
【0004】
本発明はこうした課題に鑑みてなされたものであり、その目的は、画像表示の応答性と品質を両立させることのできる技術を提供することにある。
【課題を解決するための手段】
【0005】
本発明のある態様は画像生成装置に関する。この画像生成装置は、接眼レンズを介して鑑賞するために、表示対象の画像に前記接眼レンズの収差による変化と逆の変化を与えた歪み画像を生成する画像生成装置であって、逆の変化を与える前の画像平面においてあらかじめ設定された演算対象画素の画素値を求める画素値演算部と、求められた画素値を補間することにより、接眼レンズの色収差に基づく異なる位置で、原色ごとにサンプリングを行うことにより歪み画像の画素値を決定するサンプリング部と、を備えたことを特徴とする。
【0006】
本発明の別の態様は画像生成方法に関する。この画像生成方法は、接眼レンズを介して鑑賞するために、表示対象の画像に前記接眼レンズの収差による変化と逆の変化を与えた歪み画像を生成する画像生成装置が、逆の変化を与える前の画像平面においてあらかじめ設定された演算対象画素の画素値を求めるステップと、求められた画素値を補間することにより、接眼レンズの色収差に基づく異なる位置で、原色ごとにサンプリングを行うことにより前記歪み画像の画素値を決定するステップと、を含むことを特徴とする。
【0007】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0008】
本発明によれば、画像表示の応答性と品質を両立させることができる。
【図面の簡単な説明】
【0009】
図1】本実施の形態におけるヘッドマウントディスプレイの外観例を示す図である。
図2】本実施の形態における画像処理システムの構成例を示す図である。
図3】本実施の形態で画像生成装置がヘッドマウントディスプレイに表示させる画像世界の例を説明するための図である。
図4図3で示した形態において、ヘッドマウントディスプレイに表示させる画像を生成するまでの一般的な処理手順を説明するための図である。
図5】本実施の形態の歪み画像における色ずれを説明するための図である。
図6】本実施の形態における画像生成装置の内部回路構成を示す図である。
図7】本実施の形態における画像生成装置の機能ブロックの構成を示す図である。
図8】本実施の形態におけるソース画像と歪み画像の関係を例示する図である。
図9】本実施の形態において色収差を考慮したときのサンプル位置と演算対象画素の関係を例示する図である。
図10】本実施の形態における歪み画像生成部の機能ブロックの構成をより詳細に示す図である。
図11】本実施の形態においてサンプル位置取得部と演算対象画素決定部が、歪み画像の画素ブロックと演算対象画素の対応関係を決定する処理手順を示すフローチャートである。
図12】本実施の形態において画素値演算部とサンプリング部が、歪み画像の画素値を決定する処理手順を示すフローチャートである。
図13】本実施の形態における、画素ブロックを構成する画素の数による影響を説明するための図である。
図14】本実施の形態において演算対象画素の数を画像平面で異ならせる態様を説明するための図である。
図15】本実施の形態において演算対象画素の数を画像平面で異ならせる別の態様を説明するための図である。
図16】本実施の形態においてG(緑)のサンプル位置に基づきサンプリング領域を決定する手法を説明するための図である。
【発明を実施するための形態】
【0010】
本実施の形態では、ユーザは表示パネルに表示された画像を、接眼レンズを介して鑑賞することを想定する。この限りにおいて画像を表示させる装置の種類は特に限定されないが、ここではヘッドマウントディスプレイを例に説明する。図1はヘッドマウントディスプレイ100の外観例を示す。この例においてヘッドマウントディスプレイ100は、出力機構部102および装着機構部104で構成される。装着機構部104は、ユーザが被ることにより頭部を一周し装置の固定を実現する装着バンド106を含む。
【0011】
出力機構部102は、ヘッドマウントディスプレイ100をユーザが装着した状態において左右の目を覆うような形状の筐体108を含み、内部には装着時に目に正対するように表示パネルを備える。筐体108内部にはさらに、ヘッドマウントディスプレイ100の装着時に表示パネルとユーザの目との間に位置し、ユーザの視野角を拡大する接眼レンズを備える。またヘッドマウントディスプレイ100はさらに、装着時にユーザの耳に対応する位置にスピーカーやイヤホンを備えてよい。またヘッドマウントディスプレイ100はモーションセンサを内蔵し、ヘッドマウントディスプレイ100を装着したユーザの頭部の並進運動や回転運動、ひいては各時刻の位置や姿勢を検出する。
【0012】
この例でヘッドマウントディスプレイ100は、筐体108の前面にステレオカメラ110を備え、ユーザの視線に対応する視野で周囲の実空間を動画撮影する。撮影した画像を即時に表示させれば、ユーザが向いた方向の実空間の様子がそのまま見える、いわゆるビデオシースルーを実現できる。さらに撮影画像に写っている実物体の像上に仮想オブジェクトを描画すればAR(拡張現実)を実現できる。
【0013】
図2は、本実施の形態における画像処理システムの構成例を示す。ヘッドマウントディスプレイ100は、無線通信またはUSBなどの周辺機器を接続するインターフェースにより画像生成装置200に接続される。画像生成装置200は、さらにネットワークを介してサーバに接続されてもよい。その場合、サーバは、複数のユーザがネットワークを介して参加できるゲームなどのオンラインアプリケーションを画像生成装置200に提供してもよい。
【0014】
画像生成装置200は、ヘッドマウントディスプレイ100を装着したユーザの頭部の位置や姿勢に基づき視点の位置や視線の方向を特定し、それに応じた視野となるように表示画像を生成してヘッドマウントディスプレイ100に出力する。この限りにおいて画像を表示する目的は様々であってよい。例えば画像生成装置200は、電子ゲームを進捗させつつゲームの舞台である仮想世界を表示画像として生成してもよいし、仮想世界が実世界かに関わらず観賞や情報提供のために静止画像または動画像を表示させてもよい。ユーザの視点を中心に広い画角でパノラマ画像を表示すれば、表示世界に没入した感覚を与えることができる。
【0015】
なお画像生成装置200の機能の一部または全てを、ヘッドマウントディスプレイ100の内部に設けてもよい。画像生成装置200の全ての機能をヘッドマウントディスプレイ100に内蔵させた場合、図示する画像処理システムが1つのヘッドマウントディスプレイ100により実現される。
【0016】
図3は、本実施の形態で画像生成装置200がヘッドマウントディスプレイ100に表示させる画像世界の例を説明するための図である。この例ではユーザ12が仮想空間である部屋にいる状態を作り出している。仮想空間を定義するワールド座標系には図示するように、壁、床、窓、テーブル、テーブル上の物などのオブジェクトを配置している。画像生成装置200は当該ワールド座標系に、ユーザ12の視点の位置や視線の方向に応じてビュースクリーン14を定義し、そこにオブジェクトの像を表すことで表示画像を描画する。
【0017】
ユーザ12の視点の位置や視線の方向(以後、これらを包括的に「視点」と呼ぶ場合がある)を所定のレートで取得し、これに応じてビュースクリーン14の位置や方向を変化させれば、ユーザの視点に対応する視野で画像を表示させることができる。視差を有するステレオ画像を生成し、表示パネルの左右の領域にそれぞれ表示させれば、仮想空間を立体視させることもできる。これによりユーザ12は、あたかも表示世界の部屋の中にいるような仮想現実を体験することができる。
【0018】
図4は、図3で示した形態において、ヘッドマウントディスプレイ100に表示させる画像を生成するまでの一般的な処理手順を説明するための図である。まずユーザの視点に対応するビュースクリーンに、仮想世界に存在するオブジェクトを射影することにより、ユーザの視野に対応する画像16を生成する。
【0019】
立体視させる場合は、左右の目の間隔に応じた視差分だけ画像16中の像を横方向にずらすか、画像16を各目に対し生成することにより、左目用画像18a、右目用画像18bからなるステレオ画像を生成する。そして左目用画像18a、右目用画像18bのそれぞれについて、接眼レンズによる歪曲収差や色収差に合わせて逆補正することで、最終的な表示画像22を生成する。
【0020】
ここで逆補正とは、接眼レンズを介して見たときに元の画像16が視認されるように、レンズの収差による変化と逆の変化を与えることにより、画像をあらかじめ歪ませたり原色(RGB)ごとに画素をずらしたりしておく処理である。例えば画像の四辺が糸巻き状に凹んで見えるレンズの場合、図示するように画像を樽型に湾曲させておく。以後、接眼レンズに対応する歪みや色ずれが与えられた画像を「歪み画像」と呼ぶ。
【0021】
図5は、歪み画像における色ずれを説明するための図である。この例で歪み画像24は、白黒の市松模様の床を有する室内を表している。図示するように、歪み画像24には、接眼レンズの特性上、周辺部に向かうほど大きい度合いで歪みが与えられる。接眼レンズの色収差により、歪みの与えられ方はR(赤)、G(緑)、B(青)の原色によって異なる。結果として、歪み画像24においては周辺部に向かうほど大きな色ずれが生じる。例えば歪み画像24の右下の領域を拡大した画像26に示すように、本来は白と黒の境界を表す箇所28において、色が徐々に変化する。
【0022】
すなわち図の上段に表すように、白から黒へ切り替わる境界がRGBで異なることにより、例えば本来、黒の領域であるべき部分に赤が最大輝度で残るなどして、白や黒以外の色が生じる結果となる。このように色がずれた歪み画像24を、接眼レンズを介して見ることにより、色収差によって色の変化が正しい位置に修正され、色ずれのない画像が視認される。歪み画像24は、例えば歪みのない画像を一旦生成し、原色ごとに収差に応じた異なる度合いで画像を歪ませることによって生成できる。
【0023】
一方、近年では、レイトレーシングにより高品質の画像を低遅延で描画する技術が発展してきている。レイトレーシングは、視点からビュースクリーン上の画素を通る仮想的な光線(レイ)を発生させ、反射、透過、屈折などのインタラクションを考慮して追跡し、到達先の色情報を取得する手法である。この技術を利用して、色ずれがある歪み画像を直接描画すれば、ヘッドマウントディスプレイであっても高品質の画像を低遅延で表示できる。しかしながらこの場合、光線は接眼レンズによってRGBで差が生じるため、それぞれに個別の光線を発生させ、追跡する必要がある。
【0024】
結果として、1画素あたりの処理の負荷が、通常のレイトレーシングの3倍かかることになる。そこで本実施の形態では、一旦、歪みや色ずれのない画像の平面を想定し、当該平面上の代表的な位置の画素値を求め、それをRGBのそれぞれについてサンプリングすることにより、色ずれのある歪み画像の画素値を決定する。歪みや色ずれを加える前の画像であれば、1画素あたりの光線の数は1つですむため、通常と同様の処理負荷でレイトレーシングを行える。ただし本実施の形態でソース画像の画素値を決定する手段はレイトレーシングに限定されず、一般的なラスタライズであってもよい。
【0025】
またサンプリング先となる、歪みや色ずれのない画像は、実際に画像として描画されたものである必要はない。すなわちサンプリングに用いる代表的な画素の値を、画像平面での位置に対して取得できれば、画素値の2次元配列としての画像データを中間データとして取得せずとも歪み画像の画素値を決定できる。以後、そのような部分的なデータの場合を含め、サンプリング先の画像、すなわち接眼レンズの収差による変化と逆の変化を与える前の画像を「ソース画像」と呼ぶ場合がある。
【0026】
図6は、画像生成装置200の内部回路構成を示している。画像生成装置200は、CPU(Central Processing Unit)222、GPU(Graphics Processing Unit)224、メインメモリ226を含む。これらの各部は、バス230を介して相互に接続されている。バス230にはさらに入出力インターフェース228が接続されている。
【0027】
入出力インターフェース228には、USBやIEEE1394などの周辺機器インターフェースや、有線又は無線LANのネットワークインターフェースからなる通信部232、ハードディスクドライブや不揮発性メモリなどの記憶部234、ヘッドマウントディスプレイ100へデータを出力する出力部236、ヘッドマウントディスプレイ100からデータを入力する入力部238、磁気ディスク、光ディスクまたは半導体メモリなどのリムーバブル記録媒体を駆動する記録媒体駆動部240が接続される。
【0028】
CPU222は、記憶部234に記憶されているオペレーティングシステムを実行することにより画像生成装置200の全体を制御する。CPU222はまた、リムーバブル記録媒体から読み出されてメインメモリ226にロードされた、あるいは通信部232を介してダウンロードされた各種プログラムを実行する。GPU224は、ジオメトリエンジンの機能とレンダリングプロセッサの機能とを有し、CPU222からの描画命令に従って描画処理を行い、その結果を出力部236に出力する。メインメモリ226はRAM(Random Access Memory)により構成され、処理に必要なプログラムやデータを記憶する。
【0029】
図7は、本実施の形態における画像生成装置200の機能ブロックの構成を示している。画像生成装置200は上述のとおり、電子ゲームを進捗させたりサーバと通信したりする一般的な情報処理を行ってよいが、図7では特に、表示画像を生成する機能に着目して示している。なお図7で示される画像生成装置200の機能のうち少なくとも一部を、ヘッドマウントディスプレイ100に実装してもよい。あるいは、画像生成装置200の少なくとも一部の機能を、ネットワークを介して画像生成装置200に接続されたサーバに実装してもよい。
【0030】
また図7に示す機能ブロックは、ハードウェア的には、図6に示したCPU、GPU、各種メモリなどの構成で実現でき、ソフトウェア的には、記録媒体などからメモリにロードした、データ入力機能、データ保持機能、画像処理機能、通信機能などの諸機能を発揮するプログラムで実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【0031】
画像生成装置200は、ヘッドマウントディスプレイ100から送信されるデータを取得する入力データ取得部260、ユーザの視点に係る情報を取得する視点情報取得部261、表示対象の空間を構築する空間構築部262、視点に対応するビュースクリーンを設定するビュースクリーン設定部264、接眼レンズの収差に基づき逆補正した歪み画像を生成する歪み画像生成部266、歪み画像のデータをヘッドマウントディスプレイ100に出力する出力部268を備える。
【0032】
画像生成装置200はさらに、空間の構築に必要なオブジェクトモデルに係るデータを記憶するオブジェクトモデル記憶部254、および、接眼レンズの収差に係るデータを記憶する収差情報記憶部256を備える。入力データ取得部260は図6の入力部238、CPU222などで構成され、ヘッドマウントディスプレイ100から送信される、モーションセンサの計測値や、ステレオカメラ110が撮影した画像などのデータを所定のレートで取得する。
【0033】
視点情報取得部261は図6のCPU222などで構成され、ユーザの視点の位置や視線の方向を所定のレートで取得する。例えば視点情報取得部261は、ヘッドマウントディスプレイ100のモーションセンサの計測値に基づき頭部の位置や姿勢を特定する。ヘッドマウントディスプレイ100の外部に図示しない発光マーカーを設け、視点情報取得部261が、その撮影画像を図示しない撮像装置から取得して解析することで、頭部の位置や姿勢の情報を取得してもよい。
【0034】
あるいは視点情報取得部261は、ステレオカメラ110の撮影画像に基づきSLAMなどの技術により頭部の位置や姿勢を取得してもよい。このように頭部の位置や姿勢を取得できれば、ユーザの視点の位置および視線の方向はおよそ特定できる。なお視点情報取得部261は、過去の視点の動きに基づき、ヘッドマウントディスプレイ100において画像が表示されるタイミングでの視点の位置や視線の方向を予測してもよい。
【0035】
ユーザの視点に係る情報を取得したり予測したりする手段として、この他にも様々に考えられることは当業者には理解されるところである。例えばヘッドマウントディスプレイ100の筐体108の内部に、表示画面に対するユーザの注視点を追跡する注視点検出器を設け、入力データ取得部260がその追跡結果を所定のレートで取得することにより、視点情報取得部261が厳密に視点を取得したり予測したりしてもよい。
【0036】
空間構築部262は、図6のCPU222、GPU224、メインメモリ226などで構成され、表示対象のオブジェクトが存在する空間の形状モデルを構築する。図3で示した例では、室内を表す壁、床、窓、テーブル、テーブル上の物などのオブジェクトを、仮想空間を定義するワールド座標系に配置する。個々のオブジェクトの形状に係る情報はオブジェクトモデル記憶部254から読み出す。空間構築部262が構築する空間は、ゲームなどの進捗に応じて変化させてもよい。
【0037】
ビュースクリーン設定部264は、図6のCPU222、GPU224、メインメモリ226などで構成され、視点情報取得部261が取得、あるいは予測した視点や視線に対応するようにビュースクリーンを設定する。すなわち頭部の位置や顔面の向く方向に対応させてスクリーン座標を設定することにより、ユーザの位置や向く方向に応じた視野で、表示対象の空間がスクリーン平面に描画されるようにする。ここで設定するビュースクリーンは、ヘッドマウントディスプレイ100の表示パネルの平面に対応し、歪み画像の画素のマトリクスを定義するものである。
【0038】
歪み画像生成部266は、図6のGPU224、メインメモリ226などで構成され、ヘッドマウントディスプレイ100の接眼レンズに応じて逆補正を施した歪み画像を、表示画像として所定のレートで生成する。具体的には上述のとおり、まず歪みのないソース画像の平面における画素値(RGB値)を算出したうえ、歪み画像の画素に対応する位置の画素値を補間により求めることでサンプリングを行う。上述のとおりRGBのそれぞれで歪みの度合いが異なるため、サンプル位置もRGBで異なることになる。
【0039】
また歪み画像生成部266は、ソース画像平面において画素値を求める位置を、サンプル位置に応じて選択的に決定する。これにより処理の負荷を抑制しつつ効率的に画質を向上させる。以後、ソース画像平面において画素値を算出する対象を「演算対象画素」と呼ぶ。演算対象画素の画素値は上述のとおりレイトレーシングにより決定してよい。この際、接眼レンズを考慮する必要はない。
【0040】
レイトレーシングを採用することにより、画素ごとに独立した処理が可能となる。なおレイトレーシング自体は広く知られた技術であり、細かくはレイマーチング、パストレーシング、フォトンマッピングなど様々なモデルが提案されているが、そのいずれを採用してもよい。以後、モデルによらず、光線を発生させ3次元空間でのインタラクションを考慮して色情報を得る手法を「レイトレーシング」と総称する。
【0041】
ソース画像平面における演算対象画素の位置は上述のとおり、歪み画像における画素のRGBそれぞれに対応するサンプル位置に基づき決定される。両者の関係は、ヘッドマウントディスプレイ100に実装される接眼レンズの収差に依存するため、収差情報記憶部256には接眼レンズの収差に係る情報、例えば原色ごとの歪みの分布に係るデータを格納しておく。
【0042】
歪み画像生成部266は当該情報に基づき、ソース画像平面におけるサンプル位置を求め、それに対応するように、演算対象画素の位置をあらかじめ定めておく。これにより表示画像生成時には、同じ位置の画素に対しレイトレーシングなどの演算を行う。ただし歪み画像生成部266は後述するように、画像の内容やユーザの注目領域などの状況に応じて、演算対象画素を可変としてもよい。
【0043】
表示画像を立体視させる場合、歪み画像生成部266は、左目用、右目用のそれぞれに対し表示画像を生成する。すなわち左目を視点とし左目用の接眼レンズを想定した歪み画像と、右目を視点として右目用の接眼レンズを想定した歪み画像を生成する。出力部268は、図6のCPU222、メインメモリ226、出力部236などで構成され、歪み画像生成部266が生成した歪み画像のデータをヘッドマウントディスプレイ100に順次送出する。立体視させる場合、出力されるデータは、画像の左半分に左目用の歪み画像、右半分に右目用の歪み画像が配置されたデータとなる。
【0044】
図8は、ソース画像と歪み画像の関係を例示している。なおここで示すソース画像30は説明のために示しており、上述のとおり画像として生成することに限定されない。図9も同様である。色収差を考慮しないとすると、最終的な表示対象である歪み画像32における直交座標系での画素36a、36b、36c、36dは、ソース画像30における位置34a、34b、34d、34cにそれぞれ対応する。すなわちソース画像30における位置34a、34b、34d、34cが、歪み画像32を生成する際のサンプル位置になる。
【0045】
図示するようにソース画像30におけるサンプル位置は、直交座標に対し歪んだ配置となる。そこで歪み画像生成部266は例えば、サンプル位置の外接矩形38を設定し、その四隅や辺上など、外接矩形38に対する所定の位置に演算対象画素を設定する。ここでサンプル位置は、接眼レンズの特性に依存して事前に判明するため、演算対象画素も事前に決定できる。
【0046】
すなわち歪み画像32と、ソース画像30との関係は、一般的なカメラのレンズによって歪みが生じた撮影画像と、歪みを補正した画像との関係に等しい。したがって歪み画像32における位置座標(x,y)に対応する、ソース画像30の位置座標(x+Δx,y+Δy)の位置のずれ(Δx,Δy)は、次の一般式で算出できる。
【0047】
【数1】
【0048】
ここでrはレンズの光軸から対象画素までの距離、(Cx,Cy)はレンズの光軸の位置である。またk、k、k、・・・はレンズ歪み係数でありレンズの設計や光の波長帯に依存する。補正の次数は特に限定されない。なおこの式は、接眼レンズによる歪みを補正するための代表的な数式であるが、本実施の形態で実施するサンプル位置の決定手法をこれに限定する主旨ではない。
【0049】
歪み画像生成部266は、歪み画像32のうち例えば画素36a、36b、36c、36dなどからなる2×2画素のブロックを1単位として、当該単位ごとにソース画像30におけるサンプル位置を式1などにより導出したうえ、それらに対応する演算対象画素を決定し対応づけておく。そして画像表示時は、演算対象画素の画素値をレイトレーシングにより決定したうえ、それを補間することでサンプル位置の画素値、ひいては歪み画像32における画素ブロックの画素値を決定する。
【0050】
図9は、色収差を考慮したときのサンプル位置と演算対象画素の関係を例示している。図8と同様、歪み画像32における直交座標系上の複数の画素で構成される画素ブロック40に対し、ソース画像30におけるサンプル位置が歪んだ配置で得られ、それに対し外接矩形42が設定される。ただしこの例では、歪み画像における3×3個の画素を1ブロック(1単位)としている。図の右下は、1つの画素ブロック40の拡大図であり、右端の凡例で示すように各画素のRGB成分を異なる模様で網掛けした丸で示している。
【0051】
なお画素ブロック40の拡大図では便宜上、同一位置の画素のRGB成分の印を若干ずらして示している。歪み画像生成部266は、歪み画像32の画素ブロック単位で、各画素のRGB値を決定する。ところが図の左下に拡大して示すように、ソース画像30におけるRGBのサンプル位置は、接眼レンズの色収差、ひいては式1のレンズ歪み係数kの差に起因してずれて分布する。そこで歪み画像生成部266は例えば、RGB全てのサンプル位置を包含する外接矩形42を設定し、当該外接矩形42に対し所定の配置で演算対象画素を決定する。
【0052】
図示する例では、外接矩形42とその内部領域に均等に、合計3×3個の演算対象画素(例えば演算対象画素44a、44b、44c)を設定している。歪み画像生成部266は演算対象画素のRGBの値を1つの光線により取得したうえ、RGBそれぞれのサンプル位置における値を補間により求め、歪み画像32の画素値とする。なおサンプル位置の値を補間により求められる限り、演算対象画素の配置や設定数は限定されない。例えば外接矩形は正方形に限らず長方形、平行四辺形、台形などでもよい。
【0053】
また画素ブロックのサンプル位置に対応するように演算対象画素を分布させる領域を定義できれば、その境界線は正しくサンプル位置に外接する矩形でなくてもよい。以後、当該領域を「サンプリング領域」と呼ぶ。さらに、サンプリング領域における演算対象画素の分布は、図示するように縦横に等間隔としてもよいし、縦横で間隔が異なっていてもよい。あるいはサンプリング領域内で密度に偏りがあってもよいし、ランダムな配置としてもよい。いずれにしろサンプル位置における画素値の補間は、演算対象画素を頂点とする任意の三角形により重心座標系を用いて行える。
【0054】
図10は、歪み画像生成部266の機能ブロックの構成をより詳細に示している。歪み画像生成部266のうちサンプル位置取得部270は、収差情報記憶部256から、接続先のヘッドマウントディスプレイ100が実装する接眼レンズの収差に係る情報を読み出し、ソース画像平面におけるサンプル位置を取得する。すなわちサンプル位置取得部270は、歪み画像の平面を所定サイズに分割してなる画素ブロックごとに、それを構成する画素に対応する、ソース画像平面における位置座標を取得する。
【0055】
図9に示したように、サンプル位置はRGBで異なるため、サンプル位置取得部270は、1画素あたり3つのサンプル位置を取得する。演算対象画素決定部272は、サンプル位置に対し所定の規則でサンプリング領域を決定し、当該サンプリング領域に対する所定の規則で演算対象画素の位置を決定する。サンプリング領域およびそれに対応する演算対象画素は、歪み画像の平面における画素ブロックごとに生成される。
【0056】
位置関係記憶部274は、歪み画像における画素ブロックごとに、サンプリング領域、演算対象画素の位置、RGBのサンプル位置を対応づけて記憶する。画素値演算部276は、実際に表示される画像を生成する段において、演算対象画素の位置座標を位置関係記憶部274から取得し、それぞれの画素値をレイトレーシングなどにより算出する。画素値保存部278は、少なくとも1つのサンプリング領域を構成する演算対象画素の値を一時的に保存する。
【0057】
サンプリング部280は、位置関係記憶部274に格納されたサンプル位置の座標に基づき、対応するサンプリング領域を構成する演算対象画素のRGBの値を補間することにより、RGBそれぞれのサンプル位置の値を取得する。サンプリング部280は、サンプリングにより決定したRGBの値を、歪み画像の画素に対応づけて歪み画像保存部282に格納する。格納された歪み画像のデータは、例えば画素ブロックを構成する行単位で、出力部268からヘッドマウントディスプレイ100に出力される。
【0058】
なお図示する例は画素値演算部276が、ソース画像の平面における演算対象画素の画素値を、レイトレーシングなどによりその場で求めることを想定している。すなわち画素値演算部276は、演算対象画素が表すRGBの値を、表示対象の空間におけるオブジェクトからの実サンプリングによって計算する。画素値保存部278には、少なくとも1つのサンプリング領域を構成する演算対象画素の画素値が格納されていれば、サンプリング部280は、歪み画像における対応する画素ブロックの画素値を決定できる。
【0059】
一方、ソース画像全体を別途生成する場合、画素値演算部276の機能を省略することができる。この場合、そのようにして生成されたソース画像全体のデータを、画素値保存部278に格納しておくことにより、サンプリング部280は同様にサンプリングを行い、歪み画像の画素値を決定できる。具体的にはサンプリング部280は、位置関係記憶部274を参照して、全画素を表すソース画像から演算対象画素に対応する画素を抽出し、それを補間することでRGBごとにサンプリングを行う。
【0060】
この態様は、例えば従来型のレンダリング装置と組み合わせ、当該装置がラスタライズなどにより生成したソース画像を画素値保存部278に格納することにより実現される。あるいは画素値演算部276がそのような機能を有していてもよい。このとき画素値演算部276は、画素の2次元配列全体の画素値を求めてもよいし、そのうち全画素ブロックに対応する、演算対象画素の画素値のみを求めてもよい。
【0061】
図11は、サンプル位置取得部270と演算対象画素決定部272が、歪み画像の画素ブロックと演算対象画素の対応関係を決定する処理手順を示すフローチャートである。まずサンプル位置取得部270は、歪み画像平面を所定の画素数単位で分割することにより画素ブロックを形成する(S10)。画素ブロックのサイズは例えば、3×3画素、4×4画素、16×16画素などが考えられるが、特に限定されない。
【0062】
次にサンプル位置取得部270は、画素ブロックの1つを対象ブロックとして設定したうえ(S12)、ソース画像平面において、対象ブロックを構成する画素に対応する位置をサンプル位置として取得する(S14)。この処理は、接眼レンズの収差に基づき、RGBのそれぞれについて実施する。続いて演算対象画素決定部272は、ソース画像平面に対し設定された複数のサンプル位置に対応するように、サンプリング領域を決定する(S16)。
【0063】
例えば上述のように、RGBそれぞれのサンプル位置が全て含まれ、最も外側のサンプル位置に外接する矩形の内部をサンプリング領域とする。そして演算対象画素決定部272は、サンプリング領域に対し所定の規則で演算対象画素を配置する(S18)。例えば歪み画像の画素ブロックをN×N個の画素で構成する場合、サンプリング領域の頂点や辺上を含み均等な位置に、同じN×N個の演算対象画素を設定する。
【0064】
そして演算対象画素決定部272は、対象としている画素ブロックに対応づけて、ソース画像平面におけるサンプル位置と演算対象画素の位置とを含む情報を位置関係記憶部274に格納する(S20)。歪み画像を構成する全ての画素ブロックについてS14~S20の処理を繰り返し(S22のN、S12)、全画素ブロックの情報を格納したら処理を終了する(S22のY)。
【0065】
図12は、画素値演算部276とサンプリング部280が、歪み画像の画素値を決定する処理手順を示すフローチャートである。まず画素値演算部276は画素値を決定する画素ブロックを1つ設定する(S30)。例えば画素値演算部276は、歪み画像の左上の画素ブロックから選択していく。次に画素値演算部276は位置関係記憶部274を参照して、対象の画素ブロックに対応づけられた演算対象画素に対しRGBの画素値を算出する(S32)。例えば画素値演算部276は、演算対象画素ごとに光線を生成しレイトレーシングにより画素値のセットを取得する。
【0066】
画素値演算部276は、計算したRGB値を画素の位置と対応づけて画素値保存部278に一時保存する(S34)。1つのサンプリング領域における演算対象画素の値は、対応する1つの画素ブロックの画素値を決定するのに用いられるため、少なくとも当該処理が完了するまでデータを保存しておく。次にサンプリング部280は、演算対象画素のRGB値を補間することにより、RGBそれぞれのサンプル位置での値を取得する(S36)。サンプリング部280は、取得したR値、G値、B値を、元の歪み画像の画素の位置座標に対応づけて歪み画像保存部282に格納する(S38)。
【0067】
歪み画像を構成する全ての画素ブロックについてS32~S38の処理を繰り返し(S40のN、S30)、全ブロックの画素値を決定したら処理を終了する(S40のY)。その間、サンプリング部280は、歪み画像保存部282に格納した歪み画像のデータを所定のタイミングで出力部268に出力していく。図示する処理をフレームごとに繰り返すことにより、色収差を考慮した歪み画像がヘッドマウントディスプレイに動画像として表示される。
【0068】
これまで述べた構成において、画素値演算部276およびサンプリング部280をGPUによって実現し、1つの画素ブロックを構成する画素に対する演算を並列に行うと効率がよい。例えばSIMD(Single Instruction Multiple Data)を実装したGPUの場合、画素ブロックを、並列数(SIMD単位)の自然数倍の数の画素で構成し、対応する演算対象画素も同じ数だけ設定する。一例としてNVIDIA社のGPUを用い、1Warpに対応するSIMD単位を32スレッドとすると、4×8、8×16、あるいは16×16などの画素を1ブロックとする。そして当該単位でレイトレーシングによる演算を行ったりサンプリングしたりすることにより処理効率を高められる。
【0069】
この場合、演算対象画素の画素値を一時保存する画素値保存部278は、GPU内のレジスタまたはShared Memoryで実現することにより、サンプリング部280によるサンプリングを高速に行える。ただしSIMD単位のn倍(nは2以上の自然数)の演算対象画素を設定した場合は、全ての演算対象画素の値が決定するまで、すなわちn-1サイクルだけ余計に、サンプリングを待機する必要がある。
【0070】
図13は、画素ブロックを構成する画素の数による影響を説明するための図である。(a)は、2×2画素の画素ブロックに対し、2×2個の演算対象画素を設定した場合、(b)は4×2画素の画素ブロックに対し、4×2個の演算対象画素を設定した場合を示している。図は画像平面の一部を表し、RGBそれぞれのサンプル位置は異なる模様で網掛けした丸で、演算対象画素は黒丸(例えば演算対象画素50、54)で示している。またSIMD単位は4スレッドであり、1スレッドにつき1画素分を演算するとする。
【0071】
(a)の場合、1セットである4つの演算対象画素についての演算が同時に完了するため、サンプリング部280は直後にサンプリングを開始できる。一方、RGBのサンプル位置を全て包含するようにサンプリング領域を設定すると、サンプリング領域52aとサンプリング領域52bのように、複数のサンプリング領域に重複領域56が生じる。これは画素ブロックごとのサンプル位置の及ぶ範囲が、RGBで異なることに起因する。
【0072】
図示する例ではRのサンプル位置の分布に対してBのサンプル位置の分布が横方向に2倍程度広いため、両者を包含するようにサンプリング領域52aを設定すると、左端のRのサンプル位置から右端のBのサンプル位置まで、サンプリング領域が引き延ばされる。当該Bのサンプル位置は、別のサンプリング領域52bのRやGのサンプル位置と重複するため、結果として重複領域56が生じることになる。
【0073】
一方、(b)の場合、上述のとおり、1回の並列処理では1セットである8つの演算対象画素についての演算が完了しないため、サンプリング処理の開始までには2回分の処理を待機する必要がある。一方で(a)の場合と比較すると、単位面積当たりの演算対象画素の数が増加する。例えば(a)のサンプリング領域52bと比較し、(b)のサンプリング領域58の演算対象画素は密度が高くなっている。これは1画素ブロックに対応するRGBのサンプリング位置の分布の開きを、サンプリング領域58の面積の大きさで吸収しやすくなり、結果としてサンプリング領域同士の重複が減るためである。
【0074】
換言すれば、高い密度での画素値を用いてサンプリングできるため、(a)の場合より画質向上に寄与しやすい。このように、歪み画像における画素ブロックの分割粒度、ひいてはサンプリング領域の大きさは、画質と処理の待機時間(同期コスト)の双方に影響を与える。定性的には、画素ブロックが細かいほどサンプリング領域の重複領域が増え画質が低下しやすいが、処理の同期コストは軽減される。画素ブロックが大きいほどサンプリング領域の重複領域が減り画質が向上しやすいが、処理の同期コストは増える。
【0075】
これを踏まえ、ヘッドマウントディスプレイ100に実装される接眼レンズの収差、表示させるコンテンツの特性、求められる画質などによって、画素ブロックの分割粒度を最適化しておくことが望ましい。たとえばサンプル位置取得部270において、それらのパラメータと、画素ブロック当たりの画素数の最適値とを対応づけたテーブルを格納しておき、実際の状況に応じて分割粒度を最適化してもよい。
【0076】
図13では1つの画素ブロックを構成する画素の数と、対応する演算対象画素の数を同じとしていたが、本実施の形態をそれに限る主旨ではない。図14は、演算対象画素の数を画像平面で異ならせる態様を説明するための図である。この例では、画像60として表される像のエッジを含むか否かで、1つのサンプリング領域に設定する演算対象画素の数を変化させている。ここでエッジとは、定性的には画素値の空間変化の割合が所定値以上の箇所であり、一般的なエッジ抽出フィルタにより検出可能である。
【0077】
図示する例では、画像60のうちエッジを含まない領域62aに対応するサンプリング領域64aに対しては、黒丸で示すように3×3個の演算対象画素を設定している。一方、エッジを含む領域62bに対応するサンプリング領域64bに対しては、一部の領域で演算対象画素を追加している(例えば演算対象画素66)。例えば1つのサンプリング領域64b内でも、像のエッジから所定範囲において、局所的に演算対象画素を追加する。
【0078】
このように演算対象画素は、サンプリング領域64bでのエッジの位置に応じて密度が変化するように追加してもよいし、エッジが存在するサンプリング領域64b全体で同様の密度で追加してもよい。また規則的に追加するのに限らず、ランダムな位置に追加してもよい。接眼レンズの色収差による影響は、像のエッジ部分で認識されやすいため、その領域において演算対象画素を増やしサンプリングを高精度に行うことにより、色ずれのない高品質な画像を認識させることができる。
【0079】
この場合、画素値演算部276はまず、対象となるサンプリング領域について、追加前の演算対象画素について画素値を取得したうえ、ソーベルフィルタなどのエッジ抽出フィルタによりエッジ抽出を行う。そして当該サンプリング領域がエッジを含むことを判定したら、演算対象画素を所定の規則により追加し、その画素値を同様に求める。サンプリング部280が行うサンプリングは、補間に用いる画素が変化する以外、同様でよい。なお画素値演算部276は、1つのサンプリング領域に含まれるエッジ領域の大きさや長さに応じて、演算対象画素を追加するか否かや、追加数などを決定してもよい。
【0080】
図15は、演算対象画素の数を画像平面で異ならせる別の態様を説明するための図である。この例では、ユーザが注目しているか否かで、1つのサンプリング領域に設定する演算対象画素の数を変化させている。図示する例では、画像70のうちユーザが注目していない領域72aに対応するサンプリング領域74aに対しては、黒丸で示すように3×3個の演算対象画素を設定している。一方、ユーザが注目している領域72bに対応するサンプリング領域74bに対しては、演算対象画素を追加している(例えば演算対象画素76)。なおこの場合も、演算対象画素の配置は特に限定されない。
【0081】
この態様を実現するため、ヘッドマウントディスプレイ100の内部には、表示画像のうちユーザが着目している領域を検出するための注視点検出器を設ける。注視的検出器は例えば、ユーザの眼球に赤外線を照射しその反射光を取得することにより眼球の向きを特定し、それに基づき視線の到達点を検出する一般的な装置でよい。画像生成装置200は、注視点検出器による検出結果をヘッドマウントディスプレイ100から所定のレートで取得する。
【0082】
そして画素値演算部276は、注視点から所定範囲内にある画素ブロックに対応するサンプリング領域に対しては、演算対象画素を所定の規則により追加したうえで画素値を求める。このような構成により、ユーザの注目領域については特に色ずれが認識されないようにでき、処理の負荷増大させることなく認識上で画像品質を高めることができる。なお図14で示した、像のエッジに基づく演算対象画素の追加と、図15で示した、注目領域に基づく演算対象画素の追加は、組み合わせてもよい。この場合、像のエッジが存在し注目されている領域について、演算対象画素が最も増えることになる。
【0083】
これまで述べた態様では、1つの画素ブロック当たり、RGB全てのサンプル位置を包含するようにサンプリング領域を決定することを基本とした。一方、RGBのいずれかのサンプル位置のみを基準としてサンプリング領域を決定してもよい。図16は、G(緑)のサンプル位置に基づきサンプリング領域を決定する手法を説明するための図である。(a)、(b)の左側は、ソース画像平面におけるRGBのサンプル位置を、右端の凡例のように異なる模様で網掛けした丸で示している。
【0084】
また(a)、(b)の右側は、歪み画像の画素配列82を示しており、斜めにずらして表したRGBの3つの丸印がセットで1つの画素を構成する。ただし左側に示したサンプリング領域によってサンプリングされ値が決定する画素および色のみ、網掛けで示している。左側に示すように、この例では4×4個のGのサンプル位置単位でサンプリング領域80a、80bを設定している。ただしサンプリング領域80a、80bの辺はGのサンプル位置を結ぶように決定し、右辺および下辺はGのサンプル位置を含めない。
【0085】
すなわち、図示するように右方向および下方向のサンプル位置に昇順に整数を割り振る座標系において、(a)のサンプリング領域80aの範囲RaはG(0,0)≦Ra<G(3,3)、(b)のサンプリング領域80bの範囲RbはG(3,0)≦Rb<G(6,3)となる。歪み画像における各画素のRGBのサンプル位置が、ソース画像平面においては左からR、G、Bの順に略横方向に分散するとすると、サンプリング領域80aの左端からはRのサンプル位置が、右端からはGおよびBのサンプル位置が逸脱する。
【0086】
したがって(a)の右側に示す、歪み画像の画素配列82では、画素ブロックの左端でRの値が定まらない画素(例えば画素84)が、右端でGおよびBの値が定まらない画素(例えば画素86)が生じる。しなしながら次に演算対象となる、右隣のサンプリング領域80bによって、同じ画素86のGおよびBの値がサンプリングされる。このように1つの色のサンプル位置でサンプリング領域を区切っても、隣接するサンプリング領域によって、逸脱した色の画素値が補填されるため、最終的には全ての画素についてRGBの値を決定できる。
【0087】
この例ではGのサンプル位置の分布に基づきサンプリング領域の境界を決定したが、Rのサンプル位置あるいはBのサンプル位置の分布に基づいて境界を設定してもよい。いずれにしろ単一の色のサンプル位置によりサンプリング領域の境界を決定すれば、図13の(a)に示したように、色によるサンプル位置の分布の差に起因してサンプリング領域が重複することがなくなる。結果として画素ブロックの分割粒度によらず安定した品質で画像を表示できる。
【0088】
以上述べた本実施の形態によれば、接眼レンズを介して画像を鑑賞する形式の画像表示システムにおいて、色収差を考慮した色ずれおよび歪みのある表示画像を、歪みや色ずれのない画像の平面からサンプリングすることにより生成する。これにより、レイトレーシングにより高品質な画像を表示させる場合であっても、RGBで個別の光線を追跡する必要がなくなる。結果として、負荷の大きい処理に対しさらに3倍の負荷をかけるといったことなく、原色ごとに適切な画像を低遅延で生成できる。
【0089】
また、GPUの並列処理の性能に合わせて、表示画像を画素ブロックに分割し、そのサンプル位置の分布に基づき、実際に画素値を演算する画素の分布を選択的に決定する。当該画素の単位で処理を進捗させることにより、短い処理サイクルおよび高速メモリアクセスで、画素ブロックごとに画素値を決定していくことができる。さらに接眼レンズの特性、表示画像の内容、エッジの有無、ユーザの注目領域などに応じて、画素ブロックの大きさや、演算対象とする画素の数を最適化することにより、処理の負荷を抑えつつ、ユーザの認識上で効果的に、品質の高い映像体験を提供できる。
【0090】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【0091】
100 ヘッドマウントディスプレイ、 200 画像生成装置、 222 CPU、 224 GPU、 226 メインメモリ、 234 記憶部、 236 出力部、 254 オブジェクトモデル記憶部、 256 収差情報記憶部、 260 入力データ取得部、 261 視点情報取得部、 262 空間構築部、 264 ビュースクリーン設定部、 266 歪み画像生成部、 268 出力部、 270 サンプル位置取得部、 272 演算対象画素決定部、 274 位置関係記憶部、 276 画素値演算部、 278 画素値保存部、 280 サンプリング部、 282 歪み画像保存部。
【産業上の利用可能性】
【0092】
以上のように本発明は、ヘッドマウントディスプレイ、ゲーム装置、画像表示装置、携帯端末、パーソナルコンピュータなど各種情報処理装置や、それらのいずれかを含む画像処理システムなどに利用可能である。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16