(57)【特許請求の範囲】
【請求項１】
表示画像平面に対するテクスチャの移動速度ベクトルを、表示画像の画素ごとに取得する速度取得部と、
前記移動速度ベクトルによって参照範囲を調整したうえで、当該参照範囲のテクセル値をサンプリングするテクスチャ参照部と、
サンプリングされたテクセル値に基づき画素値を決定する画素値決定部と、
画素値が決定された表示画像のデータを出力する出力部と、
を備えたことを特徴とする画像処理装置。
【請求項２】
前記テクスチャ参照部は、テクスチャの移動速度の増加に応じて、前記移動速度ベクトルの軸方向で前記参照範囲を拡張または縮小することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記テクスチャ参照部は、テクスチャの移動速度によって、前記参照範囲を調整するか否かを切り替えることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記テクスチャ参照部は、ユーザの注視点の時間変化に基づき、テクスチャの移動速度の増加に応じて前記参照範囲を拡張するか縮小するかを切り替えることを特徴とする請求項２に記載の画像処理装置。
【請求項５】
複数解像度のテクスチャのデータを格納するテクスチャ記憶部をさらに備え、
前記テクスチャ参照部は、テクスチャの移動速度の増加に応じて、参照先のテクスチャの解像度を高解像度側へ切り替えることを特徴とする請求項１から４のいずれかに記載の画像処理装置。
【請求項６】
前記テクスチャ参照部は、表示画像の画素に対応するテクスチャ上の領域に、テクスチャの移動速度によらない所定数のサンプリング点を設定することにより、テクスチャの移動速度の増加に応じて参照範囲を縮小することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記テクスチャ参照部は、前記移動速度ベクトルと垂直な直線上に、前記所定数のサンプリング点を設定することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記画素値決定部は、前記参照範囲のテクセル値に基づき画素ごとに複数の画素値を決定し、表示画像の複数フレームにおいて、当該複数の画素値を順に表すことを特徴とする請求項１から４のいずれかに記載の画像処理装置。
【請求項９】
前記画素値決定部は、前記移動速度ベクトルに応じた窓関数で、前記テクセル値の畳み込みを行うことにより画素値を決定することを特徴とする請求項１に記載の画像処理装置。
【請求項１０】
テクスチャにより表される表示対象の面を表示画像平面に射影することにより、表示画像におけるテクスチャ領域を取得するテクスチャ領域取得部をさらに備え、
前記テクスチャ参照部は、前記射影の結果に基づき、前記テクスチャ領域内の１画素に対応するテクスチャ平面の領域を特定し、前記移動速度ベクトルによって当該領域を変形させることにより、前記参照範囲を調整することを特徴とする請求項１から４のいずれかに記載の画像処理装置。
【請求項１１】
表示画像平面に対するテクスチャの移動速度ベクトルを、表示画像の画素ごとに取得するステップと、
前記移動速度ベクトルによって参照範囲を調整したうえで、当該参照範囲のテクセル値をサンプリングするステップと、
サンプリングされたテクセル値に基づき画素値を決定するステップと、
画素値が決定された表示画像のデータを出力するステップと、
を含むことを特徴とする画像処理装置による表示画像生成方法。
【請求項１２】
表示画像平面に対するテクスチャの移動速度ベクトルを、表示画像の画素ごとに取得する機能と、
前記移動速度ベクトルによって参照範囲を調整したうえで、当該参照範囲のテクセル値をサンプリングする機能と、
サンプリングされたテクセル値に基づき画素値を決定するステップと、
画素値が決定された表示画像のデータを出力する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テクスチャデータを用いて表示画像を生成する画像処理装置および表示画像生成方法に関する。
【背景技術】
【０００２】
近年、画像表示技術は進化の一途を辿り、携帯端末、タブレット、テレビ受像器、パーソナルコンピュータ、ヘッドマウントディスプレイなど、様々な形態で映像を楽しんだり情報を取得したりすることが容易に行えるようになってきた。特に表示装置は高解像度化が実現され、臨場感のある高精細な画像を見ることが身近なものになっている。また人の視覚刺激の時間積分機能を利用して、像が移動する場合に、画素を間引いた複数パターンの画像を順に表示させることにより、間引く前の解像度で画像を知覚させる技術が提案されている（例えば引用文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−３３７７７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
表示装置の解像度が高くなると、１画素で表現される対象物のエリアが小さくなる。そのため像が動いている場合、解像度が高くなるほど、同じエリアを表す画素が前のフレームから離間した位置に移動しやすくなり、不連続に見えたり違和感を与えたりすることがある。しかしながら、解像度とフレームレートの双方を向上させることは、元画像のデータサイズや表示処理の負荷の増大を招く。不連続性を解消するために高周波成分を抑えるなどの処理を一律に行うと、表示装置が本来有する高精細画像の表示性能を損なうことになる。【０００５】
本発明はこうした課題に鑑みてなされたものであり、その目的は、表示装置の解像度やフレームレートによらず表示画像を安定的かつ良好に見せることのできる技術を提供することにある。
【課題を解決するための手段】
【０００６】
本発明のある態様は画像処理装置に関する。この画像処理装置は、表示画像平面に対するテクスチャの移動速度ベクトルを、表示画像の画素ごとに取得する速度取得部と、移動速度ベクトルによって参照範囲を調整したうえで、当該参照範囲のテクセル値をサンプリングするテクスチャ参照部と、サンプリングされたテクセル値に基づき画素値を決定する画素値決定部と、画素値が決定された表示画像のデータを出力する出力部と、を備えたことを特徴とする。【０００７】
本発明のさらに別の態様は表示画像生成方法に関する。この表示画像生成方法は、表示画像平面に対するテクスチャの移動速度ベクトルを、表示画像の画素ごとに取得するステップと、移動速度ベクトルによって参照範囲を調整したうえで、当該参照範囲のテクセル値をサンプリングするステップと、サンプリングされたテクセル値に基づき画素値を決定するステップと、画素値が決定された表示画像のデータを出力するステップと、を含むことを特徴とする。【０００８】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００９】
本発明によると、表示装置の解像度やフレームレートによらず表示画像を安定的かつ良好に見せることができる。
【図面の簡単な説明】
【００１０】
【図１】本実施の形態を適用できる画像処理システムの構成例を示す図である。
【図２】本実施の形態で表示させる画像と表示装置の画素の関係を模式的に示す図である。
【図３】本実施の形態において、テクセルを用いて表示画像の画素値を決定する手法の例を説明するための図である。
【図４】本実施の形態において２次元の移動を考慮したときに画素値を決定する様子を模式的に示す図である。
【図５】本実施の形態における、テクスチャの移動速度に対する窓関数の変化の例を示す図である。
【図６】本実施の形態の画像処理装置の内部回路構成を示す図である。
【図７】本実施の形態における画像処理装置の機能ブロックの構成を示す図である。
【図８】本実施の形態における画像処理装置が、テクスチャの移動を加味して表示画像を生成、出力する処理手順を示すフローチャートである。
【図９】本実施の形態で表示装置をＨＭＤとした場合の表示態様の例を示す図である。
【図１０】本実施の形態においてＨＭＤの表示画面に対応するスクリーンと、表示対象に表されるテクスチャの画素の関係を模式的に示す図である。
【図１１】本実施の形態において２次元方向の移動を考慮し、移動速度に対しテクスチャの参照範囲を狭める態様における当該範囲の定性的な変化を示す図である。
【図１２】本実施の形態において、移動速度の増加に対してテクスチャの参照範囲を狭める際の、当該参照範囲の算出手法の一例を説明するための図である。
【図１３】本実施の形態における表示画像平面上の領域とテクスチャ平面上の領域の対応関係を説明するための図である。
【図１４】本実施の形態の変換式を用いて決定した、テクスチャ平面における平行四辺形を例示する図である。
【図１５】本実施の形態における、参照範囲の大きさに応じたサンプリング点の数および分布の変化例を模式的に示す図である。
【図１６】本実施の形態において４点のサンプリングを行うときのサンプリング点の決定規則を説明するための図である。
【図１７】本実施の形態において９点のサンプリングを行うときのサンプリング点の決定規則を説明するための図である。
【図１８】本実施の形態において１６点のサンプリングを行うときのサンプリング点の決定規則を説明するための図である。
【図１９】本実施の形態において、スクリーンに対するテクスチャの移動速度に応じて参照先のテクスチャの解像度を切り替える場合の画素の関係を模式的に示す図である。
【図２０】本実施の形態において２次元方向の移動を考慮し、移動速度に対しテクスチャの参照範囲を狭める態様における、移動速度に応じたテクスチャの解像度の切り替えを定性的に示す図である。
【図２１】本実施の形態において速度ベクトルに垂直な直線上の２点のサンプリング点を決定する手法を説明するための図である。
【図２２】本実施の形態において速度ベクトルと垂直な直線上の３点をサンプリングする様子を模式的に示す図である。
【図２３】本実施の形態においてサンプリング点の分布を時間方向に分離する態様におけるサンプリングの様子を模式的に示す図である。
【図２４】本実施の形態の画像処理装置が、テクスチャの参照範囲の制御の態様を状況に応じて変化させる場合の、画素値の決定手順を示すフローチャートである。
【発明を実施するための形態】
【００１１】
図１は、本実施の形態を適用できる画像処理システムの構成例を示す。画像処理システム８は、ユーザが操作する入力装置１４、ユーザ操作などに応じて表示画像を生成する画像処理装置１０、画像を表示する表示装置１６を含む。
【００１２】
画像処理装置１０と、入力装置１４、表示装置１６とは、有線ケーブルで接続されても、Bluetooth（登録商標）など既知の無線通信技術により接続されてもよい。またこれらの装置の外観形状は図示するものに限らない。さらにこれらのうち２つ以上の装置を一体的に備えた装置としてもよい。例えば画像処理装置１０、入力装置１４、表示装置１６を、それらを備えた携帯端末などで実現してもよい。また表示装置１６は、ユーザが頭部に装着することにより眼前に画像を表示するヘッドマウントディスプレイ（以下、「ＨＭＤ」と表記する）でもよい。画像処理装置１０はＨＭＤに内蔵してもよい。
【００１３】
入力装置１４は、ゲームコントローラ、キーボード、マウス、ジョイスティック、表示装置１６の表示画面上に設けたタッチパッドなど、一般的な入力装置のいずれか、またはそれらの組み合わせによって実現してよい。あるいは入力装置１４は、音声を入力するマイクロフォンや実空間の様子を撮影する撮像装置であってもよい。入力装置１４は、ユーザが操作することにより、処理の開始、終了、機能やコンテンツの選択、各種コマンド入力などの要求を受け付け、画像処理装置１０に電気信号として供給する。
【００１４】
画像処理装置１０は、入力装置１４を介したユーザ操作などに応じて表示画像のデータを生成し、表示装置１６に出力する。ここで表示画像として示される情報の種類は特に限定されず、ユーザが求める機能やコンテンツの内容などによって適宜決定してよい。例えば電子書籍、地図、ホームページ、写真など、情報自体には動きを含まない画像でもよいし、電子ゲームの画面など動きがあることを前提とした画像でもよい。図示しない撮像装置で撮影した画像に仮想オブジェクトを重畳描画した拡張現実の画像などでもよい。
【００１５】
表示装置１６は、画像処理装置１０が生成した画像を出力する一般的な装置である。例えば液晶テレビ、有機ＥＬテレビ、プラズマテレビ、ＰＣモニターなどのいずれでもよい。あるいはタブレット端末や携帯端末のディスプレイでもよいし、ＨＭＤやプロジェクタなどでもよい。
【００１６】
図２は、本実施の形態で表示させる画像と表示装置１６の画素の関係を模式的に示している。同図（ａ）は表示対象の画像の一部を構成する文字「Ａ」の領域を示している。（ｂ）は文字「Ａ」を表示装置１６の画面に表示させた状態を示している。（ａ）に示すように、表示対象の画像はそれ自体が（ｕ，ｖ）座標で定義される２次元配列の画素ごとに色が設定されてなるデータ構造を有する。
【００１７】
画像処理装置１０は、このようにあらかじめ生成された表示対象の画像に基づき、（ｂ）に示すように表示装置１６に対応する解像度を有する表示画像を生成する。画像処理装置１０は、（ａ）に示すような画像の各画素の値を用いて（ｂ）に示す表示画像の各画素の値を決定する。つまり表示対象の画像のｕｖ座標系とは独立したｘｙ座標系で表示画像を生成する。
【００１８】
この処理は、コンピュータグラフィクスにおけるテクスチャマッピングに相当するため、以後（ａ）に示すような表示対象の画像を「テクスチャ」と呼ぶ。本実施の形態では表示対象の情報を表す画像を、表示装置１６に表示させたときの解像度より高い解像度のテクスチャデータとして準備しておく。上述のとおりテクスチャとして表される画像の種類は限定されず、文字や図形からなる画像であっても物体表面を表す画像であってもよい。
【００１９】
図３は、テクスチャの画素（テクセル）を用いて表示画像の画素値を決定する手法の例を説明するための図である。同図（ａ）、（ｂ）はどちらも、テクスチャ５０と表示画像５２を側面から見た状態を模式的に示しており、各面において等間隔で示された太線が画素の境界を示している。テクスチャ５０のテクセルが表示画像５２の画素より細かい場合、表示画像５２の１画素に複数のテクセルが対応する。図示する例では２つのテクセル５６ａ、５６ｂが、表示画像５２の画素５４に対応している。
【００２０】
ここでテクセル５６ａ、５６ｂの値をｐ１およびｐ２とすると、表示画像５２の画素５４の画素値Ｃを次のように決定する。
Ｃ＝（ｐ１＋ｐ２）／２
ただし上記は１次元での画素の対応のみを考えており、図の奥行き方向を含めた２次元で、２×２＝４個のテクセルが画素５４に対応する場合、画素値は当該４個のテクセル値の平均値とする。
【００２１】
このような画素値の決定手法は、テクスチャを表示装置１６の解像度に応じて縮小していることと同等である。一方、テクスチャ５０が表示装置１６の画面に対し移動している場合は、隣接したテクセルの値を加味することにより、移動体に対する視覚的な効果を演出できる。例えば（ｂ）に黒矢印で示すように、表示画像５２の面に対しテクスチャ５０が図の下方向に移動している場合は、その時点で画素５４に対応しているテクセル５６ａ、５６ｂの値ｐ１、ｐ２に加え、次に対応する領域に入ってくるテクセル１５６ｃの値ｐ０を含めて、画素５４の画素値Ｃを次のように決定する。
Ｃ＝ｐ０／４＋ｐ１／２＋ｐ２／４
【００２２】
すなわちテクスチャ５０が移動する場合、テクスチャ上でテクセルを読み出す範囲（参照範囲）を、移動方向の軸において拡大する。また拡大した軸方向で中心から端に向かうほど小さい係数で、テクセル値を加重平均した値を画素値とする。このような処理により、移動方向において像が多少ぼけ、実際に動いている物を見るときと同様の画像表現を実現できる。また表示対象の移動に対しフレーム間での像の変化が滑らかになるため、表示装置の解像度に対する適正なフレームレートより低いフレームレートでも、画像を良好に見せることができる。
【００２３】
この場合も実際には、図の奥行き方向を含めた２次元でテクセル値を参照し画素値の決定に用いる。なおテクスチャの移動は、表示対象の空間でテクスチャをマッピングした面自体が移動する場合、当該面にマッピングするテクスチャ上の領域が移動する場合、および、それらが同時に移動する場合に生じる。以後、それらを含めて「テクスチャの移動」と呼ぶ。
【００２４】
図４は、２次元の移動を考慮したときに画素値を決定する様子を模式的に示している。ここでは下段に示す表示画像５２の１画素が、上段に示すテクスチャのうち２×２＝４個のテクセルに対応するとする。表示画像５２において画素６２ａはテクスチャ５０ａが静止している場合、画素６２ｂはテクスチャ５０ｂが矢印で示す右方向に移動している場合、画素６２ｃはテクスチャ５０ｃが矢印で示す右上方向に移動している場合の画素を、それぞれの表れ方で示している。
【００２５】
またテクスチャ５０ａ、５０ｂ、５０ｃにおいて、表示画像５２の画素６２ａ、６２ｂ、６２ｃを決定するための参照範囲６０ａ、６０ｂ、６０ｃを示している。さらに参照範囲６０ａ、６０ｂ、６０ｃにおいて各テクセルに与える重み係数を、最大値を黒とするグレースケールで示している。まずテクスチャ５０ａが静止している場合、画素６２ａに対応する４個のテクセルからなる領域を参照範囲６０ａとし、それらのテクセル値を、均等な重みで平均する。
【００２６】
テクスチャ５０ｂが右方向に移動している場合、上述したように進行方向の軸で参照範囲を拡張する。図示する例では２個から３個へ拡張した結果、３×２個のテクセルからなる領域を参照範囲６０ｂとしている。このとき進行方向で先頭の２画素と後尾の２画素の重みを軽くする。テクスチャ５０ｃが右上方向に移動している場合も同様に、進行方向の軸で参照範囲を拡張する。図示する例では先頭（または後尾）の３画素を増やした結果、７テクセルからなる領域を参照範囲６０ｃとしている。このとき先頭の３画素と後尾の３画素の重みを軽くする。
【００２７】
このように画素値を決定すると、表示画像５２の画素６２ａ、６２ｂ、６２ｃとその隣接する画素により、図示するように移動速度が生じている方向で変化が滑らかな像が得られる。なおこれまで示した例では、わかりやすさのためにテクスチャ５０と表示画像５２の画素境界が一致していたが、適切な窓関数（図３の５８ａ、５８ｂ）またはフィルタを状況に応じて制御し、テクセル値の畳み込みを行うことにより、テクスチャ５０の位置によらず同様に画素値を決定できる。
【００２８】
図５はテクスチャの移動速度に対する窓関数の変化の例を示している。なお同図に示す窓関数は、横軸をテクスチャ上の横または縦方向の位置を示す１次元のものであるが、実際は２次元で設定する。またこの例では１次元で４個のテクセルが表示画像の１画素に対応するとしている。（ａ）、（ｂ）、（ｃ）の最上段はいずれも、テクスチャが静止している、すなわち速度Ｖ＝０のときの窓関数を示している。この場合、図３の（ａ）に示したように、表示画像の１画素に対応する４テクセルを参照範囲とし、それらの値に等しい係数、この場合は１／４を乗算して合計することにより、表示画像の画素値を算出する。したがって窓関数は図示するような矩形窓となる。
【００２９】
（ａ）の２段目、３段目、４段目はそれぞれ、テクスチャが速度Ｖ＝Ｖ０、２Ｖ０、３Ｖ０で移動するときの窓関数を例示している。定性的には図示するように、速度Ｖが大きいほどテクスチャの参照範囲を、その方向に拡張する。ここで１フレームあたり１テクセル移動する速度を速度Ｖ０とすると、図示する例は、前のフレームからのテクスチャの移動分だけ参照範囲を広げていることになる。また上述したように、拡張した軸方向で範囲の中心から離れるほど係数を小さくする。
【００３０】
その結果、例えば速度Ｖ０のときは参照範囲の５テクセルに対し、
［１／８，１／４，１／４，１／４，１／８］
なる係数が与えられる。速度２Ｖ０のときは参照範囲の６テクセルに対し、
［１／１６，３／１６，１／４，１／４，３／１６，１／１６］
なる係数が与えられる。速度３Ｖ０のときは参照範囲の７テクセルに対し、
［１／２４，１／８，５／２４，１／４，５／２４，１／８，１／２４］
なる係数が与えられる。
【００３１】
（ａ）に示すような窓関数によれば、速度の増加に応じて移動方向の像の曖昧さが増し、実際に移動体を見たときと同様の様子で画像を表示させることができる。また表示装置の解像度に対しフレームレートが低くても、移動方向におけるフレーム間での不連続性が抑えられる。
【００３２】
一方、移動している表示対象をユーザが目で追っている（以後、「追従視している」と呼ぶ）場合、そのような曖昧さがかえって不都合となる場合がある。すなわち追従視が可能な移動速度では、網膜上では像が停止しているため、本来は静止画と同様に見えるはずの像がぼやけて見えることになる。像の詳細を見たいという意思をもって追従視している場合は、そのようなぼやけが妨げとなりユーザにストレスを与え得る。例えばスクロールさせながら電子書籍の文字を目で追っているときなどは、スクロール期間で文字がぼやけることで読みづらさや違和感を与えることが考えられる。
【００３３】
そこで図の（ｂ）、（ｃ）に示すように、テクスチャの移動速度の増加に対しテクスチャの参照範囲を狭めることも考えられる。例えば速度Ｖ０のときは参照範囲を移動方向に１テクセル分狭め、残りの３テクセルに対し、
［１／３，１／３，１／３］
なる係数を与える。速度２Ｖ０のときは参照範囲をさらに１テクセル分狭め、残りの２テクセルに対し、
［１／２，１／２］
なる係数を与える。速度３Ｖ０のときは参照範囲をさらに１テクセル分狭め、残りの１テクセルに対し、
［１］
なる係数を与える。すなわち速度３Ｖ０のときは参照先の１つのテクセル値をそのまま画素値とする。
【００３４】
人には、十から数百ミリ秒オーダーの視覚的刺激を記憶し加算して認識する視覚的な特性がある。そのため追従視により注視位置が移動すると、移動経路にある画素の色が加算されて認識される。そのため移動速度の増加に応じてテクスチャの参照範囲をあえて狭め、各フレームの表示画像において空間的な合成の程度を抑えておくことにより、よりクリアな像を知覚できる。またこのような制御によれば、テクスチャの読み出しや演算の負荷を軽減することができる。
【００３５】
図示するように前のフレームからの移動分だけ参照範囲を狭める場合、そのような制御を適用する移動速度の上限を、１フレームあたり表示画像の１画素分（図示する例ではテクスチャの４テクセル分）とすれば破綻がない。逆にそれ以上の移動速度では、像の詳細を提示する必要性が小さくなると考えられるため、（ａ）のように参照範囲を速度の増加とともに広げるようにしてもよい。なお（ｂ）で示した窓関数や上述した係数は例示である。例えば窓関数を（ｃ）のように曲線で定義すれば、テクセルの位置や表示画像の画素とのサイズの関係などによらず適用できる。
【００３６】
図６は画像処理装置１０の内部回路構成を示している。画像処理装置１０は、ＣＰＵ（Central Processing Unit）２２、ＧＰＵ（Graphics Processing Unit)２４、メインメモリ２６を含む。これらの各部は、バス３０を介して相互に接続されている。バス３０にはさらに入出力インターフェース２８が接続されている。入出力インターフェース２８には、ＵＳＢやＩＥＥＥ１３９４などの周辺機器インターフェースや、有線又は無線ＬＡＮのネットワークインターフェースからなる通信部３２、ハードディスクドライブや不揮発性メモリなどの記憶部３４、表示装置１６へデータを出力する出力部３６、入力装置１４からデータを入力する入力部３８、磁気ディスク、光ディスクまたは半導体メモリなどのリムーバブル記録媒体を駆動する記録媒体駆動部４０が接続される。
【００３７】
ＣＰＵ２２は、記憶部３４に記憶されているオペレーティングシステムを実行することにより画像処理装置１０の全体を制御する。ＣＰＵ２２はまた、リムーバブル記録媒体から読み出されてメインメモリ２６にロードされた、あるいは通信部３２を介してダウンロードされた各種プログラムを実行する。ＧＰＵ２４は、ジオメトリエンジンの機能とレンダリングプロセッサの機能とを有し、ＣＰＵ２２からの描画命令に従って描画処理を行い、表示画像を図示しないフレームバッファに格納する。そしてフレームバッファに格納された表示画像をビデオ信号に変換して出力部３６に出力する。メインメモリ２６はＲＡＭ（Random Access Memory）により構成され、処理に必要なプログラムやデータを記憶する。
【００３８】
図７は、本実施の形態における画像処理装置１０の機能ブロックの構成を示している。同図に示す各機能ブロックは、ハードウェア的には、図６に示したＣＰＵ２２、ＧＰＵ２４、メインメモリ２６、出力部３６、入力部３８などの構成で実現でき、ソフトウェア的には、記録媒体などからメインメモリ２６にロードした、データ入力機能、データ保持機能、演算機能、画像処理機能、通信機能などの諸機能を発揮するプログラムで実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００３９】
画像処理装置１０は、入力装置１４からの入力情報を取得する入力情報取得部７２、表示画像においてテクスチャを表す領域を取得するテクスチャ領域取得部７４、テクスチャの移動速度を取得する速度取得部７６、速度に応じた範囲でテクスチャを参照するテクスチャ参照部７８、テクスチャのデータを格納するテクスチャ記憶部８０、読み出されたテクセル値に基づき表示画像の画素値を決定する画素値決定部８２、表示画像のデータを表示装置１６に出力する出力部８４を含む。
【００４０】
入力情報取得部７２は図６の入力部３８、ＣＰＵ２２などで実現され、ユーザ操作の内容を入力装置１４から取得する。ここでユーザ操作とは、実行する情報処理の内容や表示対象の選択、処理の開始／終了、実行している情報処理に対するコマンド入力など、一般的な情報処理でなされるものでよい。入力情報取得部７２は取得したユーザ操作の内容を、テクスチャ領域取得部７４と速度取得部７６に適宜供給する。
【００４１】
テクスチャ領域取得部７４は図６のＣＰＵ２２、メインメモリ２６などで実現され、ユーザ操作の内容に基づき表示画像の構成を決定する。このとき、表示画像の平面においてテクスチャを表す領域を取得するとともに、当該領域とテクスチャの識別情報とを対応づけて、速度取得部７６およびテクスチャ参照部７８に通知する。テクスチャを表す領域の取得手法は、表示する画像の内容や情報の種類によって様々である。例えば単に、あらかじめ設定された表示画像の平面上の領域に係るデータをメインメモリ２６などから読み出すのみでもよいし、仮想世界に対する視点に基づきスクリーンを設定し、テクスチャを用いて表すべき仮想オブジェクトを射影することにより求めてもよい。
【００４２】
テクスチャ領域取得部７４はまた、ユーザ操作やあらかじめ設定された規則に従い、表示画像の構成を変化させてもよい。例えば電子ゲームの結果としてゲーム画面を生成する態様においては、ゲームの処理なども行ってよい。表示画像の構成を変化させた結果、テクスチャを表す領域を移動させる必要が生じた場合、テクスチャ領域取得部７４はその情報を速度取得部７６に随時通知する。
【００４３】
速度取得部７６は図６のＣＰＵ２２、ＧＰＵ２４、メインメモリ２６などで実現され、表示画像の平面に対するテクスチャの移動速度を、表示画像の画素ごとに取得する。テクスチャの移動は、ユーザ操作によるものでもよいし、あらかじめプログラムされたものでもよい。いずれの場合も、表示画像の平面においてテクスチャを表す領域自体を移動させる場合、領域内でテクスチャの像を移動させる場合、その双方を同時に移動させる場合がある。テクスチャを表す領域自体を移動させる場合、その情報はテクスチャ領域取得部７４から取得する。
【００４４】
領域内でテクスチャの像を移動させる場合、例えばスクロールや拡大縮小を実施する場合は、入力情報取得部７２からそれらのユーザ操作の内容を取得したり、あらかじめメインメモリ２６などに格納された設定を読み出したりする。テクスチャ記憶部８０は図６の記憶部３４、メインメモリ２６などで構成され、テクスチャのデータを格納する。上述したように、本実施の形態では表示装置１６の画面の解像度より高い解像度のテクスチャを準備する。また後述するように、テクスチャデータを複数の解像度で準備してもよい。
【００４５】
１テクセルの領域が、表示時の１画素の領域より小さいテクスチャを用いることにより、図３から５に示した畳み込みを実現できる。一方、表示画像に対し過度に高い解像度のテクスチャを用いると、テクセル値の読み出しや演算の負荷が増加する。したがってテクスチャが拡縮され、表示画像の１画素に対応するテクスチャ上の領域のサイズが変化する態様においては、複数解像度のテクスチャデータを準備することにより、解像度を適応的に選択できるようにする。また後述するように、移動速度の増加に伴う参照範囲の縮小に、高解像度のテクスチャを利用してもよい。
【００４６】
テクスチャ参照部７８は図６のＣＰＵ２２、ＧＰＵ２４、メインメモリ２６などで実現され、表示画像の画素ごとにテクスチャの参照範囲、ひいてはサンプリング点の分布を決定し、テクスチャ記憶部８０から該当するテクセルの値を読み出す。この際、上述のとおり表示画像の平面に対するテクスチャの移動速度に応じて参照範囲を変化させる。図５で説明したように、速度の増加に対し参照範囲を広げる場合と狭める場合でそれぞれの効果が得られるため、移動速度や追従視の状況に応じて適切に切り替える。
【００４７】
画素値決定部８２は図６のＣＰＵ２２、ＧＰＵ２４、メインメモリ２６などで実現され、読み出したテクセル値を演算し、表示画像の画素値を決定する。すなわち図５で例示したように、移動速度によって定まる窓関数を用いてテクセル値を畳み込む。そのため、移動速度に伴い参照範囲を広げる場合と狭める場合の双方で、移動速度を複数段階に分けたそれぞれに対し窓関数を定義する式や行列を設定しておく。
【００４８】
出力部８４は図６のＣＰＵ２２、ＧＰＵ２４、メインメモリ２６、出力部３６などで実現され、そのようにして全画素の値が決定された画像を表示画像として表示装置１６に出力する。テクスチャで表す領域以外の領域が表示画像に含まれる場合、出力部８４は、その情報をテクスチャ領域取得部７４から取得し、当該領域の画像を別途描画してから出力する。
【００４９】
次に、これまで述べた構成によって実現される画像処理装置１０の動作を説明する。図８は、本実施の形態における画像処理装置１０がテクスチャの移動を加味して表示画像を生成、出力する処理手順を示すフローチャートである。まず画像処理装置１０のテクスチャ領域取得部７４は、入力装置１４に対するユーザ操作に基づき、表示するコンテンツや情報など表示対象に係る情報を取得する（Ｓ１０）。
【００５０】
次にテクスチャ領域取得部７４は、ユーザ操作あるいはあらかじめ定められた規則に従い、表示画像においてテクスチャにより表すべき領域（テクスチャ領域）を決定する（Ｓ１２）。続いて速度取得部７６は、ユーザ操作あるいはあらかじめ定められた規則に従い、テクスチャ領域の画素ごとに、テクスチャの移動速度の大きさと方向を表す速度ベクトルを取得する（Ｓ１４）。例えば文書などをスクロールさせる場合や、テクスチャ領域自体が平行移動する場合は、テクスチャ領域内の全ての画素で同じ速度ベクトルとなる。
【００５１】
表示倍率を変化させる場合は、拡縮の中心では速度が０、中心から離れるほど速度が大きくなる放射状の速度ベクトルとなる。また自由視点から表示対象を見る態様においては、表示対象の面に対する視線の角度によって速度ベクトルの分布が変化する。速度取得部７６は例えば、現フレームにおける対象画素に対応するテクスチャ上の位置が、１つ前のフレームにおいてどの位置にあったかを特定し、位置の差分に基づきテクスチャの速度ベクトルを画素ごとに求める。そのため速度取得部７６には、少なくとも１つ前のフレームにおける表示画像の位置座標とテクスチャの位置座標とを対応づけたデータを格納するバッファメモリを設ける。
【００５２】
次にテクスチャ参照部７８は、速度ベクトルに基づき適切な窓関数を決定し（Ｓ１６）、テクスチャ記憶部８０に格納されたテクスチャデータのうち、参照範囲にあるテクセル値を読み出す（Ｓ１８）。これに先立ちテクスチャ参照部７８は、移動速度の増加に対し参照範囲を広げるか狭めるかを、移動速度や追従視の状況など所定の基準に照らして決定してもよい。またＳ１８においてテクスチャ参照部７８は、表示画像の１画素に対するテクセルの大きさや、テクスチャの移動速度などに基づき、適切な解像度のテクスチャを選択してもよい。
【００５３】
次に画素値決定部８２は、読み出されたテクセルと窓関数を用いて畳み込みを行うことにより対象画素の画素値を算出する（Ｓ２０）。テクスチャ領域の全画素について画素値が決定していなければ（Ｓ２２のＮ）、ラスタ順などで定まる次の画素に対しＳ１４〜Ｓ２０の処理を繰り返す。テクスチャ領域の全画素値が決定したら（Ｓ２２のＹ）、出力部８４は、テクスチャ領域以外の領域の画像を適宜描画するなどして表示画像を完成させ、そのデータを表示装置１６に適切なタイミングで出力する（Ｓ２４）。ユーザ操作などにより表示を終了させる必要がない期間は（Ｓ２６のＮ）、Ｓ１２〜Ｓ２４の処理を繰り返し、表示終了のタイミングで全処理を終了させる（Ｓ２６のＹ）。
【００５４】
次に、これまで述べた構成を、表示装置１６をＨＭＤとし、表示対象を自由な視点から見る態様に適用したときの実施の形態について詳述する。図９は、本実施の形態で表示装置をＨＭＤとした場合の表示態様の例を示している。この例ではユーザ１２８が、仮想空間に存在する表示対象１２０を自由視点から見る状態をつくり出す。表示対象１２０の像には、文書などをテクスチャデータを用いて表す。
【００５５】
このときテクスチャ領域取得部７４は、ユーザ１２８の位置や視線１３０の方向に応じて設定したスクリーン１３２に、表示対象１２０を形成する平面の４隅を射影してテクスチャ領域を形成する。そしてテクスチャ参照部７８は、当該テクスチャ領域内の画素位置に対応する、テクスチャ上の位置座標を導出することで、テクセル値を読み出す。画素値決定部８２は、読み出されたテクセル値を用いて表示画像の画素値を決定する。
【００５６】
ＨＭＤを導入する場合、ユーザ１２８の位置や視線１３０は、ＨＭＤの内部に設けたモーションセンサの計測値に基づく頭部の位置や姿勢から推定される。頭部の位置や姿勢はこのほか、ＨＭＤの外面に設けた所定形状のマーカーを、図示しないカメラで撮影し、その像を解析することによって導出してもよいし、ＨＭＤ側にカメラを設け、その撮影画像から環境地図の形成とともに導出してもよい。
【００５７】
ＨＭＤを装着したユーザの位置や視線を特定する技術としては様々なものが実用化されており、本実施の形態ではそのいずれを適用してもよい。この際、外部のセンサ値や撮影画像のデータは、所定のレートで入力情報取得部７２が取得し、テクスチャ領域取得部７４が解析を行う。
【００５８】
ユーザは、表示対象１２０が表された表示画像を見ながら、顔の向きを変えたり、前後左右に動いたりすることにより、表示対象１２０のうち表示させる領域を移動させる。またＨＭＤの内部に図示しない注視点検出器を設けることにより、表示画像中の注視点を取得できる。眼球に照射した赤外線の反射を検出するなどして、画面上の注視点を検出する技術は一般的なものである。なお表示領域の平行移動や拡縮、仮想空間における表示対象に対する視点の移動といった操作は、平板型ディスプレイに表示させた画像であっても入力装置１４を用いて実現できるため、以後述べる手法をＨＭＤに限る趣旨ではない。
【００５９】
図１０は、ＨＭＤの表示画面に対応するスクリーン１３２と、表示対象１２０に表されるテクスチャ１３４の画素の関係を模式的に示している。同図はユーザ１２８と表示対象１２０の存在する仮想空間を側面から見た状態を示している。このような系では、表示対象１２０を固定としても、ユーザ１２８の頭部が動くことにより、スクリーン１３２に対し相対的にテクスチャ１３４が移動する。
【００６０】
例えばユーザ１２８が下方を向く過程において、スクリーン１３２ａがスクリーン１３２ｂの位置へ移動すると、スクリーン１３２ａ、１３２ｂ上の網掛けされた画素２４２に射影されるテクスチャ１３４上の位置は、テクセル２４０ａからテクセル２４０ｂへと移動する。したがってこの移動が生じる微小時間において、画素２４２にはおよそ、テクセル２４０ａから２４０ｂまでの３つのテクセルが対応することになる。そこで円２４４内に模式的に示したように、窓関数ａを用いて３テクセル程度の畳み込みを行い画素値を決定すれば、速度方向に色がブレンドされる結果、実際の移動体の見た目に近い像を表現できる。
【００６１】
あるいは窓関数ｂを用いて、１テクセルなど狭い範囲のテクセルから画素値を決定すれば、追従視している場合に静止画と同様にぼけの少ない像を知覚できる。また速度の増加に応じて参照範囲を狭めることにより、視覚的に生じやすくなるぼけを打ち消す方向に作用し、安定して詳細度の高い像を視認できるようになる。
【００６２】
図１１は、２次元方向の移動を考慮し、移動速度に対しテクスチャの参照範囲を狭める態様における当該範囲の定性的な変化を示している。同図は表示画像の１画素に、４×４テクセルのブロックが射影される状況を想定しており、矢印で示す速度ベクトルでテクスチャが相対的に移動したときの参照範囲を、各ブロック内の円形または楕円形で示している。ただし当該円形、楕円形は、画素値の決定に用いるテクスチャの参照範囲を概念として表象するものであり、実際には黒丸で示すような離散的なサンプリング点を範囲に応じて決定する。
【００６３】
まずスクリーンに対するテクスチャの速度が０のとき、ブロック２５０ａに円形で示すように、ブロックの中心から均等な範囲のテクセルを参照する。スクリーンに対しテクスチャが横方向に移動する場合、すなわち速度ベクトル（Ｖｘ，０）のときは、ブロック２５０ｂ、２５０ｃに楕円形で示すように、速度Ｖｘが大きいほど横方向の参照範囲がより狭まるようにする。スクリーンに対しテクスチャが縦方向に移動する場合、すなわち速度ベクトル（０，Ｖｙ）のときは、ブロック２５０ｄ、２５０ｅに楕円形で示すように、速度Ｖｙが大きいほど縦方向の参照範囲がより狭まるようにする。
【００６４】
スクリーンに対しテクスチャが斜め方向に移動する場合、すなわち速度ベクトル（Ｖｘ，Ｖｙ）のときは、ブロック２５０ｆ、２５０ｇ、２５０ｈ、２５０ｉに楕円形で示すように、速度（Ｖｘ２＋Ｖｙ２）１／２が大きいほど速度ベクトルと同方向の参照範囲がより狭まるようにする。なお移動速度の増加に対し参照範囲が小さくなれば、両者の具体的な関係は特に限定されず、例えば反比例でもよいし１次関数や指数関数などでもよい。
【００６５】
図１２は、移動速度の増加に対してテクスチャの参照範囲を狭める際の、当該参照範囲の算出手法の一例を説明するための図である。まず表示画像の１画素に対応するテクスチャ上の矩形領域２５２の各辺をベクトルｄｕ、ベクトルｄｖとする。矩形領域２５２は図１１のブロック２５０ａなどに対応する。
【００６６】
図１１で示したように、表示画像の当該画素においてテクスチャが速度ベクトルＶの方向に移動するとき、当該速度ベクトルＶの方向において矩形領域２５２を縮小する。具体的にはベクトルｄｕ、ベクトルｄｖを速度ベクトルＶの方向と、それに垂直な方向の成分に分離し、そのうち前者に、速度｜Ｖ｜の増加に対し減少するような縮小率ｍ（０＜ｍ＜１）を乗算する。そして後者と合成することにより得られるベクトルｄｕ’、ｄｖ’を辺とする矩形領域２５４を、新たな参照範囲とする。
【００６７】
ベクトルｄｕと速度ベクトルＶのなす角度をθとすると、ベクトルｄｕ’およびベクトルｄｖ’は次のように求められる。
ｄｕ’＝ｍ・ｄｕ・ｃｏｓθ＋ｄｕ・ｓｉｎθ
ｄｖ’＝ｍ・ｄｖ・ｓｉｎθ＋ｄｖ・ｃｏｓθ
角度θに係る三角関数は、例えば速度ベクトルＶとベクトルｄｕの内積から求められる。なお図１２においては縮小率ｍ＝０．５として、縮小方向を白抜きの矢印で示している。ｍを１より大きくすれば、同様の計算で速度の増加に対し参照範囲を広げられる。
【００６８】
このような計算を表示画像の画素ごとに実施し、得られた参照範囲全体に分布するようにサンプリング点を定めることにより、参照範囲を反映した画素値を決定できる。本実施の形態では、表示画像の１画素に対応する領域をテクスチャ平面で定義し、それを図示するような手法で変形させたうえで、サンプリング点の位置座標を決定する。その後は従来のピクセルシェーダーを利用して、効率よくテクセル値の読み出しを行う。
【００６９】
図１３は、表示画像平面上の領域とテクスチャ平面上の領域の対応関係を説明するための図である。図中、左側がテクスチャ平面１４０、右側が表示画像平面１４２であり、両者とも格子状に区切られてなる最小単位の正方形が画素を表す。図１１、１２の例はわかりやすさのため、表示対象のうちテクスチャをマッピングする面（以後、「マッピング対象面」と呼ぶ）が表示画像平面に平行な場合を想定していたが、図１３は視線の傾きにより両者が平行でない状態を示している。
【００７０】
そのため見かけ上のテクセル領域が正方形ではないが、速度に対する参照範囲の導出には図１２で示した手法を適用できる。このようにマッピング対象面１４４が表示画像平面１４２と平行でない場合、表示画像平面１４２上の位置によって、１画素に対応するテクセルの数が変化する。例えば画素１４６はおよそ１テクセルと対応するのに対し、画素１４８は４つ以上のテクセルと対応する。表示画像平面１４２の画素１４６、１４８に含まれるテクスチャ画像の領域は、テクスチャ平面１４０上では領域１５０、１５２で近似される。
【００７１】
マッピング対象面１４４は、図９で示した系において表示対象１２０をスクリーン１３２に射影した像を形成するため、マッピング対象面１４４における位置座標が表示画像平面１４２のどの位置に射影されるかは、一般的な座標変換を用いて特定することができる。表示画像平面１４２における各画素（例えば画素１４６、１４８）に対応するテクスチャ平面１４０上の領域（例えば領域１５０、１５２）は、その逆変換により求めることができるが、本実施の形態では偏微分を用いた線形近似により処理を効率化する。
【００７２】
まず表示画像平面１４２における座標（ｘ，ｙ）を、テクスチャ平面１４０における対応する座標（ｕ，ｖ）へ変換する関数ｆ（ｘ，ｙ）を次のように定義する。
【００７３】
【数１】
0006849826.tif 000002
【００７４】
表示画像平面１４２において、ある位置座標（ｘ０，ｙ０）からｘ軸方向に±ｄの位置での関数ｆ１のテイラー展開は次のようになる。
【００７５】
【数２】
0006849826.tif 000003
【００７６】
上記２式の差をとると次式が成り立つ。
【００７７】
【数３】
0006849826.tif 000004
【００７８】
同様に、位置座標（ｘ０，ｙ０）からｙ軸方向に±ｄの位置での関数ｆ１のテイラー展開、ｘ軸方向、ｙ軸方向に±ｄの位置での関数ｆ２のテイラー展開を考慮すると、表示画像平面１４２において位置座標（ｘ０，ｙ０）から（Δｘ，Δｙ）だけ離れた位置座標（ｘ，ｙ）に対応する、テクスチャ平面１４０における位置座標（ｕ，ｖ）は次のように近似できる。
【００７９】
【数４】
0006849826.tif 000005
【００８０】
ここで（ｕ０，ｖ０）は、表示画像平面１４２における位置座標（ｘ０，ｙ０）に対応するテクスチャ平面１４０における位置座標である。また行列Ａの各要素ａ１１、ａ１２、ａ２１、ａ２２、は次のように定義される。
【００８１】
【数５】
0006849826.tif 000006
【００８２】
上記変換式によれば、表示画像平面１４２における１画素の正方形の領域は、テクスチャ平面１４０において、行列Ａの各列をそれぞれ成分とするベクトルｔｕ（ａ１１，ａ２１）と、ｔｖ（ａ１２，ａ２２）の方向に辺を有する平行四辺形の領域に対応づけられる。
【００８３】
図１４は、上記変換式を用いて決定した、テクスチャ平面における平行四辺形を例示している。同図は、図１３に示したテクスチャ平面１４０における領域１５２とその近傍の領域を表しており、平行四辺形１６０は領域１５２に対応する。また平行四辺形１６０の中心の位置座標（ｕ０，ｖ０）は、表示画像平面における元の画素１４８の中心の位置座標（ｘ０，ｙ０）に対応する。また、平行四辺形１６０の中心の位置座標（ｕ０，ｖ０）における関数ｆ１およびｆ２を、ｕおよびｖと表記している。
【００８４】
上述のとおり平行四辺形１６０は、ベクトルｔｕ（ａ１１，ａ２１）＝(∂ｕ／∂ｘ, ∂ｖ／∂ｘ)、ｔｖ（ａ１２，ａ２２）＝(∂ｕ／∂ｙ, ∂ｖ／∂ｙ)に平行な辺を有する。また、平行四辺形１６０に外接する矩形１６２の横方向および縦方向の辺の長さＳｕ、Ｓｖは、ベクトルｔｕおよびｔｖの成分ごとの長さの和、すなわちＳｕ＝｜∂ｕ／∂ｘ｜＋｜∂ｕ／∂ｙ｜、Ｓｖ＝｜∂ｖ／∂ｘ｜＋｜∂ｖ／∂ｙ｜となる。ここで平行四辺形１６０の辺を構成するベクトルｔｕ、ｔｖは、図１２に示したベクトルｄｕ、ｄｖに対応する。
【００８５】
したがって図１２において説明したようにテクスチャの速度ベクトルに応じて新たなベクトルｄｕ’、ｄｖ’を求めることにより、平行四辺形１６０を変形し、最終的な参照範囲を表す平行四辺形を決定する。本実施の形態ではさらに、当該最終的な参照範囲の大きさによって、テクセル値のサンプリング数を調整する。
【００８６】
図１５は参照範囲の大きさに応じたサンプリング点の数および分布の変化例を模式的に示している。図はテクスチャ平面の一部を示しており、格子状に区切られてなる最小単位の正方形がテクセルを表す。また１テクセルの領域の横方向および縦方向の辺の長さを１とする。まず（ａ）に示すように、外接矩形の横方向の辺の長さＳｕ、および縦方向の辺の長さＳｖのうち大きい方の値が１．０以上４．０未満のときは、参照範囲の領域のうち４点をサンプリングする。すなわち黒丸で示されるサンプリング点のテクセル値を読み出し、画素値の決定に用いる。
【００８７】
なお同図においては条件（ａ）を満たす最大サイズの平行四辺形、すなわちＳｕ＝ＳＶ＝４の正方形のみを例示しているが、実際の参照範囲は様々な平行四辺形でよく、それによってサンプリング点の分布も異なる。他の条件でも同様である。次に（ｂ）に示すように、外接矩形の辺の長さＳｕ、Ｓｖのうち大きい方の値が４．０以上６．０未満の場合は、参照範囲の領域のうち９点をサンプリングする。（ｃ）に示すように、外接矩形の辺の長さＳｕ、Ｓｖのうち大きい方の値が６．０以上８．０未満の場合は、参照範囲の領域のうち１６点をサンプリングする。
【００８８】
それより大きい場合も同様に、外接矩形のサイズに応じてサンプリング数とその分布の決定規則を設定しておけば、マッピング対象面がどの位置や角度にあっても、同様の計算で画素値を決定できる。なおサンプリング数を切り替える条件やサンプリング数は図示したものに限らない。上述したように、図示する例は参照範囲が正方形の場合であるため、横方向、縦方向に同じ間隔で均等にサンプリング点を分布させている。この場合を含め、任意の平行四辺形においてサンプリング点の分布を決定するための規則を準備する。
【００８９】
図１６は、図１５の条件（ａ）のように４点のサンプリングを行うときのサンプリング点の決定規則を説明するための図である。同図の平行四辺形は、図１４に示した平行四辺形１６０に対応している。この平行四辺形１６０の外接矩形１６２は図１５の条件（ａ）を満たしているため、サンプリング点は４つとなる。この場合、平行四辺形１６０の中心座標（ｕ０，ｖ０）と同じ中心を有し縦横それぞれの方向に１／２倍に縮小した平行四辺形の頂点Ａ、Ｂ、Ｃ、Ｄをサンプリング点として定める。中心座標（ｕ０，ｖ０）をｑとおくと、サンプル点Ａ、Ｂ、Ｃ、およびＤは、ベクトルｔｕ、ｔｖを用いて次のように表される。
【００９０】
【数６】
0006849826.tif 000007
【００９１】
図１７は、図１５の条件（ｂ）のように９点のサンプリングを行うときのサンプリング点の決定規則を説明するための図である。この場合、図１６で示した４点のサンプリング点Ａ〜Ｄと同様の計算により求められるサンプリング点Ａ’〜Ｄ’と、それらのうち隣り合う２点の中点であるＥ、Ｆ、Ｇ、Ｈ、および、中心ｑの９点とする。ただし点Ａ’〜Ｄ’は、上記Ａ〜Ｄを算出する式におけるベクトルｔｕ、ｔｖの係数を１／３に代えて算出する。すなわち９点のサンプリング点は、ｑ、ｑ±１／３・ｔｕ±１／３・ｔｖ、ｑ±１／３・ｔｕ、ｑ±１／３・ｔｖとなる。
【００９２】
図１８は、図１５の条件（ｃ）のように１６点のサンプリングを行うときのサンプリング点の決定規則を説明するための図である。この場合、図１６で示した４点のサンプリング点Ａ〜Ｄと同様の計算により求められるサンプリング点Ａ”〜Ｄ”と、点Ａ”〜Ｄ”のうち隣り合う２点を１：２および２：１に内分する８点、および、それらの点をベクトルｔｕ、ｔｖのいずれかの方向で１：２および２：１に内分する４点、の１６点とする。ただし点Ａ”〜Ｄ”は、上記Ａ〜Ｄを算出する式におけるベクトルｔｕ、ｔｖの係数を３／８に代えて算出する。すなわち１６点のサンプリング点は、ｑ±３／８・ｔｕ±３／８・ｔｖ、ｑ±３／１６・ｔｕ±３／８・ｔｖ、ｑ±３／８・ｔｕ±３／１６・ｔｖ、ｑ±３／１６・ｔｕ±３／１６・ｔｖとなる。
【００９３】
なおサンプリング点Ａ〜Ｄ等、平行四辺形の頂点に最も近い４点を決定する際のベクトルｔｕ、ｔｖの係数αは、図１５で示した各条件の最大外接矩形の辺のサイズを２Ｎ（Ｎ＝２、３、４、・・・）とすると、次のように一般化できる。
α＝（Ｎ−１）／２Ｎ
このような規則を設定し、平行四辺形のサイズに応じてサンプリング数およびその分布を決定すれば、平行四辺形の参照範囲の領域から均等に、必要十分なサンプリングを行える。またこのようなサンプリング処理は、既存のバイリニアサンプリング回路を用いて効率的に実行可能である。ただし本実施の形態におけるサンプリングの具体的な規則をこれに限る主旨ではない。
【００９４】
図１９は、スクリーンに対するテクスチャの移動速度に応じて参照先のテクスチャの解像度を切り替える場合の画素の関係を模式的に示している。同図は図１０と同様に仮想空間を側面から見た状態を示している。テクスチャを複数解像度で準備しておき、スクリーンと表示対象との距離に基づき適切な解像度を選択してマッピングを行う技術はミップマップとして知られている。本実施の形態では、テクスチャのデータ構造や読み出し回路として、そのような一般的な技術を利用できる。
【００９５】
図においてテクスチャ２６０ａは、スクリーンと表示対象との距離から定まる適正な解像度であり、例えばスクリーンに射影したときに表示画像とテクスチャの画素領域の大きさが同程度となるような解像度である。ユーザ１２８が動かず、スクリーンに対しテクスチャが移動しない場合は、当該適正な解像度のテクスチャ２６０ａを参照する。
【００９６】
ここでユーザ１２８が下方を向き始め、スクリーン１３２ａがスクリーン１３２ｂの位置へ移動したら、ひいてはテクスチャの相対的な移動が生じたら、テクスチャ２６０ａより高い解像度のテクスチャ２６０ｂへ参照先を切り替える。スクリーンが表示対象に近づいたり遠ざかったりした場合は、ミップマップと同様の規則により適正な解像度を仮に設定したうえ、画像の拡縮によるテクスチャの移動速度を加味して、参照先の解像度を画素ごとに決定する。
【００９７】
図２０は、２次元方向の移動を考慮し、移動速度に対しテクスチャの参照範囲を狭める態様における、移動速度に応じたテクスチャの解像度の切り替えを定性的に示している。図の示し方はおよそ図１１と同様であるが、テクスチャの解像度を切り替えることにより、表示画像の１画素に射影されるテクセルの数が変化している。この例では、スクリーンに対するテクスチャの速度が０のとき、表示画像の１画素に対し１テクセルからなるブロック２６２ａが対応するような解像度のテクスチャを選択している。
【００９８】
スクリーンに対しテクスチャが移動し、移動速度が第１のしきい値を超えたとき、ブロック２６２ｂ、２６２ｄ、２６２ｆに示すように、静止時の解像度の２×２倍の解像度のテクスチャを選択する。移動速度が、第１のしきい値より大きい第２のしきい値を超えたときは、ブロック２６２ｃ、２６２ｇ、２６２ｅ、２６２ｈ、２６２ｉに示すように、静止時の解像度の４×４倍の解像度のテクスチャを選択する。
【００９９】
このようにすることで、必要十分な解像度のテクスチャを用いて処理負荷の増大を抑えつつ、移動速度に依存した画素値の制御を行える。このことは、移動速度の増加に応じて参照範囲を広げる態様でも同様である。なおミップマップの処理系を利用する場合、通常のＬＯＤ（Level of Detail）に対し、速度に応じたオフセット分を演算してＬＯＤを指定すれば、ミップマップの処理を兼ねた適切なタイミングで解像度の切り替えを行える。
【０１００】
テクスチャの解像度を切り替える態様においては、表示画像の１画素に対応するテクセルのサイズが、テクスチャの移動速度の増加に応じて小さくなる。したがってサンプリング数を固定として解像度を高くするのみで、実質的には速度に応じて参照範囲を狭めているのと同様となる。最も単純にはサンプリング数を１つで固定し、表示画像の画素中心に対応する、テクスチャ上の１つのテクセルの値を読み出し、それを画素値とすればよい。
【０１０１】
ただしこの場合、参照範囲は速度ベクトルの方向によらず等方的に狭められる。速度ベクトルの方向のみ参照範囲を狭める場合は、図に黒丸で示すように、速度ベクトルに垂直な直線上の２点をサンプリング点とすることが考えられる。図示するように速度によらず同じ２点をサンプリングしても、解像度が高くなることにより速度方向の参照範囲が狭められていることになる。なおサンプリング点は２点に限らず３点以上でもよい。あるいは速度によってサンプリングの点数を変化させてもよい。いずれの場合も、サンプリングされたテクセル値を平均することにより画素値を決定する。
【０１０２】
図２１は、速度ベクトルに垂直な直線上の２点のサンプリング点を決定する手法を説明するための図である。図の下段の左側がテクスチャ平面２７０、右側が表示画像平面２７２であり、両者とも格子状に区切られてなる最小単位の正方形が画素を表す。同図上段に示すように、時刻ｔ０でテクスチャが静止している状態から、速度が生じ増加する各時刻ｔ１、ｔ２に対し、速度ベクトルＶと垂直な直線上の２点をサンプリングする。このとき上述のとおり、速度の増加に応じてテクスチャの解像度を上げていけば、領域２７４、２７６、２７８というように、速度ベクトルの方向に参照範囲を狭めることができる。
【０１０３】
下段の表示画像平面２７２には、ある時刻において、速度ベクトルＶに垂直な直線上に決定した２つのサンプリング点２８０を示している。当該直線上の単位ベクトルＷｘｙは、テクスチャ平面２７０では次のように表せる。
Ｗｕｖ＝ｔｕ・Ｗｘ＋ｔｖ・Ｗｙ
ここでＷｘ、Ｗｙはそれぞれ、ベクトルＷｘｙのｘ成分、ｙ成分である。テクスチャ平面２７０におけるサンプリング点は、表示画像の画素中心に対応するテクスチャ平面上の位置座標（ｕ０，ｖ０）から、１より小さい係数を｜Ｗｕｖ｜に乗算した分だけベクトルＷｕｖ方向および−Ｗｕｖ方向に離れた２点とする。
【０１０４】
座標（ｕ０，ｖ０）をｑと表記すると、例えばサンプリング点Ａ、Ｂを次のように決定する。
Ａ＝ｑ＋｜Ｖ｜／２・Ｗｕｖ
Ｂ＝ｑ−｜Ｖ｜／２・Ｗｕｖ
この式によれば、速度ベクトルに垂直な方向に、速度Ｖだけ離れた２点をサンプリング点とすることができる。
【０１０５】
図２２は、速度ベクトルＶと垂直な直線上の３点をサンプリングする様子を模式的に示している。この場合も時刻ｔ０でテクスチャが静止している状態から、速度が生じ増加する各時刻ｔ１、ｔ２において、テクスチャの解像度を高めるとともに、速度ベクトルＶと垂直方向に３点を決定する。例えば図２１で説明した２点の中点を追加のサンプリング点とし、サンプリング点Ａ、Ｂ、Ｃを次のように決定する。
Ａ＝ｑ＋｜Ｖ｜／２・Ｗｕｖ
Ｂ＝ｑ
Ｃ＝ｑ−｜Ｖ｜／２・Ｗｕｖ
【０１０６】
これまで述べた態様では、テクスチャ上で１つまたは複数のサンプリング点を、テクスチャの移動速度に応じて決定し、そのテクセル値をブレンドすることで、１フレーム分の表示画像の画素値を決定した。一方、サンプリング点の分布を、連続したフレームに対し時間方向に分離することにより、視覚刺激の時間積分機能を利用して認識上でブレンドさせることが考えられる。図２３は、サンプリング点の分布を時間方向に分離する態様におけるサンプリングの様子を模式的に示している。
【０１０７】
この態様では、表示画像の画素に対する適正な解像度より所定量、高い解像度のテクスチャを参照先とする。図に示す３つの矩形はそれぞれ、各時刻ｔ０、ｔ１、ｔ２において表示画像の１画素に対応するテクスチャ上の領域を示しており、例えばいずれも２×２のテクセルからなるブロックで構成される。まずスクリーンに対しテクスチャが静止しているとき（Ｖ＝０）、ブロック２９０ａの中心から等しい距離のサンプリング点を均等に設定する。図示する例では、ブロック２９０ａの中心と４頂点との中点Ａ、Ｂ、Ｃ、Ｄの４点をサンプリング点としている。
【０１０８】
このようにサンプリング点を４点とした場合、表示画像の４フレームを１単位とし、１単位の表示時間で４つのテクセル値が順に表示されるようにする。すなわち当該単位の最初のフレームに対しサンプリング点Ａのテクセル値を読み出して画素値とする。２番目、３番目、４番目のフレームに対し、それぞれサンプリング点Ｂ、Ｃ、Ｄのテクセル値を読み出し、画素値とする。すると１単位分のフレームの該当画素を見たユーザには、視覚刺激の時間積分機能によって、サンプリング点Ａ、Ｂ、Ｃ、Ｄの色がブレンドされて見える。テクスチャがスクリーンに対し停止している限りは、同じサンプリング点のテクセル値を循環して読み出し、表示する。
【０１０９】
スクリーンに対しテクスチャが移動している場合、図１１で示したのと同様、速度ベクトルの方向に参照範囲を縮小する。このときブロック２９０ｂ、２９０ｃに示すように、速度Ｖが大きいほど参照範囲がより狭まるようにサンプリング点の分布を調整する。速度の変化に対する参照範囲の変化のさせ方は、図１１、１２などで説明したのと同様でよい。
【０１１０】
そして静止している場合と同様、４つのサンプリング点のテクセル値を、４フレームに渡って順に読み出し、フレームごとに個別に表示させることにより、１単位分のフレームを見たときに、認識上でブレンドされるようにする。この場合も、１フレームの表示画像上で、速度に応じた参照範囲のテクセルをブレンドしたときと同様の効果が得られる。また１フレームの１画素あたり１つのテクセル値を読み出せばよいため、複数のテクセル値を同時に読み出し、演算するのと比較して処理の負荷を抑えることができる。
【０１１１】
なお表示画像の画素領域に対し一般的なミップマップで適正とされる解像度より１段階、高い解像度のテクスチャを参照先とすることにより、図示するように、表示画像の１画素に対応するテクセルを、２×２程度に安定させることができる。そのため図示する例では１画素当たり４つのサンプル点としているが、本実施の形態をそれに限る趣旨ではない。１画素当たりのサンプル点をＮ個とした場合、Ｎフレームが１単位となる。また、一度に読み出すテクセル値を複数とし、それらをブレンドして１フレームの画素値としてもよい。例えば２つのテクセル値を用いて画素値を決定する場合、Ｎ個のテクセルをＮ／２フレームで表せばよい。
【０１１２】
テクスチャの移動速度の増加に対し参照範囲を狭めていく態様は、スクリーンに対し比較的低速に移動している表示対象の像をユーザが追従視しているときに、そのディテールを視認させることができるという点で有効である。一方、ユーザが意識して見ていない対象や、ほぼ静止していたりある程度高速で移動している対象について同様の処理を行うと、エイリアシングやちらつきが問題になることが考えられる。そのため対象物の移動速度やユーザの視線などその場の状況を考慮して、移動速度に基づく参照範囲の制御の有無や感度の調整を適応的に行うことが望ましい。
【０１１３】
図２４は、画像処理装置１０が、テクスチャの参照範囲の制御の態様を状況に応じて変化させる場合の、画素値の決定手順を示すフローチャートである。この手順は、図８で示したフローチャートのＳ１４からＳ２０の処理として導入できる、画素ごとの処理である。またこの態様においてテクスチャ参照部７８は、画面におけるユーザの注視点を継続して検出する注視点検出器から計測結果を順次取得し、ユーザが表示対象を追従視しているか否かを判定する追従視判定機能を備えるものとする。
【０１１４】
まず速度取得部７６は、スクリーンに対しテクスチャが移動しているか（Ｓ３０）、移動している場合は速度Ｖがしきい値Ｖｔｈより小さいか、を監視する（Ｓ３０のＹ、Ｓ３２）。移動していない場合（Ｓ３０のＮ）は、参照範囲の調整をせずに、画素に対応するテクセルの値を読み出す（Ｓ４２）。速度Ｖがしきい値Ｖｔｈ以上の場合は（Ｓ３２のＮ）、参照範囲を広げてテクセル値を読み出す（Ｓ４０、Ｓ４２）。ここで速度のしきい値Ｖｔｈは、例えばフレーム間で表示画像の１画素分の移動がなされる速度とする。なお速度Ｖがしきい値Ｖｔｈ以上の場合、参照範囲の調整を行わずにテクセル値を読み出してもよい。
【０１１５】
速度Ｖがしきい値Ｖｔｈより小さい場合でも（Ｓ３２のＹ）、ユーザが当該画素に表される対象を追従視していない場合は（Ｓ３４のＮ）、参照範囲を広げてテクセル値を読み出す（Ｓ４０、Ｓ４２）。一般に眼球運動には滑動性眼球運動、跳躍性眼球運動、固視微動といった特性の異なる運動成分が含まれている。本実施の形態での追従視は、滑動性眼球運動により対象全体を大まかに眼で追うような状態を想定する。したがってテクスチャ参照部７８は、例えば注視点を所定の時間窓で平均化した位置座標を監視し、テクスチャあるいは表示対象の像そのものの動きベクトルと注視点の平均値の移動ベクトルとが所定時間一致したとき、追従視していると判定する。
【０１１６】
なお電子書籍を読み進める場合や、地図で地名を確認しながらスクロールさせる場合など、表示内容やユーザ操作の状況によって、注視点の検出結果を得ずとも追従視していることが推定できる場合は、追従視の判定処理を省略できる。また同じ対象物の像に含まれる画素については、そのいずれかについて追従視していることが判定されたら、その他の画素も追従視しているとして判定処理を省略してもよい。追従視していることが判定された場合（Ｓ３４のＹ）、テクスチャ参照部７８は、速度ベクトルや追従視の状況に応じて速度に対する参照範囲の感度を調整したうえ（Ｓ３６）、速度に応じて参照範囲を狭める調整を行う（Ｓ３８）。ここで「感度」とは、速度の増加に対する参照範囲の変化の大きさをいう。
【０１１７】
移動速度や注視点の動きが条件を満たしていても、場合によってエイリアシングが目立つことがあり得る。本発明者の知見によれば、例えばスクリーンに対しテクスチャの移動方向が変化するタイミングではエイリアシングが目立ちやすい。また平板型ディスプレイと比較するとＨＭＤでの表示では全体的にエイリアシングが生じやすい。そのようなエイリアシングが発生しやすい状況を事前の実験で特定しておき、該当する状況になった場合に感度を下げることにより、参照範囲の制御による画質の劣化が生じにくくなる。
【０１１８】
テクスチャ参照部７８はそのようにして決定した参照範囲を反映するようにサンプリング点を決定し、テクスチャデータからテクセル値を読み出す（Ｓ４２）。そして画素値決定部８２は、読み出されたテクセル値を用いて上述のとおり対象画素の画素値を決定する。
【０１１９】
以上述べた本実施の形態によれば、表示対象をテクスチャデータとして準備し、それをマッピングすることで表示画像を生成する。ここで表示画像平面に対しテクスチャが移動しているとき、画素値の決定に用いるテクスチャの参照範囲を、テクスチャの移動速度に応じて変化させる。
【０１２０】
速度の増加に対し参照範囲を拡張する場合、モーションブラーのように表示対象が移動していることが表現できるとともに、表示装置の解像度に対するフレームレートの適正値より低いフレームレートにおいて生じやすい、移動方向での像の不連続性を抑えることができる。参照範囲を縮小する場合は、各フレームにおいて表示装置の解像度を最大限に活かした詳細な画像を表示できる。
【０１２１】
したがって表示画像平面に対するテクスチャの相対速度や、ユーザが像を追従視しているか否かなどの状況によって両者を使い分けることにより、表示装置の解像度を活かしつつそれによって生じ得る画質の劣化も抑えられる。また参照範囲の調整を、速度ベクトルの軸方向に限定し、それと垂直な成分は保存することにより、必要以上の調整により画質が却って劣化するのを防ぐことができる。
【０１２２】
さらにテクスチャの相対速度によって、参照先のテクスチャの解像度を切り替える。具体的には速度が大きくなるほど解像度の高いテクスチャを用いることにより、表示画像の１画素に対する１テクセルの領域が狭くなり、同数のサンプリングで自ずと参照範囲を狭めることができる。速度の増加に応じて参照範囲を拡張する場合でも、テクスチャ静止している場合など細かい制御をしない状況においては本来の適正解像度のテクスチャを利用できるため、テクセル値の読み出しや演算に係る処理コストの増大を抑えることができる。
【０１２３】
また、テクスチャの相対速度によって制御された参照範囲における、複数のサンプリング点のテクセルを、複数のフレームに分けて順番に表す。このようにすると、人が有する視覚刺激の時間積分機能によって、当該複数フレームを見たときに、それらがブレンドされて知覚される。結果として、テクセル値の読み出しや演算処理を効率化しつつ、上述と同様の効果を得ることができる。
【０１２４】
本実施の形態は、速度に応じて参照範囲を調整し、それを反映する分布でサンプリング点を決定することを基本とするため、調整前の参照範囲の形状は限定されない。したがって、表示画像平面に対し表示対象が３次元方向にいかなる傾きを有していても適用可能である。結果として、自由視点から表示対象を見るような態様との親和性が高い。また電子書籍やウェブサイトなどの文字情報をスクロールしながら読み進めるような態様においても、文字をクリアに視認させることができる。
【０１２５】
表示画面の画素の細かさに応じて適切な解像度のテクスチャを参照し、当該細かさに適合した分解能でテクスチャの参照範囲を制御することにより、表示装置の解像度とフレームレートの組み合わせによらず安定した画像表現を実現できる。
【０１２６】
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【０１２７】
８  画像処理システム、  １０  画像処理装置、  １４  入力装置、  １６  表示装置、  ７２  入力情報取得部、  ７４  テクスチャ領域取得部、  ７６  速度取得部、  ７８  テクスチャ参照部、  ８０  テクスチャ記憶部、  ８２  画素値決定部、  ８４  出力部。
【産業上の利用可能性】
【０１２８】
以上のように本発明は、画像表示装置、画像再生装置、ゲーム装置、パーソナルコンピュータ、携帯端末など各種情報処理装置や、それらのいずれかを含む情報処理システムなどに利用可能である。
【図１】
0006849826.tif 000008
【図２】
0006849826.tif 000009
【図３】
0006849826.tif 000010
【図４】
0006849826.tif 000011
【図５】
0006849826.tif 000012
【図６】
0006849826.tif 000013
【図７】
0006849826.tif 000014
【図８】
0006849826.tif 000015
【図９】
0006849826.tif 000016
【図１０】
0006849826.tif 000017
【図１１】
0006849826.tif 000018
【図１２】
0006849826.tif 000019
【図１３】
0006849826.tif 000020
【図１４】
0006849826.tif 000021
【図１５】
0006849826.tif 000022
【図１６】
0006849826.tif 000023
【図１７】
0006849826.tif 000024
【図１８】
0006849826.tif 000025
【図１９】
0006849826.tif 000026
【図２０】
0006849826.tif 000027
【図２１】
0006849826.tif 000028
【図２２】
0006849826.tif 000029
【図２３】
0006849826.tif 000030
【図２４】
0006849826.tif 000031