説明

画像処理装置、画像データ生成装置、画像処理方法、画像データ生成方法、および画像ファイルのデータ構造

【課題】高精細な画像を表示する際、対象物の表面に凹凸感を表現する。
【解決手段】表示画像処理部114において、視差表現部124は、画素ごとに対象物の高さ情報を保持するハイトマップ132を用いて、対象物に高さがあることによって発生する、視点の移動による見え方の違いを座標のずれとして表現する。色表現部126は、視差表現部124が導出したテクスチャ座標値などを用い、カラーマップ134の画素をずらしてレンダリングを行う。この際、画素ごとに対象物表面の法線を保持する法線マップ136を用いて光の当たり具合を変化させ凹凸を表現する。影表現部128は、光源の角度によって影が生じるか否かの情報を画素ごとに保持するホライズンマップ138を用いて、色表現部126が描画した画像に影をつける。画像出力部130は、最終的な表示画像を表示処理部44のフレームメモリに描画する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、視点の移動に伴い表示画像を変化させる画像処理技術に関する。
【背景技術】
【0002】
ゲームプログラムを実行するだけでなく、動画を再生できる家庭用エンタテインメントシステムが提案されている。この家庭用エンタテインメントシステムでは、GPUがポリゴンを用いた三次元画像を生成する(例えば特許文献1参照)。
【0003】
画像表示の目的に関わらず、画像をいかに効率よく表示するかは常に重要な問題となる。特に高精細な画像を高速に描画するためには様々な工夫が必要となり、例えばテクスチャデータを別に保持しマッピングを効率的に行う手法について提案がなされている(例えば非特許文献1および2参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許第6563999号公報
【非特許文献】
【0005】
【非特許文献1】Sylvain Fefebvre, et. al., Unified Texture Management for Arbitrary Meshes, Repport de recherche, N5210, May 2004, Institut National De Recherche En Informatique Et En Automatique
【非特許文献2】Martin Kraus, et. al., Adaptive Texture Maps, Graphics Hardware (2002), pp1-10, The Eurographics Association
【発明の概要】
【発明が解決しようとする課題】
【0006】
表示画像が高精細化しても、データサイズを小さく抑えること、高速に描画することは、画像を応答性良く表示するためには常に重要な課題である。また高精細な画像を利用して、視点の様々な移動に対応させて表示画像を変化させ、臨場感を表現することのできる技術が望まれている。
【0007】
本発明はこのような課題に鑑みてなされたものであり、その目的は、高精細な画像を効率的かつ臨場感をもって表示することのできる画像処理技術を提供することにある。
【課題を解決するための手段】
【0008】
本発明のある態様は画像処理装置に関する。この画像処理装置は、表示対象の画像を描画するための複数の処理のそれぞれに用いる複数の画像データを格納した記憶部と、ユーザが入力した視点移動要求に従い、表示対象の画像のうち新たに表示すべき領域のフレーム座標を特定する描画領域特定部と、フレーム座標に対応する表示画像の領域を、記憶部に格納された画像データを用いて描画し、表示装置に出力する表示画像処理部と、を備え、表示画像処理部は、視点移動要求に基づく視点の高さによって、複数の画像データのいずれかを用いる複数の処理のうち実施する処理を異ならせることを特徴とする。
【0009】
本発明の別の態様は画像データ生成装置に関する。この画像データ生成装置は、対象物を撮影した画像のデータを生成する画像データ生成装置であって、光源の方向を異ならせて対象物を撮影した複数の計測画像を取得する計測画像取得部と、計測画像のうち所定の光源の方向での計測画像から、画素ごとの色情報を保持するカラーマップを作成するカラーマップ作成部と、計測画像を照度差ステレオ法により解析し、対象物の法線ベクトルを画像中の画素に対応させて表した法線マップを作成する法線マップ作成部と、法線マップを所定の方向にて全面走査し、法線ベクトルから得られる当該所定の方向における対象物の傾きを積分することにより当該対象物の高さを画素に対応させて表したハイトマップを作成するハイトマップ作成部と、カラーマップ、法線マップ、およびハイトマップを画像データとして格納する記憶部と、を備えることを特徴とする。
【0010】
本発明のさらに別の態様は画像処理方法に関する。この画像処理方法は、ユーザが入力した視点移動要求に従い、表示対象の画像のうち新たに表示すべき領域のフレーム座標を特定するステップと、記憶装置に格納された、表示対象の画像を描画するための複数の処理のそれぞれに用いる複数の画像データのうち少なくともいずれかを読み出し、それを用いて前記フレーム座標に対応する表示画像の領域を描画するステップと、描画した領域のデータを表示装置に出力するステップと、を含み、描画するステップは、視点移動要求に基づく視点の高さによって、複数の画像データのいずれかを用いる前記複数の処理のうち実施する処理を異ならせることを特徴とする。
【0011】
本発明のさらに別の態様は画像データ生成方法に関する。この画像データ生成方法は、対象物を撮影した画像のデータを生成する画像データ生成方法であって、光源の方向を異ならせて対象物を撮影した複数の計測画像を取得しメモリに格納するステップと、メモリより読み出した、計測画像のうち所定の光源の方向での計測画像を用いて、画素ごとの色情報を保持するカラーマップを作成するステップと、メモリより読み出した計測画像を、照度差ステレオ法により解析し、対象物の法線ベクトルを画像中の画素に対応させて表した法線マップを作成するステップと、法線マップを所定の方向にて全面走査し、法線ベクトルから得られる当該所定の方向における対象物の傾きを積分することにより当該対象物の高さを画素に対応させて表したハイトマップを作成するステップと、カラーマップ、前記法線マップ、および前記ハイトマップを画像データとして記憶装置に格納するステップと、を含むことを特徴とする。
【0012】
本発明のさらに別の態様は画像ファイルのデータ構造に関する。このデータ構造は、画像の少なくとも一部をディスプレイに表示するために記憶装置から読み出される画像ファイルのデータ構造であって、表示画像の色を表現するために用いる、色情報を画素ごとに保持するカラーマップと、画像中の対象物に対する視差を表現するために用いる、当該対象物の画像平面に対する高さの情報を画素ごとに保持するハイトマップと、画像中の対象物の表面に凹凸を表現するために用いる、当該対象物の表面の法線ベクトルの情報を画素ごとに保持する法線マップと、設定された光源の方向に対応する影をつけるために用いる、各画素に対象物の影が生じるときの光源の方向の情報を画素ごとに保持するホライズンマップと、を対応づけたことを特徴とする。
【0013】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0014】
本発明によると、臨場感のある画像表示を効率的に行うことができる。
【図面の簡単な説明】
【0015】
【図1】本実施の形態の画像処理システムの使用環境を示す図である。
【図2】図1の画像処理システムに適用できる入力装置の外観構成を示す図である。
【図3】本実施の形態における画像処理装置の構成を示す図である。
【図4】本実施の形態において使用する画像データの階層構造の概念図である。
【図5】本実施の形態における画像を表示する機能を有する制御部の構成を詳細に示す図である。
【図6】本実施の形態における表示画像処理部およびバッファメモリのより詳細な構成を示す図である。
【図7】視差マッピングの原理を説明するための図である。
【図8】ホライズンマッピングの原理を説明するための図である。
【図9】本実施の形態において、視点の高さによって表示画像処理部が行う処理を変化させる態様の例を説明するための図である。
【図10】本実施の形態において、カラーマップ、ハイトマップ、法線マップ、およびホライズンマップのデータ構造を異ならせた場合の概念図である。
【図11】本実施の形態における画像表示の処理手順を示すフローチャートである。
【図12】本実施の形態における画像データを生成する画像データ生成装置の構成を示す図である。
【図13】本実施の形態において計測画像取得部をカメラとした場合の、計測画像の取得態様を説明するための図である。
【図14】本実施の形態においてハイトマップ作成部が法線マップを用いてハイトマップを作成する原理を説明するための図である。
【図15】本実施の形態において法線マップに対し斜めに走査してハイトマップを作成する手法を説明するための図である。
【図16】本実施の形態においてカラーマップ、法線マップ、ハイトマップ、ホライズンマップの階層データを作成する手順を示すフローチャートである。
【図17】本実施の形態においてカラーマップ、法線マップ、ハイトマップ、ホライズンマップの階層データを作成する別の手順を示すフローチャートである。
【発明を実施するための形態】
【0016】
本実施の形態は、凹凸のある対象物の画像を精細かつ臨場感をもって表示する。対象物として油絵を例にとると、絵の具ののせ方を含む筆のタッチは作者によって様々であり、それが表現手法の一つとなる。展覧会などで鑑賞者は、絵画に顔を近づけてそのようなタッチを見たり、遠ざかって全体の構成を見たりすることにより作品を味わう。油絵に限らず対象物の表面にある凹凸はその物の質感を表現するために重要な要素である。対象物を画面上で再現する場合、画素数を多くして色情報を詳細にするのみではこのような凹凸感は出にくい。そこで本実施の形態では、表面の凹凸による陰影、細かい鏡面反射、視線の隠蔽などを表現することにより、臨場感のある画像表示を可能にする。
【0017】
図1は、本実施の形態の画像処理システム1の使用環境を示す。画像処理システム1は、画像処理を含むアプリケーションプログラムを実行する画像処理装置10と、画像処理装置10による処理結果を出力する表示装置12とを備える。表示装置12は、画像を出力するディスプレイおよび音声を出力するスピーカを有するテレビであってよい。
【0018】
表示装置12は、画像処理装置10に有線ケーブルで接続されてよく、また無線LAN(Local Area Network)などにより無線接続されてもよい。画像処理システム1において、画像処理装置10は、ケーブル14を介してインターネットなどの外部ネットワークに接続し、圧縮画像データを含むコンテンツなどをダウンロードして取得してもよい。なお画像処理装置10は、無線通信により外部ネットワークに接続してもよい。
【0019】
画像処理装置10は、ユーザからの視点移動要求に応じて、表示装置12のディスプレイに表示する画像の拡大/縮小処理や、上下左右方向への移動処理など、表示領域を変更する処理を行う。ユーザが、ディスプレイに表示された画像を見ながら入力装置を操作すると、入力装置が、視点移動要求信号を画像処理装置10に送信する。
【0020】
図2は、入力装置20の外観構成を示す。入力装置20は、ユーザが操作可能な操作手段として、十字キー21、アナログスティック27a、27bと、4種の操作ボタン26を備える。4種の操作ボタン26は、○ボタン22、×ボタン23、□ボタン24および△ボタン25から構成される。
【0021】
画像処理システム1において、入力装置20の操作手段には、視点の高さの変更要求、すなわち表示画像の拡大/縮小要求、および視点の水平面での移動要求、すなわち上下左右方向へのスクロール要求を入力するための機能が割り当てられる。たとえば、表示画像の拡大/縮小要求の入力機能は、右側のアナログスティック27bに割り当てられる。ユーザはアナログスティック27bを手前に引くことで、表示画像の縮小要求を入力でき、また手前から押すことで、表示画像の拡大要求を入力できる。
【0022】
また、上下左右方向へのスクロール要求の入力機能は、十字キー21に割り当てられる。ユーザは十字キー21を押下することで、十字キー21を押下した方向への移動要求を入力できる。なお、視点移動要求の入力機能は別の操作手段に割り当てられてもよく、たとえばアナログスティック27aに、スクロール要求の入力機能が割り当てられてもよい。
【0023】
図3は画像処理装置10の構成を示している。画像処理装置10は、無線インタフェース40、スイッチ42、表示処理部44、ハードディスクドライブ50、記録媒体装着部52、ディスクドライブ54、メインメモリ60、バッファメモリ70および制御部100を有して構成される。表示処理部44は、表示装置12のディスプレイに表示するデータをバッファするフレームメモリを有する。
【0024】
スイッチ42は、イーサネットスイッチ(イーサネットは登録商標)であって、外部の機器と有線または無線で接続して、データの送受信を行うデバイスである。スイッチ42は、ケーブル14を介して外部ネットワークに接続し、サーバから画像データなどを受信できるように構成される。またスイッチ42は無線インタフェース40に接続し、無線インタフェース40は、所定の無線通信プロトコルで入力装置20と接続する。入力装置20においてユーザから入力された信号は、無線インタフェース40、スイッチ42を経由して、制御部100に供給される。
【0025】
ハードディスクドライブ50は、データを記憶する記憶装置として機能する。スイッチ42を介して受信された画像データは、ハードディスクドライブ50に格納される。記録媒体装着部52は、メモリカードなどのリムーバブル記録媒体が装着されると、リムーバブル記録媒体からデータを読み出す。ディスクドライブ54は、読出専用のROMディスクが装着されると、ROMディスクを駆動して認識し、データを読み出す。ROMディスクは、光ディスクや光磁気ディスクなどであってよい。画像データはこれらの記録媒体に格納されていてもよい。
【0026】
制御部100は、マルチコアCPUを備え、1つのCPUの中に1つの汎用的なプロセッサコアと、複数のシンプルなプロセッサコアを有する。汎用プロセッサコアはPPU(PowerPC Processor Unit)と呼ばれ、残りのプロセッサコアはSPU(Synergistic Processor Unit)と呼ばれる。
【0027】
制御部100は、メインメモリ60およびバッファメモリ70に接続するメモリコントローラを備える。PPUはレジスタを有し、演算実行主体としてメインプロセッサを備えて、実行するアプリケーションにおける基本処理単位としてのタスクを各SPUに効率的に割り当てる。なお、PPU自身がタスクを実行してもよい。SPUはレジスタを有し、演算実行主体としてのサブプロセッサとローカルな記憶領域としてのローカルメモリを備える。ローカルメモリは、バッファメモリ70として使用されてもよい。
【0028】
メインメモリ60およびバッファメモリ70は記憶装置であり、RAM(ランダムアクセスメモリ)として構成される。SPUは制御ユニットとして専用のDMA(Direct Memory Access)コントローラをもち、メインメモリ60とバッファメモリ70の間のデータ転送を高速に行うことができ、また表示処理部44におけるフレームメモリとバッファメモリ70の間で高速なデータ転送を実現できる。本実施の形態の制御部100は、複数のSPUを並列動作させることで、高速な画像処理機能を実現する。表示処理部44は、表示装置12に接続されて、ユーザからの要求に応じた画像処理結果を出力する。
【0029】
本実施の形態の画像処理装置10は、表示画像の拡大/縮小処理や表示領域の移動処理を行う際に表示画像をスムーズに変更させるために、圧縮画像データの一部をハードディスクドライブ50からメインメモリ60にロードしておく。また、メインメモリ60にロードした圧縮画像データのさらに一部をデコードしてバッファメモリ70に格納しておく。これにより、後の必要なタイミングで、表示画像の生成に使用する画像を瞬時に切り替えることが可能となる。
【0030】
本実施の形態において表示対象とする画像のデータ構造は特に限定されないが、ここでは高精細な画像をより効率よく表示することを可能とするため、階層構造を有する階層画像データを用いた形態について説明する。階層画像データは、原画像を複数段階に縮小して生成した異なる解像度の画像からなる画像データである。各階層の画像は一又は複数のタイル画像に分割される。たとえば最も解像度の低い画像は1つのタイル画像で構成し、最も解像度の高い原画像は、最も多い数のタイル画像で構成する。画像表示時は、描画に使用しているタイル画像を、表示画像が所定の解像度になったときに異なる階層のタイル画像に切り替えることで、拡大表示または縮小表示を迅速に行う。
【0031】
図4は、本実施の形態において使用する画像データの階層構造の概念図を示す。画像データは、深さ(Z軸)方向に、第0階層30、第1階層32、第2階層34および第3階層36からなる階層構造を有する。なお同図においては4階層のみ示しているが、階層数はこれに限定されない。以下、このような階層構造をもつ画像データを「階層データ」とよぶ。ただし同図の階層データは概念的なものであり、実際には後に述べるように複数のデータのセットで画像を表現する。
【0032】
図4に示す階層データは4分木の階層構造を有し、各階層は1以上のタイル画像38で構成される。すべてのタイル画像38は同じ画素数をもつ同一サイズに形成され、たとえば256×256画素を有する。各階層の画像データは、一つの画像を異なる解像度で表現しており、最高解像度をもつ第3階層36の原画像を複数段階に縮小して、第2階層34、第1階層32、第0階層30の画像データが生成される。たとえば第N階層の解像度(Nは0以上の整数)は、左右(X軸)方向、上下(Y軸)方向ともに、第(N+1)階層の解像度の1/2であってよい。
【0033】
画像処理装置10において、階層データは、所定の圧縮形式で圧縮された状態でハードディスクドライブ50などの記憶装置に保持されており、ディスプレイに表示される前に記憶装置から読み出されてデコードされる。本実施の形態の画像処理装置10は、複数種類の圧縮形式に対応したデコード機能を有し、たとえばS3TC形式、JPEG形式、JPEG2000形式の圧縮データをデコード可能とする。
【0034】
階層データの階層構造は、図4に示すように、左右方向をX軸、上下方向をY軸、深さ方向をZ軸として設定され、仮想的な3次元空間を構築する。画像処理装置10は、入力装置20から供給される視点移動要求信号から表示画像の変更量を導出すると、その変更量を用いて仮想空間におけるフレームの4隅の座標(フレーム座標)を導出する。仮想空間におけるフレーム座標は、後述するメインメモリへの圧縮データのロードおよび表示画像の描画処理に利用される。なお、仮想空間におけるフレーム座標の代わりに、画像処理装置10は、階層を特定する情報と、その階層におけるテクスチャ座標(UV座標)を導出してもよい。以下、階層特定情報およびテクスチャ座標の組み合わせも、フレーム座標と呼ぶ。
【0035】
データ構造が階層構造であるか否かに関わらず画像は基本的に、画素ごとに色情報を保持するカラーマップを用いて表示される。本実施の形態ではカラーマップに加え、対象物の凹凸を表現するための凹凸情報を導入することにより、絵画表面のタッチなど微細な構造をより臨場感をもって表現する。したがって本実施の形態では、カラーマップと凹凸情報をまとめて画像データとする。
【0036】
図5は本実施の形態において画像を表示する機能を有する制御部100の構成を詳細に示している。制御部100は、入力装置20からユーザが入力した情報を取得する入力情報取得部102、新たに表示すべき領域を特定する描画領域特定部110、新たにロードすべき画像データを決定するロードブロック決定部106、必要な圧縮画像データをハードディスクドライブ50からロードするロード部108を含む。制御部100はさらに、圧縮画像データをデコードするデコード部112、および表示画像を描画する表示画像処理部114を含む。
【0037】
図5や後に示す図6、図12において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。既述したように、制御部100は1つのPPUと複数のSPUとを有し、PPUおよびSPUがそれぞれ単独または協同して、各機能ブロックを構成できる。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【0038】
入力情報取得部102は、ユーザが入力装置20に対して入力した、画像表示の開始/終了、視点の移動などの指示内容を取得する。描画領域特定部110は、現在の表示領域のフレーム座標とユーザが入力した視点移動要求の情報に従い、新たに表示すべき領域のフレーム座標を特定する。そして当該領域を含むタイル画像のデータが既にメインメモリ60にロードされていれば、デコード部112に、ロードされていなければロードブロック決定部106に、当該情報を供給する。描画領域特定部110はその時点で表示すべき領域の他、以後必要と予測される領域も特定してよい。描画領域特定部110はまた、ユーザが入力した視点移動要求に対応する新たな視点の位置と、特定したフレーム座標を表示処理部44に供給する。
【0039】
ロードブロック決定部106は、描画領域特定部110からの情報に基づき、ハードディスクドライブ50からメインメモリ60へ新たにロードすべきタイル画像のデータを特定し、ロード部108にロード要求を発行する。ロードブロック決定部106は、ロード部108がロード処理中でない状態において、例えば所定の時間間隔、あるいは、ユーザが視点移動要求を行った際など、所定のタイミングでロード要求を行ってもよい。ロード部108は、ロードブロック決定部106からの要求に従い、圧縮画像のデータをハードディスクドライブ50からメインメモリ60にロードする。
【0040】
デコード部112は、描画領域特定部110から取得した新たに表示すべき領域のフレーム座標に基づきバッファメモリ70を検索し、該当するフレーム座標の領域がバッファメモリ70に格納されていなければ、メインメモリ60からタイル画像のデータを読み出しデコードし、バッファメモリ70にデコード後のデータを格納する。表示画像処理部114は、新たに表示すべき領域のフレーム座標に基づき、バッファメモリ70から対応する画像データを読み出し、表示処理部44のフレームメモリに表示画像を描画する。この際、視点の移動に伴って変化する、対象物の凹凸による見え方の変化を、凹凸情報を用いて表現する。
【0041】
図6は表示画像処理部114およびバッファメモリ70のより詳細な構成を示している。上述したように本実施の形態では、画素ごとに色情報を保持するカラーマップの他、凹凸情報を画像データに含める。そのためロード部108やデコード部112はカラーマップ以外に、表示に必要な領域の凹凸情報もロードまたはデコードし、デコードされた各データはバッファメモリ70に格納される。凹凸情報としては同図に示すように、ハイトマップ132、法線マップ136、ホライズンマップ138を用いる。ハイトマップ132、法線マップ136、ホライズンマップ138はいずれも、画素ごとにデータを保持する。
【0042】
表示画像処理部114は、ハイトマップ132を用いて視差による座標のずれを算出する視差表現部124、カラーマップ134および法線マップ136を用いて、凹凸を考慮した対象物の色を表現する色表現部126、ホライズンマップ138を用いて画像に影をつける影表現部128、最終的な表示画像をフレームメモリに描画する画像出力部130を含む。
【0043】
視差表現部124は、画素ごとに対象物の高さ情報を保持するハイトマップ132を用いて、対象物に高さがあることによって発生する、視点の移動による見え方の違いを座標のずれとして表現する。具体的な計算は、視差マッピング(Parallax Mapping)として一般に提案されている技術を導入することができる(例えばNatalya Tatarchuk, Dynamic parallax occlusion mapping with approximate soft shadows, Symposium on Interactive 3D Graphics, Proceedings of the 2006 symposium on Interactive 3D graphics and games, P. 63-69, 2006 参照)。
【0044】
図7は視差マッピングの原理を説明するための図である。対象物の形状210が図のように、画像平面218に対し凹凸を有する場合、視線212上にある対象物の表面の点214は、画像平面上では点216上に見える。したがって視差表現部124は、点214の画素の色情報などを点216の位置にずらすように、画素の位置を変換する新たなな座標を作成する。このため視差表現部124は、形状210を表すハイトマップを用い、描画領域特定部110から取得した新たな視点からの視線212が対象物の形状210および画像平面と交わる点214、点216を線形探索により求める。そして元の画像を表示画像として表すときの画素のずれを、テクスチャ座標値などで表す。
【0045】
色表現部126は、視差表現部124が導出したテクスチャ座標値などを用い、カラーマップ134の画素をずらしてレンダリングを行う。この際、画素ごとに対象物表面の法線を保持する法線マップ136を用いて光の当たり具合を変化させ凹凸を表現する。色表現部126は、コンピュータグラフィクスで一般的に用いられるバンプマッピングによって同処理を行ってよい。
【0046】
影表現部128は、光源の角度によって影が生じるか否かの情報を画素ごとに保持するホライズンマップ138を用いて、色表現部126が描画した画像に影をつける。この手法は、ホライズンマッピングとして一般に提案されている技術を導入することができる(例えばPeter-Pike J. Sloan et al., Interactive Horizon Mapping, Eurographics Rendering Workshop 2000 , June, 2000 参照)。
【0047】
図8はホライズンマッピングの原理を説明するための図である。対象物の形状220が図のように、画像平面228に対し凹凸を有する場合、光源222からの光は対象物に遮られないため点230に影は生じないが、光源224からの光は対象物に遮られるため影が生じる。すなわち点230については、光源226の角度を境に、影ができる/できないが決定づけられる。そこで点230などの各画素における画像平面の垂線に対する、光源の角度θを多段階で変化させたときに、影ができるか否かの2値を表したデータをホライズンマップとして準備する。
【0048】
そして影表現部128は、あらかじめ設定された光源の位置、または視点の移動などによってあらかじめ設定された規則に従い変化させるなどして決定した光源の位置と、ホライズンマップとを比較し、必要な画素に適宜影をつけていく。画像出力部130は、上述のように描画された画像のデータを表示処理部44のフレームメモリに出力する。
【0049】
ここでカラーマップ134を上述のように階層データとした場合、ハイトマップ132、法線マップ136、およびホライズンマップ138もまた、階層データとしてもよい。この場合、カラーマップ134と同様に、その他のマップもタイル画像に分割し、画像表示に必要な領域のタイル画像データを適宜ロードしデコードする。各マップを同じ解像度の階層構造とすれば、表示画像の解像度を大きく変化させても、用いるデータの階層を全て切り替えるのみで同様の処理により表示画像を描画でき、対象物の凹凸を表現した詳細な画像を迅速に表示させることができる。
【0050】
カラーマップ134を階層データとした場合、一つの解像度の画像データを用いた場合と比較し、上述のとおり応答性よく表示できる解像度の幅が広がる。そのような解像度の変化に対応するように、実際に対象物を遠くから見たときと近接して見たときとでは、対象物の見た目の印象も変化する。本実施の形態では、表示画像においてそのような印象の変化を表現するため、上述した凹凸情報を用いた処理を、視点の高さ、すなわち解像度によって変化させてもよい。
【0051】
図9は視点の高さによって表示画像処理部114が行う処理を変化させる態様の例を説明するための図である。同図において横軸は視点の高さであり、右へ向かうほど画像平面へ近づくとする。そのような視点の変化に対して表された各チャートは、上から視差表現部124がハイトマップ132を用いて行う処理、色表現部126がカラーマップ134を用いて行う処理、法線マップ136を用いて行う処理、および影表現部128がホライズンマップ138を用いて行う処理の動作/非動作を示している。
【0052】
まず視点の高さが最大であるHmaxから所定のしきい値H1までの間は、対象物から十分離れたときの印象として凹凸や影は認識されにくく、視差も生じにくいことから、色表現部126のみが動作し、なおかつバンプマッピングは行わずにカラーマップのみで画像を描画する。視線の高さがH1から次のしきい値H2までの間は、凹凸を表現するために色表現部126がカラーマップ134および法線マップ136を用いて画像を描画する。このとき視差表現部124と影表現部128は動作しない。
【0053】
そして視線の高さがH2から次のしきい値H3までの間は、凹凸の影を認識できる状態として、色表現部126に加え影表現部128がホライズンマップ138を用いて影をつける。そして視点の高さがH3から最小であるHminまでの間は、視差の影響が大きくなるため色表現部126、影表現部128に加え、視差表現部124がハイトマップ132を用いて視差による画素のずれを表現する。
【0054】
このように視点の高さによって画像描画のための処理内容を変化させることにより、実世界において対象物との距離の変化によって人が受ける印象の変化を表現できるとともに、必要十分な処理のみを行うことで処理の負荷を抑えることができる。処理を切り替える視点の高さのしきい値は、表示に用いる階層を切り替えるときの視点の高さと同じにしてもよい。また、ハイトマップから得られる対象物の高さの最大値と視点の高さの比によってしきい値を変化させてもよい。また、ホライズンマップを用いて影を付ける際は、視点の高さに応じて光源の方向を変化させるようにしてもよい。また、点光源、面光源を切り替えてもよい。このような光源の変化によっても、可能となる表現の幅が広がる。
【0055】
このように視点が低くなるほど表示画像処理部114が行う処理を多くした場合、図9の最下段に示すように、視点が低くなるほど表示領域の移動速度が遅くなるように調整して、処理に要する時間を吸収するようにしてもよい。具体的にはガウス関数などの伝達関数のピーク値を、視点が低くなるほど低く設定し、ユーザが入力した視点移動要求の信号と畳み込み演算することにより、信号の入力から当該信号に対応する表示画像が表示されるまでの時間を調整すればよい。
【0056】
また、カラーマップ134、ハイトマップ132、法線マップ136、およびホライズンマップ138を階層データとした場合でも、上述のとおり視点の高さによって用いるマップを変化させるときは、マップごとに階層の数を異ならせてもよい。図10はカラーマップ134、ハイトマップ132、法線マップ136、およびホライズンマップ138のデータ構造を異ならせた場合の概念図を示している。同図において横軸は視点の高さであり、右へ向かうほど画像平面へ近づくとする。そして各マップの階層構造を図4に示したのと同様に示している。
【0057】
同図に示すようにカラーマップ134は、全ての視点の高さ、すなわち全ての解像度で必要であるため、その階層は最も多い。そして例えば、カラーマップ134の最上階層である第0階層の次の第1階層を用いて画像を表示する際の視点の高さから法線マップ136を用いたバンプマッピングを行うように設定すると、法線マップ136はカラーマップ134の第1階層に対応する階層から準備すればよくなる。
【0058】
そして、カラーマップ134の第2階層を用いて画像を表示する際の視点の高さからホライズンマップ138を用いたホライズンマッピングを行うように設定すると、ホライズンマップ138はカラーマップ134の第2階層に対応する階層から準備すればよくなる。同様に、カラーマップ134の第3階層を用いて画像を表示する際の視点の高さから視差マッピングを行うように設定すると、ハイトマップ132はカラーマップ134の第3階層に対応する階層から準備すればよくなる。
【0059】
このようにデータを準備することにより、画像データ全体としてのデータサイズを小さくすることができる。なお図9、図10に示した、視点の高さの変化による処理の組み合わせの変化はあくまで例示であり、画像中の対象物の性質、画像データ作成者の表現意図などによって適宜設定してよい。また各種マップの階層数は、表示する画像の性質などによっては、視点の高さによる処理の変化とは独立に決定してもよい。
【0060】
画像処理装置10がネットワークに接続されている状態では、一部のマップ、または一部の階層を有料とし、代金を支払ったユーザのみがダウンロードできるようにしてもよい。例えばカラーマップ134のみを安価で提供し、それを用いた画像を表示させているユーザが画像を拡大していき追加のマップが適用できる解像度となったら、当該マップを購入するか否かを確認するメッセージを表示する。ユーザが購入する意志表示を行ったら、追加のマップがダウンロードできるようにする。
【0061】
そして画像処理装置10において、新たにダウンロードしたマップを用いて対応する処理を施す。これによりユーザは初めて、凹凸まで表現された高精細画像を見ることができる。またカラーマップ134も、最初は低解像度の階層のみ提供し、拡大時に必要となる高解像度の階層のダウンロードに対し課金するようにしてもよい。
【0062】
次にこれまで述べた構成による画像処理装置10の動作を説明する。図11は画像表示の処理手順を示すフローチャートである。まずユーザが画像表示を開始する指示を行った際などに、表示対象の画像の全体像などあらかじめ定めた初期画像の表示に必要な画像データをハードディスクドライブ50から読み出し、デコードしたうえで表示画像を作成し、表示する(S10)。ユーザが入力装置20に対し視点移動要求を入力するまで初期画像を表示し続ける(S12のN、S10)。表示領域移動要求がなされたら(S12のY)、制御部100の描画領域特定部110は、当該要求に従い新たに表示すべき表示領域のフレーム座標と新たな視点を導出する(S14)。
【0063】
新たな画像の描画に必要なデータは必要に応じてハードディスクドライブ50からロード部108によってロード、デコード部112によってデコードされ、バッファメモリ70に格納される(S16)。すると表示画像処理部114の視差表現部124は、バッファメモリ70のハイトマップ132を読み出し、視差マッピングを行うことにより視差による画素のずれを算出する(S18)。次に色表現部126は、バッファメモリ70のカラーマップ134および法線マップ136を読み出し、凹凸を表現しながら画像を描画する(S20)。
【0064】
次に影表現部128は、バッファメモリ70のホライズンマップ138を読み出し、ホライズンマッピングを行うことにより画像に影をつける(S22)。なお上述したように視点の高さ、またはそれ以外の設定により、S18、S20、S22の処理のいずれかを選択的に行ってもよい。またS20のバンプマッピングは、法線を全て垂直としてカラーマップ134をそのままマッピングしてもよい。このように描画した画像を表示処理部44のフレームメモリに描き出し、表示装置12に表示することにより、表示画像が更新される(S24)。
【0065】
次に本実施の形態で用いる画像データの作成方法について説明する。図12は本実施の形態において画像データを生成する画像データ生成装置の構成を示している。画像データ生成装置300は対象物を撮影した計測画像を取得する計測画像取得部302、計測画像や、場合によってはハイトマップから法線マップを取得する法線マップ作成部304、法線マップからハイトマップを作成するハイトマップ作成部306、およびハイトマップからホライズンマップを作成するホライズンマップ作成部308、計測画像からカラーマップを作成するカラーマップ作成部310、および作成した各マップのデータを圧縮して格納する記憶装置312を含む。
【0066】
計測画像取得部302は、対象物の真上でカメラを固定し、光源の方向を3つ以上変化させて撮影した3つ以上の画像のデータを、計測画像のデータとして取得する。計測画像のデータはあらかじめ記憶装置312に格納しておいたものを読み出してもよいし、計測画像取得部自体をカメラとし、撮影することで取得してもよい。光源の方向は例えば、対象物の中心を取り巻く8方向、およびカメラと同じ方向の計9方向などとする。これにより9枚の計測画像が取得される。
【0067】
法線マップ作成部304は、計測画像を用いて各画素の法線ベクトルを取得する。法線ベクトルは照度差ステレオ法(photometric stereo)を用いることによって得られる。具体的には、法線ベクトルをn、表面反射率をρ、i番目の光源の方向ベクトルをLi、当該光源に対しカメラで撮影された明るさをIiとしたとき、各画素について次の式をnについて解く。
【0068】
【数1】

【0069】
表面反射率ρを既知とした場合、法線ベクトルnの要素であるx、y、z座標を求めるには上記式が3つあればよい。計測画像が9方向の光源で取得した9枚の画像であるとすると、それらの画像のうち、鏡面反射している画像、影になっている画像を、画素の色情報より検出して除外したうえで上記式を立てることにより、精度よく法線ベクトルを導出できる。
【0070】
ハイトマップ作成部306は、法線マップ作成部304が作成した法線マップの法線ベクトルから、所定方向における対象物の傾きを求め、それから得られる高さの変位を足していくことにより画素の列ごとに高さ情報を取得し、ハイトマップを作成する。詳細は後に述べる。
【0071】
ホライズンマップ作成部308は、ハイトマップ作成部が作成したハイトマップを用いてホライズンマップを作成する。ホライズンマップは上述のとおり、光源の傾きによって影が出るか否かを表すデータであるため、対象物の高さ情報がハイトマップより得られていれば、仮想的に光源の方向を所定の角度に振ることによりデータが得られる。
【0072】
例えばRGBAカラーモデルでは、赤、緑、青、アルファ値の4種類のデータを画素ごとに保持し、一般的にはそれぞれに対し256階調の値を設定できる。このデータ構造をそのまま利用すると、光源の画像平面上での4方向に対し、画像平面の垂線からの角度を256段階に調節したときに影になるか否かを画素ごとに保持することができる。このようなデータを2つ準備すれば、合計8方向の光源によるホライズンマップを作成できる。
【0073】
カラーマップ作成部310は計測画像のうち例えばカメラと同じ方向に光源を設置したときの計測画像から各画素の色情報を取得し、カラーマップを作成する。なお法線マップ作成部304、ハイトマップ作成部306、ホライズンマップ作成部308、およびカラーマップ作成部310が作成した各マップは、圧縮して記憶装置312に格納される。また後述するように、法線マップ作成部304、ハイトマップ作成部306、ホライズンマップ作成部308、およびカラーマップ作成部310は、各マップの階層データを作成してもよい。この場合、図4で示したように、各階層のデータは所定サイズの領域に分割したタイル画像ごとに圧縮してもよい。
【0074】
図13は、計測画像取得部302をカメラとした場合の、計測画像の取得態様を説明するための図である。絵画などの対象物314に対し、カメラ316は真上の位置に固定とする。そして対象物の中心を中心とし所定の高さにある円周上に光源318を配置する。図では円周上に8つの光源を表している。またカメラと同じ位置にも光源319を配置する。そして光源を一つ一つ点灯しながらカメラ316で対象物314を撮影する。
【0075】
この場合、光源318を複数備えたリング型のストロボ装置を用意し、各光源を順次点灯させてもよい。あるいは、円周上を回転可能な光源318を一つ備えたストロボ装置を用意し、カメラ316の撮影タイミングに合わせて円周上を回転させることにより、複数方向の光源による撮影を実現してもよい。
【0076】
図14はハイトマップ作成部306が法線マップを用いてハイトマップを作成する原理を説明するための図である。同図において横方向が画像平面を表し、対象物が形状320を有するとする。縦の破線で区切られた領域を一つの画素とすると、法線マップは図中、各画素に対して矢印で表される法線ベクトルの成分情報を保持している。
【0077】
このような状況においてハイトマップ作成部306は、法線マップ上を所定の方向に走査していき、当該方向における画素ごとの対象物の傾きを、各法線ベクトルより算出する。そして走査線上の1つ前の画素との境界における対象物の高さに、対象画素の傾きから得られる高さの変位を足していくことにより、対象画素と次の画素の境界における高さを算出する。
【0078】
図14の場合、図の左から右、すなわち画素A、B、C、D、・・・と走査していくと、画素Aとその左隣の画素の境界における対象物の高さH1に、画素Aの傾きから得られる高さの変位Δ1を足した高さH2が、画素Aと画素Bの境界における高さとなる。次に高さH2に、画素Bの傾きから得られる高さの変位Δ2を足した高さH3が、画素Bと画素Cの境界における高さとなる。高さH3に画素Cの高さの変位D3を足した高さH4が画素Cと画素Dの境界における高さとなる。
【0079】
これを画像の左端から右端まで繰り返すことにより一行分の画素の高さ情報が得られる。なお左端の高さは0.5など初期値を与えておく。このような行ごとの処理を画像中の全ての行で行うことにより、画像を構成する全ての画素の高さ情報、すなわちハイトマップが得られる。行ごとの処理は独立しているため、並列に行うことにより処理に要する時間を短縮できる。
【0080】
図14に示した処理により、連続的な勾配を有する対象物に対して精度よくハイトマップを取得できる。一方、対象物に不連続な段差がある場合、隣接する画素で高さは異なるが法線ベクトルが当該高さの差を反映していないことがあり得る。このような場合に精度を維持するため、ハイトマップ作成部306はさらに、同じ法線マップに対し、別の方向で同様の高さ情報を取得する。例えば上述の左端から右端の方向に加え、上端から下端、右端から左端、下端から上端の4方向で走査を行い、4つのハイトマップを作成する。そして4つのハイトマップが保持する高さを画素ごとに平均した値を、最終的なハイトマップの高さ情報とする。
【0081】
油絵などでも絵の具の盛り上がりなどによって急な段差が形成されている場合があるが、どの方向から走査しても急な段差になっていることは稀であり、通常、筆の運びによって連続的な勾配がいずれかの方向で存在する。勾配が連続的であれば正確な高さを導出できるため、上述のように複数の方向で走査した結果、生成したハイトマップを平均化することにより、精度のよいハイトマップを生成できる。
【0082】
走査方向は縦、横のみならず斜めでもよい。図15は法線マップに対し斜めに走査してハイトマップを作成する手法を説明するための図である。同図の例では画像322に対し矢印に示すように、左上から右下へ、右上から左下へ、左下から右上へ、右下から左上へ、いずれも画像の縦横方向から45°の方向に走査する。矢印は4本のみ示しているが、この場合も同一の方向で全ての列について高さ情報を取得し、計4枚のハイトマップを作成する。そして上述同様、各画素における平均値を最終的なハイトマップのデータとする。
【0083】
同図では、このように斜めに走査した場合の、ある走査線324が横切る画素EおよびHと、それらに隣接する画素FおよびGの2×2個の画素を拡大した画素ブロック326を示している。同画素ブロック326において画素Hにおける対象物の高さを求めるときは、画素F、G、Hの法線を用いてEからHへの方向の傾きを求め、その方向の高さの変位を画素Eと画素Hとの境界における高さに足す。このように左上から右下への走査によるハイトマップを作成するときは、左端一列分の画素と上端一行分の画素に初期値を与えておく。その他の方向についても同様の処理により、各方向の走査によるハイトマップを取得できる。
【0084】
なお、縦横方向の走査と図15のような斜め方向の走査を行い8つのハイトマップを作成し、それら全ての平均値を最終的なハイトマップのデータとしてもよい。複数のハイトマップから最終的なハイトマップのデータを算出する手法は、単に平均値でなくてもよく、様々な統計手法を適用してよい。例えば画素ごとに各ハイトマップにおける高さの偏差を算出し、それが所定のしきい値を超える高さの値を除外した後、平均値を求めたり、ニューラルネットワークにかけたりしてもよい。
【0085】
次に、法線マップ、ハイトマップ、ホライズンマップを階層データとするときのデータ作成手法について説明する。カラーマップは上述のように、高精細な画像を最下層とし、それを順次縮小した画像を作成することで階層化した。一方、高精細画像の計測画像を用いて法線マップやホライズンマップの最下層のデータを作成しても、これらのマップが保持するデータは基本的に画素ごとに独立した値であるため、縮小することが困難である。そのため、階層データにおける最下層以外の階層のデータを作成するのは容易でない。
【0086】
そこで本実施の形態ではまず、カラーマップの最下層にあたる高解像度の計測画像から、同じ解像度の法線マップを作成し、一旦ハイトマップのの階層データを作成してから法線マップの階層データ作成処理に戻すようにする。図16はカラーマップ、法線マップ、ハイトマップ、ホライズンマップの階層データを作成する手順を示すフローチャートである。
【0087】
まず計測画像取得部302は、階層データのうち最下層の解像度、すなわち最も高い解像度での計測画像を取得する(S30)。するとカラーマップ作成部310は、当該計測画像のうち光源がカメラと同じ方向にある画像を取得し、それを所定の解像度に縮小していくことにより、カラーマップの階層データを作成する(S32)。
【0088】
次に法線マップ作成部304は、計測画像を用いて、カラーマップの最下層の画像に対応する解像度の法線マップを作成する(S34)。これは法線マップの階層データにおける最下層のデータとなる。次にハイトマップ作成部306は、S34で得られた最下層の法線マップを所定の方向に走査して平均化するなどして、最下層のハイトマップを作成する(S36)。続いてハイトマップ作成部306は、画像を縮小する際一般的に用いられるバイリニア法などの手法によって、最下層のハイトマップを順次縮小していき、カラーマップの階層データに対応する階層データを作成する(S38)。
【0089】
法線マップ作成部304は、そのようにして作成されたハイトマップの階層データのうち、最下層を除く各階層のハイトマップを微分することにより法線マップの各階層を生成し、階層データとする(S40)。具体的には、各階層のハイトマップを例えば縦横2方向で走査してハイトマップを微分することにより各方向における対象物の傾き情報を得る。そして画素ごとに当該傾きから得られる走査方向ごとの法線ベクトルを合成することにより最終的な法線ベクトルを得、法線マップを生成する。一方、ホライズンマップ作成部308は、ハイトマップの各階層からホライズンマップの各階層を生成し、階層データとする(S42)。作成した各マップはそれぞれタイル画像に分割し、圧縮した後、記憶装置312に格納する(S44)。
【0090】
図17はカラーマップ、法線マップ、ハイトマップ、ホライズンマップの階層データを作成する別の手順を示すフローチャートである。この例では、最初に計測画像を階層化し、カラーマップ、法線マップにおける各階層は、計測画像の対応する階層から直接生成する。まず計測画像取得部302は、階層データのうち最下層の解像度、すなわち最も高い解像度での計測画像を取得し(S50)、さらに当該画像を所定サイズに順次縮小していき複数の画像を生成することで階層化する(S52)。
【0091】
次にカラーマップ作成部310は、光源がカメラと同じ方向にある計測画像の階層データの各階層から直接、カラーマップの各階層を生成して階層データとする(S54)。法線マップ作成部304は、同じ階層の計測画像を集めて階層ごとに方程式を解くことにより、対応する階層の法線マップを生成して階層データとする(S56)。ハイトマップ作成部306は、法線マップの階層データにおける各階層に対し走査を行うなどして、対応する階層のハイトマップを作成し階層データとする(S58)。ホライズンマップ作成部308は、ハイトマップの階層データにおける各階層から、対応する階層のホライズンマップを作成し階層データとする(S60)。そして作成した各マップはそれぞれタイル画像に分割し、圧縮した後、記憶装置312に格納する(S62)。
【0092】
なお階層データを用いることにより、より広範囲な解像度の変化に対応させて画像を表示できるため、その最下層の画像は部分的な領域を撮影した複数の画像をつなぎ合わせて作成してもよい。このような場合、複数の画像をつなぎ合わせた画像を計測画像とし、各マップは、つなぎ合わせた後の計測画像を用いて作成してもよい。あるいは、つなぎ合わせる前の各領域の画像を計測画像とし、領域ごとにマップを生成した後で、マップごとにつなぎ合わせることで最終的なマップを作成してもよい。
【0093】
以上述べた本実施の形態によれば、表示画像のデータとして、画素ごとの色情報を保持するカラーマップの他に、ハイトマップ、法線マップ、ホライズンマップを準備する。そして、画像表示装置において、視差や凹凸、影を表現することにより、色情報のみでは得られにくい、臨場感のある画像表示が可能となる。このような態様は、油絵など表面の詳細な構造が重要となる対象物の画像では特に顕著な効果を発揮する。
【0094】
また、視点の高さによって施す処理を変化させることにより、実際に対象物との距離を変化させたときに人に与える印象を再現できるとともに処理の負荷を調整することができる。また画像データ作成者の表現手法のひとつに用いることもできる。ユーザが拡大縮小の指示入力を行う場合は、画像に施す処理の数によって入力信号から画像更新までの遅延時間が連続的に変化するように制御することにより、より自然な動きで様々な効果を加えていくことができる。
【0095】
このような特徴は、画像データを階層構造として、解像度の可変範囲を広げる態様でより効果的になる。このとき、カラーマップ以外の、ハイトマップ、法線マップ、ホライズンマップも階層データとし、対応する階層の同じ領域のデータを用いるようにすれば、解像度によらず処理が同等となるため、精度のよい処理を迅速に行える。ただし視点の高さ、すなわち解像度の範囲によって施す処理を異ならせる場合は、ハイトマップ、法線マップ、ホライズンマップについては必要な階層のみを準備することにより、画像データのサイズを抑えることができる。また画像表示に用いる階層の切り替えに伴って施す処理を切り替えれば、切り替えが容易になる。
【0096】
このような画像表示を容易に実現するため、画像データを生成する際は、ます計測画像から法線マップを生成し、それを積分することによってハイトマップを生成する。ハイトマップの生成には通常、レーザを用いて対象物を測定したり、複数の角度から撮影したりすることが求められる。本実施の形態によれば、カメラを固定とし光源のみを複数に動かした計測画像を用いることで、法線マップ、ハイトマップ、ホライズンマップを作成するため、より手軽に画像データを作成できる。また複数の方向から法線マップを走査した結果を利用することにより、ハイトマップの精度を高めることができる。
【0097】
さらに各マップを階層データとする場合は、法線マップから一度ハイトマップの階層データを作成し、その後に法線マップの各階層を作成することで、容易に法線マップの階層データを生成できる。ホライズンマップも、ハイトマップの各階層から直接各階層を生成でき、生成が容易である。または計測画像を階層化した後で、各階層に対応するマップを作成していくことで各マップの階層データを作成するようにしても、容易に画像データを生成できる。
【0098】
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0099】
例えば本実施の形態では、撮影した画像を元に、各マップを含む画像データを作成した。一方、画面上に擬似的な油絵のキャンバスを表示させ、ユーザがマウスなどの入力装置を用いて絵を描くことのできる画像描画機能を備えた画像データ生成装置を実現してもよい。このときユーザは自分の描いた絵を拡大縮小可能とし、所定の解像度以上では凹凸感が出るように、ユーザの筆の運びなどに対応させて法線マップ、ハイトマップ、ホライズンマップを生成していく。これによりユーザは、あたかも油絵を描いているような感覚で画面上に凹凸感のある絵を描くことができる。
【符号の説明】
【0100】
1 画像処理システム、 10 画像処理装置、 12 表示装置、 20 入力装置、 38 タイル画像、 44 表示処理部、 50 ハードディスクドライブ、 60 メインメモリ、 70 バッファメモリ、 100 制御部、 102 入力情報取得部、 106 ロードブロック決定部、 108 ロード部、 110 描画領域特定部、 112 デコード部、 114 表示画像処理部、 124 視差表現部、 126 色表現部、 128 影表現部、 130 画像出力部、 132 ハイトマップ、 134 カラーマップ、 136 法線マップ、 138 ホライズンマップ、 300 画像データ生成装置 、 302 計測画像取得部、 304 法線マップ作成部、 306 ハイトマップ作成部、 308 ホライズンマップ作成部、 310 カラーマップ作成部、 312 記憶装置。

【特許請求の範囲】
【請求項1】
表示対象の画像を描画するための複数の処理のそれぞれに用いる複数の画像データを格納した記憶部と、
ユーザが入力した視点移動要求に従い、表示対象の画像のうち新たに表示すべき領域のフレーム座標を特定する描画領域特定部と、
前記フレーム座標に対応する表示画像の領域を、前記記憶部に格納された画像データを用いて描画し、表示装置に出力する表示画像処理部と、を備え、
前記表示画像処理部は、前記視点移動要求に基づく視点の高さによって、前記複数の画像データのいずれかを用いる前記複数の処理のうち実施する処理を異ならせることを特徴とする画像処理装置。
【請求項2】
前記表示画像処理部が実施する処理は、
前記画像データのうち、色情報を画素ごとに保持するカラーマップを用いて、色を表現する処理と、
前記画像データのうち、画像中の対象物の画像平面に対する高さの情報を画素ごとに保持するハイトマップと、前記視点とを用いて視差マッピングを行うことにより、対象物に対する視差を表現する処理と、
前記画像データのうち、画像中の対象物の表面の法線ベクトルの情報を画素ごとに保持する法線マップを用いてバンプマッピングを行うことにより、画像中の対象物の表面に凹凸を表現する処理と、
前記画像データのうち、各画素に対象物の影が生じるときの光源の方向の情報を画素ごとに保持するホライズンマップを用いてホライズンマッピングを行うことにより、設定された光源の方向に対応する影をつける処理と、
の少なくともいずれかを含むことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記表示画像処理部は、前記視点が画像平面に近づくほど、実施する処理の数を増加させることを特徴とする請求項1または2に記載の画像処理装置。
【請求項4】
前記画像データは、一つの画像を異なる解像度で表した複数の画像平面にそれぞれ対応する二次元のデータを解像度順に階層化した階層構造を有し、
前記表示画像処理部は、前記視点の高さによって、用いるデータの階層を切り替えることを特徴とする請求項1から3のいずれかに記載の画像処理装置。
【請求項5】
前記表示画像処理部は、用いるデータの階層を切り替える際に実施する処理を切り替え、
前記画像データは、前記表示画像処理部が用いるデータの階層のみからなる階層構造を有することを特徴とする請求項4に記載の画像処理装置。
【請求項6】
前記表示画像処理部は、前記視点の高さによって、前記凹凸を表現する処理、および前記影をつける処理で用いる光源の方向を変化させることを特徴とする請求項2に記載の画像処理装置。
【請求項7】
前記表示画像処理部は、実施する処理が多くなるほど、前記視点移動要求の入力から表示画像の更新までの時間を遅延させるように、表示画像の更新速度を調整することを特徴とする請求項1から6のいずれかに記載の画像処理装置。
【請求項8】
対象物を撮影した画像のデータを生成する画像データ生成装置であって、
光源の方向を異ならせて対象物を撮影した複数の計測画像を取得する計測画像取得部と、
前記計測画像のうち所定の光源の方向での計測画像から、画素ごとの色情報を保持するカラーマップを作成するカラーマップ作成部と、
前記計測画像を照度差ステレオ法により解析し、前記対象物の法線ベクトルを画像中の画素に対応させて表した法線マップを作成する法線マップ作成部と、
前記法線マップを所定の方向にて全面走査し、法線ベクトルから得られる当該所定の方向における対象物の傾きを積分することにより当該対象物の高さを画素に対応させて表したハイトマップを作成するハイトマップ作成部と、
前記カラーマップ、前記法線マップ、および前記ハイトマップを画像データとして格納する記憶部と、
を備えることを特徴とする画像データ生成装置。
【請求項9】
前記カラーマップ作成部は、前記計測画像を縮小して生成した異なる解像度の複数のカラーマップを解像度順に階層化した、カラーマップの階層データを生成し、
前記ハイトマップ作成部は、前記法線マップ作成部が作成した、前記計測画像の解像度に対応する法線マップを用いて、同解像度のハイトマップを作成したうえ、当該ハイトマップを縮小して生成した異なる解像度の複数のハイトマップを解像度順に階層化した、ハイトマップの階層データを生成し、
前記法線マップ作成部は、前記ハイトマップの階層データにおける各階層のハイトマップのうち、計測画像の解像度に対応する階層以外の階層のハイトマップを複数の方向にて全面走査して対象物の高さを微分することで、各走査方向における前記対象物の傾き情報を取得し、当該傾きから得られる各走査方向の法線ベクトルを画素ごとに合成した法線ベクトルを算出することにより、異なる解像度の複数の法線マップを解像度順に階層化した、法線マップの階層データを生成することを特徴とする請求項8に記載の画像データ生成装置。
【請求項10】
前記ハイトマップ作成部は、前記法線マップを走査方向を異ならせて複数回、全面走査し、走査方向ごとに取得した複数のハイトマップを平均化することにより、最終的なハイトマップを作成することを特徴とする請求項8または9に記載の画像データ生成装置。
【請求項11】
前記ハイトマップを用いて、各画素に対象物の影が生じるときの光源の方向の情報を画素ごとに表したホライズンマップを作成するホライズンマップ作成部をさらに備え、
前記記憶部は、画像データとしてホライズンマップも格納することを特徴とする請求項8に記載の画像データ生成装置。
【請求項12】
前記ハイトマップの階層データにおける各階層のハイトマップを用いて、各画素に対象物の影が生じるときの光源の方向の情報を画素ごとに表したホライズンマップを階層ごとに生成することにより、解像度が異なる複数のホライズンマップを解像度順に階層化したホライズンマップの階層データを生成するホライズンマップ作成部をさらに備え、
前記記憶部は、画像データとしてホライズンマップも格納することを特徴とする請求項9に記載の画像データ生成装置。
【請求項13】
前記計測画像取得部は、撮影した、光源の方向が異なる計測画像をそれぞれ縮小して生成した異なる解像度の複数の計測画像データを階層化した計測画像の階層データを光源の方向ごとに生成し、
前記法線マップ作成部は、前記計測画像の階層データにおける各階層の計測画像データを解析し、各階層に対応する法線マップを作成することにより、解像度が異なる複数の法線マップを解像度順に階層化した階層データを生成することを特徴とする請求項8に記載の画像データ生成装置。
【請求項14】
ユーザが入力した視点移動要求に従い、表示対象の画像のうち新たに表示すべき領域のフレーム座標を特定するステップと、
記憶装置に格納された、表示対象の画像を描画するための複数の処理のそれぞれに用いる複数の画像データのうち少なくともいずれかを読み出し、それを用いて前記フレーム座標に対応する表示画像の領域を描画するステップと、
描画した領域のデータを表示装置に出力するステップと、を含み、
前記描画するステップは、
前記視点移動要求に基づく視点の高さによって、前記複数の画像データのいずれかを用いる前記複数の処理のうち実施する処理を異ならせることを特徴とする画像処理方法。
【請求項15】
対象物を撮影した画像のデータを生成する画像データ生成方法であって、
光源の方向を異ならせて対象物を撮影した複数の計測画像を取得しメモリに格納するステップと、
前記メモリより読み出した、前記計測画像のうち所定の光源の方向での計測画像を用いて、画素ごとの色情報を保持するカラーマップを作成するステップと、
前記メモリより読み出した前記計測画像を、照度差ステレオ法により解析し、前記対象物の法線ベクトルを画像中の画素に対応させて表した法線マップを作成するステップと、
前記法線マップを所定の方向にて全面走査し、法線ベクトルから得られる当該所定の方向における対象物の傾きを積分することにより当該対象物の高さを画素に対応させて表したハイトマップを作成するステップと、
前記カラーマップ、前記法線マップ、および前記ハイトマップを画像データとして記憶装置に格納するステップと、
を含むことを特徴とする画像データ生成方法。
【請求項16】
ユーザが入力した視点移動要求に従い、表示対象の画像のうち新たに表示すべき領域のフレーム座標を特定する機能と、
記憶装置に格納された、表示対象の画像を描画するための複数の処理のそれぞれに用いる複数の画像データのうち少なくともいずれかを読み出し、それを用いて前記フレーム座標に対応する表示画像の領域を描画する機能と、
描画した表示画像のデータを表示装置に出力する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラムであって、
前記描画する機能は、
前記視点移動要求に基づく視点の高さによって、前記複数の画像データのいずれかを用いる前記複数の処理のうち実施する処理を異ならせることを特徴とするコンピュータプログラム。
【請求項17】
対象物を撮影した画像のデータを生成する機能をコンピュータに実現させるコンピュータプログラムであって、
光源の方向を異ならせて対象物を撮影した複数の計測画像を取得しメモリに格納する機能と、
前記メモリより読み出した、前記計測画像のうち所定の光源の方向での計測画像を用いて、画素ごとの色情報を保持するカラーマップを作成する機能と、
前記メモリより読み出した前記計測画像を、照度差ステレオ法により解析し、前記対象物の法線ベクトルを画像中の画素に対応させて表した法線マップを作成する機能と、
前記法線マップを所定の方向にて全面走査し、法線ベクトルから得られる当該所定の方向における対象物の傾きを積分することにより当該対象物の高さを画素に対応させて表したハイトマップを作成する機能と、
前記カラーマップ、前記法線マップ、および前記ハイトマップを画像データとして記憶装置に格納する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【請求項18】
ユーザが入力した視点移動要求に従い、表示対象の画像のうち新たに表示すべき領域のフレーム座標を特定する機能と、
記憶装置に格納された、表示対象の画像を描画するための複数の処理のそれぞれに用いる複数の画像データのうち少なくともいずれかを読み出し、それを用いて前記フレーム座標に対応する表示画像の領域を描画する機能と、
描画した表示画像のデータを表示装置に出力する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラムを記録した記録媒体であって、
前記描画する機能は、
前記視点移動要求に基づく視点の高さによって、前記複数の画像データのいずれかを用いる前記複数の処理のうち実施する処理を異ならせることを特徴とするコンピュータプログラムを記録した記録媒体。
【請求項19】
対象物を撮影した画像のデータを生成する機能をコンピュータに実現させるコンピュータプログラムを記録した記録媒体であって、
光源の方向を異ならせて対象物を撮影した複数の計測画像を取得しメモリに格納する機能と、
前記メモリより読み出した、前記計測画像のうち所定の光源の方向での計測画像を用いて、画素ごとの色情報を保持するカラーマップを作成する機能と、
前記メモリより読み出した前記計測画像を、照度差ステレオ法により解析し、前記対象物の法線ベクトルを画像中の画素に対応させて表した法線マップを作成する機能と、
前記法線マップを所定の方向にて全面走査し、法線ベクトルから得られる当該所定の方向における対象物の傾きを積分することにより当該対象物の高さを画素に対応させて表したハイトマップを作成する機能と、
前記カラーマップ、前記法線マップ、および前記ハイトマップを画像データとして記憶装置に格納する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラムを記録した記録媒体。
【請求項20】
画像の少なくとも一部をディスプレイに表示するために記憶装置から読み出される画像ファイルのデータ構造であって、
表示画像の色を表現するために用いる、色情報を画素ごとに保持するカラーマップと、
画像中の対象物に対する視差を表現するために用いる、当該対象物の画像平面に対する高さの情報を画素ごとに保持するハイトマップと、
画像中の対象物の表面に凹凸を表現するために用いる、当該対象物の表面の法線ベクトルの情報を画素ごとに保持する法線マップと、
設定された光源の方向に対応する影をつけるために用いる、各画素に対象物の影が生じるときの光源の方向の情報を画素ごとに保持するホライズンマップと、
を対応づけたことを特徴とする画像ファイルのデータ構造。
【請求項21】
前記カラーマップ、前記ハイトマップ、前記法線マップ、および前記ホライズンマップはそれぞれ、一つの画像を異なる解像度で表したときの各解像度の画像データに対応するデータを、解像度順に階層化した階層構造を有することを特徴とする請求項20に記載の画像ファイルのデータ構造。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2011−134100(P2011−134100A)
【公開日】平成23年7月7日(2011.7.7)
【国際特許分類】
【出願番号】特願2009−292939(P2009−292939)
【出願日】平成21年12月24日(2009.12.24)
【出願人】(310021766)株式会社ソニー・コンピュータエンタテインメント (417)
【Fターム(参考)】