JP2011081531A - 画像表示方法 - Google Patents
画像表示方法 Download PDFInfo
- Publication number
- JP2011081531A JP2011081531A JP2009232205A JP2009232205A JP2011081531A JP 2011081531 A JP2011081531 A JP 2011081531A JP 2009232205 A JP2009232205 A JP 2009232205A JP 2009232205 A JP2009232205 A JP 2009232205A JP 2011081531 A JP2011081531 A JP 2011081531A
- Authority
- JP
- Japan
- Prior art keywords
- value
- texture
- pattern
- coordinates
- gradation value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
【課題】処理負担が少なく高品質の3Dモデルのレンダリング画像を表示する。
【解決手段】コンピューター20は、座標を2進数表現したときの対応するビット位置のビット値が値1の座標に白を設定しビット値が値0の座標に黒を設定することにより座標のビット数に応じた数の縞模様パターンを作成して3Dモデルに貼り付けてレンダリングし、レンダリング済み画像の座標とパターンの座標との対応関係を設定し、レンダリング済み画像の縞模様がつぶれていないパターンを判定して詳細度を設定する。ビューワー40は、レンダリング済み画像を表示する際、詳細度に応じてスケールを設定し、2^l×2^lにリサイズ済みの差し替え用テクスチャーの座標の整数変数をスケールにより設定し、整数変数を差し替え用テクスチャーの座標に適用して表示画像の階調値に変換する。
【選択図】図1
【解決手段】コンピューター20は、座標を2進数表現したときの対応するビット位置のビット値が値1の座標に白を設定しビット値が値0の座標に黒を設定することにより座標のビット数に応じた数の縞模様パターンを作成して3Dモデルに貼り付けてレンダリングし、レンダリング済み画像の座標とパターンの座標との対応関係を設定し、レンダリング済み画像の縞模様がつぶれていないパターンを判定して詳細度を設定する。ビューワー40は、レンダリング済み画像を表示する際、詳細度に応じてスケールを設定し、2^l×2^lにリサイズ済みの差し替え用テクスチャーの座標の整数変数をスケールにより設定し、整数変数を差し替え用テクスチャーの座標に適用して表示画像の階調値に変換する。
【選択図】図1
Description
本発明は、画像を表示する画像表示方法に関する。
従来、この種の画像処理方法としては、リアルタイムで3次元モデルをレンダリングしてディスプレイに表示するものや(例えば、特許文献1参照)、3次元モデルを予めレンダリングしてビットマップ画像を作成して保存しておき、ディスプレイの表示はビットマップ画像を読み込んで行なうものなどが提案されている。
前者の手法では、画面の表示周期よりも短い周期でレンダリング処理を行なう必要があるため、高い演算能力が要求される。したがって、用いるコンピューターによっては、演算能力に不足が生じ、レイトレーシングなどの高品質のレンダリングは行なうことができない。一方、後者の手法では、ビットマップ画像を表示するだけであるから、予め高品質のレンダリングを行なってビットマップ画像を作成しておくことにより、高品質の画像を表示することができるものの、現状では後から異なるテクスチャーに差し替えて使用することはできない。
本発明の画像表示方法は、3次元モデルのレンダリング画像の表示を処理負担を増やすことなくより高品質に表示することを主目的とする。
本発明の画像表示方法は、上述の主目的を達成するために以下の手段を採った。
本発明の画像表示方法は、
画像を表示する画像表示方法であって、
(a)座標を2進数で表現した場合に各ビット位置に対応する複数のパターンを用いて各パターン毎に対応するビット位置のビット値が値1の座標に第1の階調値を設定し該ビット値が値0の座標に該第1の階調値とは異なる第2の階調値を設定することにより座標特定用パターンを作成し、該作成した座標特定用パターンをテクスチャーとして3次元モデルに貼り付けてレンダリングし、
(b)前記レンダリングによりビットマップ画像として得られたレンダリング済み画像を解析することにより該レンダリング済み画像の座標と前記座標特定用パターンの座標との対応関係を設定して保存すると共に、前記複数のパターンの各レンダリング済み画像の階調値に基づいて該複数のパターンのうちつぶれが生じているパターンを特定して保存し、
(c)所望のテクスチャーを画像として表示する場合に、前記特定したパターンに応じて用いるテクスチャーのスケールを設定し、サイズが異なる複数の所望のテクスチャーの中から前記設定したスケールに応じたテクスチャーを選択し、前記保存した対応関係を用いて前記選択したテクスチャーの階調値を前記レンダリング済み画像の階調値に変換して表示する
ことを要旨とする。
画像を表示する画像表示方法であって、
(a)座標を2進数で表現した場合に各ビット位置に対応する複数のパターンを用いて各パターン毎に対応するビット位置のビット値が値1の座標に第1の階調値を設定し該ビット値が値0の座標に該第1の階調値とは異なる第2の階調値を設定することにより座標特定用パターンを作成し、該作成した座標特定用パターンをテクスチャーとして3次元モデルに貼り付けてレンダリングし、
(b)前記レンダリングによりビットマップ画像として得られたレンダリング済み画像を解析することにより該レンダリング済み画像の座標と前記座標特定用パターンの座標との対応関係を設定して保存すると共に、前記複数のパターンの各レンダリング済み画像の階調値に基づいて該複数のパターンのうちつぶれが生じているパターンを特定して保存し、
(c)所望のテクスチャーを画像として表示する場合に、前記特定したパターンに応じて用いるテクスチャーのスケールを設定し、サイズが異なる複数の所望のテクスチャーの中から前記設定したスケールに応じたテクスチャーを選択し、前記保存した対応関係を用いて前記選択したテクスチャーの階調値を前記レンダリング済み画像の階調値に変換して表示する
ことを要旨とする。
この本発明の画像表示方法では、座標を2進数で表現した場合に各ビット位置に対応する複数のパターンを用いて各パターン毎に対応するビット位置のビット値が値1の座標に第1の階調値を設定しビット値が値0の座標に第1の階調値とは異なる第2の階調値を設定することにより座標特定用パターンを作成し、作成した座標特定用パターンをテクスチャーとして3次元モデルに貼り付けてレンダリングし、レンダリングによりビットマップ画像として得られたレンダリング済み画像を解析することによりレンダリング済み画像の座標と座標特定用パターンの座標との対応関係を設定して保存すると共に複数のパターンの各レンダリング済み画像の階調値に基づいて複数のパターンのうちつぶれが生じているパターンを特定して保存し、所望のテクスチャーを画像として表示する場合に、特定したパターンに応じて用いるテクスチャーのスケールを設定し、サイズが異なる複数の所望のテクスチャーの中から設定したスケールに応じたテクスチャーを選択し、保存した対応関係を用いて選択したテクスチャーの階調値をレンダリング済み画像の階調値に変換して表示する。これにより、3次元モデルをレンダリングした画像を所望のテクスチャーを差し替えて表示することができると共にリアルタイムで3次元モデルをレンダリングして表示するものに比して処理負担を少なくすることができる。また、事前のレンダリング結果から適したサイズのテクスチャーを差し替えて画像を表示することができる。
こうした本発明の画像表示方法において、前記ステップ(c)は、前記選択したテクスチャーの座標における実数変数を前記設定したスケールに基づいて設定すると共に該実数変数に対応する整数変数を設定し、前記保存した対応関係に基づいて前記設定した整数変数を用いた前記テクスチャーの座標の階調値を前記レンダリング済み画像の階調値に変換するステップであるものとすることもできる。こうすれば、処理負担を少なくすることができる。この態様の本発明の画像表示方法において、前記ステップ(c)は、前記設定した実数変数を用いた座標における階調値を前記設定した整数変数を含む隣接する整数変数を用いた座標間の線形補間により算出して前記レンダリング済み画像の階調値に変換するステップであるものとすることもできる。こうすれば、処理負担を大きくすることなく、エイリアシングなどを抑制してさらに高品質の画像を表示することができる。
また、本発明の画像表示方法において、前記ステップ(a)は、前記座標特定用パターンを反転した反転パターンを作成して前記3次元モデルに貼り付けてレンダリングすると共に最大階調値を設定した最大階調値パターンと最小階調値を設定した最小階調値パターンとを作成して前記3次元モデルに貼り付けてそれぞれレンダリングするステップであり、前記ステップ(b)は、前記座標特定用パターンのレンダリングにより得られたレンダリング済み画像の階調値と前記反転パターンのレンダリングにより得られたレンダリング済み画像の階調値との偏差である第1の偏差を算出すると共に前記最大階調値パターンのレンダリングにより得られたレンダリング済み画像の階調値と前記最小階調値パターンのレンダリングにより得られたレンダリング済み画像の階調値との偏差である第2の偏差を算出し、前記第1の偏差と前記第2の偏差とに基づいてつぶれが生じているパターンを特定するステップであるものとすることもできる。こうすれば、座標特定用パターンの模様のつぶれをより正確に判定することができる。この態様の本発明の画像表示方法において、前記ステップ(c)は、前記第2の偏差をゲインとして前記選択したテクスチャーの階調値に適用することにより前記レンダリング済み画像の階調値に変換するステップであるものとすることもできる。こうすれば、3次元モデルのレンダリングによる効果のうち元のテクスチャーの階調値に影響を受けるものを反映させることができる。さらに、これらの態様の本発明の画像表示方法において、 前記ステップ(b)は、前記最小階調値パターンのレンダリングにより得られたレンダリング済み画像における階調値であるバイアス値を保存するステップであり、前記ステップ(c)は、前記保存したバイアス値に基づいて前記選択したテクスチャーの階調値をオフセットすることにより前記レンダリング済み画像の階調値に変換して表示するステップであるものとすることもできる。こうすれば、3次元モデルのレンダリングによる効果のうち元のテクスチャーに依存しないものを反映させることができる。
さらに、本発明の画像表示方法において、前記2進数は、交番2進数であるものとすることもできる。こうすれば、隣接する座標に移行する際に常に1ビットの変化しか生じないから、画像の階調値の誤差に起因して誤ったデータが取得されてしまうのを抑制することができる。
また、本発明の画像表示方法において、画像をフレーム単位で描画して動画像として表示するものとすることもできる。
次に、本発明の実施の形態を図面を用いて説明する。図1は、本発明の一実施形態である画像表示方法に用いるコンピューター20とビューワー40の構成の概略を示す構成図である。本実施形態のコンピューター20は、中央演算処理装置としてのCPUや処理プログラムを記憶するROM、データを一時的に記憶するRAM、グラフィックプロセッサー(GPU)、ハードディスク(HDD)、ディスプレイ22などからなる汎用のコンピューターとして構成されており、その機能ブロックとしては、3次元モデリングデータ(以下、3Dモデルという)やこれに貼り付けるテクスチャーデータ(以下、テクスチャーという)などを記憶する記憶部31と、3次元モデルに貼り付ける前処理用の特殊なテクスチャーを生成する特殊テクスチャー生成処理部32と、3次元モデルをレンダリングしてビットマップ画像を生成するレンダリング処理部34と、レンダリングにより得られたビットマップ画像としてのレンダリング済み画像を解析するレンダリング済み画像解析処理部36と、を備える。
特殊テクスチャー生成処理部32は、レンダリング処理部34でレンダリングされる3Dモデルに貼り付ける所定パターンのテクスチャーを生成する処理部であり、具体的には、所定パターンとして、値0.0〜1.0の階調値範囲内で階調値が値1.0の白ベタのパターンや、階調値が値0.0の黒ベタのパターン,値0.0と値1.0の階調値が横方向に交互に現われる縦縞模様のパターン,この縦縞模様を反転した反転縦縞模様のパターン,値0.0と値1.0の階調値が縦方向に交互に現われる横縞模様のパターン,この横縞模様を反転した反転横縞模様のパターンを生成する。なお、これらの各パターンがもつ役割については後述する。
レンダリング処理部34は、3Dレンダリング用のソフトウエアがコンピューター20にインストールされることにより機能する処理部であり、3Dモデルに特殊テクスチャー生成処理部32で生成されたテクスチャーを貼り付けてレンダリングすることにより所定のフレームレート(例えば、1秒間に30回や60回など)でフレーム単位にビットマップ画像を再生して動画を表示する。本実施形態では、光源からの光をたどりながらオブジェクト面の反射や光の屈折などを計算してレンダリングするレイトレーシング法を用いてレンダリング処理を行なうものとした。
レンダリング済み画像解析処理部36は、レンダリング処理部34により生成されたビットマップ画像(レンダリング済み画像)を解析することにより、所定パターンのテクスチャーに代えて写真などの所望の画像データを配置してレンダリング済み画像をビューワー40側で表示できるようにするための画像描画情報を生成する。
本実施形態のビューワー40は、コンピューター20のレンダリング済み画像解析処理部36で解析された結果としての画像描画情報を記憶する記憶部41と、3Dモデルのレンダリング済み画像に所望のテクスチャーを配置して描画することにより表示する表示処理部42と、写真などの画像データが記憶されたメモリーカード46とのデータのやり取りを司るメモリーカードコントローラー44と、を備える。このビューワー40は、ユーザーからの指示によりメモリーカード46に記憶されている複数の画像データを順次読み込むと共に読み込んだ画像データを画像描画情報を用いて3Dモデルのレンダリング済み画像に貼り付けて順次再生を行なうスライドショー表示を行なうことができるようになっている。
次に、こうして構成された本実施形態のコンピューター20の特殊テクスチャー生成処理部32,レンダリング処理部34,レンダリング済み画像解析処理部36の動作や、ビューワー40の表示処理部42の動作について説明する。まず、特殊テクスチャー生成処理部32の処理について説明する。図2および図3は、特殊テクスチャー生成処理の一例を示すフローチャートである。
特殊テクスチャー生成処理では、まず、対象セット番号iを値1に初期化し(ステップS100)、対象セット番号iに対してRGBの色成分毎にn個の特殊テクスチャーを生成して(ステップS110)、対象セット番号iを値1だけインクリメントし(ステップS120)、対象セット番号iと値nとを比較して(ステップS130)、対象セット番号iが値n以下のときにはステップS110に戻って次の対象セット番号iに対してn個の特殊テクスチャーを生成する処理を繰り返し、対象セット番号iが値nを超えたときには次の処理に進む。ここで、対象セット番号iが値1から値nまでの特殊テクスチャーの生成は、次式(1)に示すように、1番からn番までの対象テクスチャー番号jを1番から値1ずつシフトしながら対象テクスチャー番号jと対象セット番号iと比較し、両者が一致する対象テクスチャー番号jに対しては最小値0.0(黒)〜最大値1.0(白)の階調値範囲で全座標(x,y)に値1.0の階調値を設定することにより白ベタの特殊テクスチャーを生成し、両者が一致しない対象テクスチャー番号jに対しては全座標(x,y)に値0.0の階調値を設定することにより黒ベタの特殊テクスチャーを生成することにより行なわれる。ここで、式(1)中の「c」は、画像データのRGB値の各色に対応する値を示し、「n」は1画面に配置するテクスチャーの数を示し、「b」はテクスチャーの座標を2進数で表わしたときのビット数を示し、「Tc,i,j(x,y)」は色成分c,対象セット番号i,対象テクスチャー番号jにおける特殊テクスチャーの座標(x,y)の階調値を示す(以下、同じ)。
対象セット番号iが値1〜値nの特殊テクスチャーを生成すると、次に、対象セット番号iが値(n+1)の色成分毎のn個の特殊テクスチャーを生成し(ステップS140)、対象セット番号iを値1だけインクリメントする(ステップS150)。ここで、対象セット番号iが値(n+1)の特殊テクスチャーの生成は、次式(2)に示すように、1番からn番までのすべての対象テクスチャー番号jに対して全座標(x,y)に値0.0の階調値を設定することにより黒ベタの特殊テクスチャーを生成することにより行なわれる。
対象セット番号iが値(n+1)の特殊テクスチャーを生成すると、次に、対象テクスチャー番号jを値1に初期化し(ステップS160)、カウンタkを値0に初期化し(ステップS170)、次式(3)により、対象テクスチャー番号jの特殊テクスチャーとして対象セット番号iに対してテクスチャーの座標を交番2進数(グレイコード)表現としたときの第[i−{n+(j−1)b+2}]ビットに対応する縦縞模様の色成分毎の特殊テクスチャーを生成すると共に、対象テクスチャー番号j以外のテクスチャー番号1〜nの(n−1)個の特殊テクスチャーとして全座標(x,y)に値0.0の階調値を設定した黒ベタの特殊テクスチャーを生成する(ステップS180)。そして、カウンタkを値1だけインクリメントすると共に対象セット番号iを値1だけインクリメントし(ステップS190)、カウンタkと値b(テクスチャーの座標を2進数で表わしたときのビット数)とを比較し(ステップS200)、カウンタkが値b以下のときにはステップS180に戻って次の対象セット番号iについて特殊テクスチャーを生成してカウンタkと対象セット番号iとをそれぞれ値1だけインクリメントする処理を繰り返し、カウンタkが値bを超えると、対象テクスチャー番号jを値1だけインクリメントし(ステップS210)、対象セット番号iと値(n+bn+1)とを比較する(ステップS220)。対象セット番号iが値(n+bn+1)以下のときにはステップS170に戻ってカウンタkを値0に初期化して、次の対象テクスチャー番号jの縦縞模様の特殊テクスチャーと対象テクスチャー番号j以外のテクスチャー番号1〜nの(n−1)個の黒ベタの特殊テクスチャーを生成する処理を繰り返し、対象セット番号iが値(n+bn+1)を超えると、次の処理に進む。ここで、式(3)中の「gray(a)」は数値aのグレイコード表現であり、「and(a,b)」はaとbのビット毎の論理積を示す(以下、同じ)。(n+2)番から(n+b+1)番のセット番号のテクスチャーの組と(n+b+2)番から(n+2b+1)番のセット番号のテクスチャーの組と(n+2b+2)番から(n+bn+1)番のセット番号のテクスチャーの組は、それぞれテクスチャーの座標を2進数で表現したときに第0ビット(最上位ビット)から第(b−1)ビット(最下位ビット)までの各ビット位置に対応しており、対象セット番号iに対応するビットの値が値1のときには値1.0(白)の階調値を設定し、対応するビットの値が値0のときには値0.0(黒)の階調値を設定することにより縦縞模様の特殊テクスチャーが生成される。本実施形態では、テクスチャーの座標を交番2進数で表現しており、例えば、テクスチャー数nが値3で座標が値1〜8の3ビット(b=3)とすると、対象セット番号iが第0ビット(最上位ビット)を示す値5,値8,値11の縦縞模様の特殊テクスチャーとしてはx座標が値1〜4については黒の階調値が設定され値5〜8については白の階調値が設定され、対象セット番号iが第1ビットを示す値6,値9,値12の縦縞模様の特殊テクスチャーとしてはx座標が値1,2については黒の階調値が設定され3〜6については白の階調値が設定され値7,8については黒の階調値が設定され、対象セット番号iが第2ビット(最下位ビット)を示す値7,値10,値13の縦縞模様の特殊テクスチャーとしてはx座標が値1については黒の階調値が設定され値2,3については白の階調値が設定され値4,5については黒の階調値が設定され値6,7については白の階調値が設定され値8については黒の階調値が設定されることになる。この縦縞模様のパターンは、値5〜値7のセット番号ではテクスチャー番号が1番のテクスチャーに設定され、値8〜値10のセット番号ではテクスチャー番号が2番のテクスチャーに設定され、値11〜値13のセット番号ではテクスチャー番号が3番のテクスチャーに設定され、他のテクスチャー番号のテクスチャーには黒ベタのパターンが設定される。
対象セット番号iが値(n+2)〜値(n+bn+1)の特殊テクスチャーを生成すると、対象テクスチャー番号jを値1に初期化し(ステップS230)、カウンタkを値0に初期化し(ステップS240)、次式(4)により、対象テクスチャー番号jの特殊テクスチャーとして対象セット番号iに対してテクスチャーの座標を交番2進数(グレイコード)表現としたときの第[i−{n+(j−1)b+bn+2}]ビットに対応する縦縞模様の色成分毎の特殊テクスチャーを生成すると共に、対象テクスチャー番号j以外のテクスチャー番号1〜nの(n−1)個の特殊テクスチャーとして全座標(x,y)に値0.0の階調値を設定した黒ベタの特殊テクスチャーを生成する(ステップS250)。そして、カウンタkを値1だけインクリメントすると共に対象セット番号iを値1だけインクリメントし(ステップS260)、カウンタkと値b(テクスチャーの座標を2進数で表わしたときのビット数)とを比較し(ステップS270)、カウンタkが値b以下のときにはステップS250に戻って次の対象セット番号iについて特殊テクスチャーを生成してカウンタkと対象セット番号iとをそれぞれ値1だけインクリメントする処理を繰り返し、カウンタkが値bを超えると、対象テクスチャー番号jを値1だけインクリメントし(ステップS280)、対象セット番号iと値(n+2bn+1)とを比較する(ステップS290)。対象セット番号iが値(n+bn+1)以下のときにはステップS240に戻ってカウンタkを値0に初期化して、次の対象テクスチャー番号jの縦縞模様の特殊テクスチャーと対象テクスチャー番号j以外のテクスチャー番号1〜nの(n−1)個の黒ベタの特殊テクスチャーを生成する処理を繰り返し、対象セット番号iが値(n+2bn+1)を超えると、次の処理に進む。式(4)からわかるように、前述したステップS160〜S220で生成した縦縞模様の特殊テクスチャーの白を黒に黒を白に反転した反転縦縞模様の特殊テクスチャーを生成するものとなる。
対象セット番号iが値(n+bn+2)〜値(n+2bn+1)の特殊テクスチャーを生成すると、次に、対象テクスチャー番号jを値1に初期化し(ステップS300)、カウンタkを値0に初期化し(ステップS310)、次式(5)により、対象テクスチャー番号jの特殊テクスチャーとして対象セット番号iに対してテクスチャーの座標を交番2進数(グレイコード)表現としたときの第[i−{n+(j−1)b+2bn+2}]ビットに対応する横縞模様の色成分毎の特殊テクスチャーを生成すると共に、対象テクスチャー番号j以外のテクスチャー番号1〜nの(n−1)個の特殊テクスチャーとして全座標(x,y)に値0.0の階調値を設定した黒ベタの特殊テクスチャーを生成する(ステップS320)。そして、カウンタkを値1だけインクリメントすると共に対象セット番号iを値1だけインクリメントし(ステップS330)、カウンタkと値b(テクスチャーの座標を2進数で表わしたときのビット数)とを比較し(ステップS340)、カウンタkが値b以下のときにはステップS320に戻って次の対象セット番号iについて特殊テクスチャーを生成してカウンタkと対象セット番号iとをそれぞれ値1だけインクリメントする処理を繰り返し、カウンタkが値bを超えると、対象テクスチャー番号jを値1だけインクリメントし(ステップS350)、対象セット番号iと値(n+3bn+1)とを比較する(ステップS360)。対象セット番号iが値(n+3bn+1)以下のときにはステップS310に戻ってカウンタkを値0に初期化して、次の対象テクスチャー番号jの横縞模様の特殊テクスチャーと対象テクスチャー番号j以外のテクスチャー番号1〜nの(n−1)個の黒ベタの特殊テクスチャーを生成する処理を繰り返し、対象セット番号iが値(n+3bn+1)を超えると、次の処理に進む。(n+2bn+2)番から(n+b+2bn+1)番のセット番号のテクスチャーの組と(n+b+2bn+2)番から(n+2b+2bn+1)番のセット番号のテクスチャーの組と(n+2b+2bn+2)番から(n+3bn+1)番のセット番号のテクスチャーの組は、それぞれテクスチャーの座標を2進数で表現したときに第0ビット(最上位ビット)から第(b−1)ビット(最下位ビット)までの各ビット位置に対応しており、対象セット番号iに対応するビットの値が値1のときには値1.0(白)の階調値を設定し、対応するビットの値が値0のときには値0.0(黒)の階調値を設定することにより縦縞模様の特殊テクスチャーが生成される。本実施形態では、テクスチャーの座標を交番2進数で表現しており、例えば、テクスチャー数nが値3で座標が値1〜8の3ビット(b=3)とすると、対象セット番号iが第0ビット(最上位ビット)を示す値23,値26,値29の横縞模様の特殊テクスチャーとしてはy座標が値1〜4については黒の階調値が設定され値5〜8については白の階調値が設定され、対象セット番号iが第1ビットを示す値24,値27,値30の横縞模様の特殊テクスチャーとしてはy座標が値1,2については黒の階調値が設定され値3〜6については白の階調値が設定され値7,8については黒の階調値が設定され、対象セット番号iが第2ビット(最下位ビット)を示す値25,値26,値31の横縞模様の特殊テクスチャーとしてはy座標が値1については黒の階調値が設定され値2,3については白の階調値が設定され値4,5については黒の階調値が設定され値6,7については白の階調値が設定され値8については黒の階調値が設定されることになる。この横縞模様のパターンは、値23〜値25のセット番号ではテクスチャー番号が1番のテクスチャーに設定され、値26〜値28のセット番号ではテクスチャー番号が2番のテクスチャーに設定され、値29〜値31のセット番号ではテクスチャー番号が3番のテクスチャーに設定され、他のテクスチャー番号のテクスチャーには黒ベタのパターンが設定される。
対象セット番号iが値(n+2bn+2)〜値(n+3bn+1)の特殊テクスチャーを生成すると、対象テクスチャー番号jを値1に初期化し(ステップS370)、カウンタkを値0に初期化し(ステップS380)、次式(6)により、対象テクスチャー番号jの特殊テクスチャーとして対象セット番号iに対してテクスチャーの座標を交番2進数(グレイコード)表現としたときの第[i−{n+(j−1)b+3bn+2}]ビットに対応する横縞模様の色成分毎の特殊テクスチャーを生成すると共に、対象テクスチャー番号j以外のテクスチャー番号1〜nの(n−1)個の特殊テクスチャーとして全座標(x,y)に値0.0の階調値を設定した黒ベタの特殊テクスチャーを生成する(ステップS390)。そして、カウンタkを値1だけインクリメントすると共に対象セット番号iを値1だけインクリメントし(ステップS400)、カウンタkと値b(テクスチャーの座標を2進数で表わしたときのビット数)とを比較し(ステップS410)、カウンタkが値b以下のときにはステップS390に戻って次の対象セット番号iについて特殊テクスチャーを生成してカウンタkと対象セット番号iとをそれぞれ値1だけインクリメントする処理を繰り返し、カウンタkが値bを超えると、対象テクスチャー番号jを値1だけインクリメントし(ステップS420)、対象セット番号iと値(n+4bn+1)とを比較する(ステップS430)。対象セット番号iが値(n+4bn+1)以下のときにはステップS380に戻ってカウンタkを値0に初期化して、次の対象テクスチャー番号jの横縞模様の特殊テクスチャーと対象テクスチャー番号j以外のテクスチャー番号1〜nの(n−1)個の黒ベタの特殊テクスチャーを生成する処理を繰り返し、対象セット番号iが値(n+4bn+1)を超えると、これで本処理を終了する。式(6)からわかるように、前述したステップS300〜S360で生成した横縞模様の特殊テクスチャーの白を黒に黒を白に反転した反転横縞模様の特殊テクスチャーを生成するものとなる。図4に、テクスチャー数nが値3で座標のビット数bが値3のときに生成される特殊テクスチャーの一覧を示す。
レンダリング処理部34は、セット毎に、対応するn個の特殊テクスチャーを3次元モデルに貼り付けてレンダリング処理を行なう。レンダリング処理は、セット番号iが値1〜(n+1)のセットについてはアンチエイリアシングなどの高画質化処理を伴って行ない、セット番号iが値(n+2)〜値(n+4bn+1)のセットについては高画質化処理を無効にして行なうものとした。図5にレンダリング処理の様子を示す。本実施形態では、3次元モデルを動画としてレンダリングし、テクスチャー数nが値3でビット数bが値3としたから、合計40セット分のレンダリング処理が行なわれて40セット分の動画が生成されることになる。なお、この動画は、フレーム1〜Tまでの各フレーム毎に生成されたビットマップ画像(レンダリング済み画像)により構成される。
次に、レンダリング処理部34により生成されたレンダリング済み画像を解析する処理について説明する。図6は、レンダリング済み画像解析処理部36により実行されるレンダリング済み画像解析処理の一例を示すフローチャートである。
レンダリング済み画像解析処理では、まず、次式(7)により、各フレーム番号t(=1〜T)におけるセット番号(n+1)のレンダリング済み画像の階調値をバイアスBc,t(x,y)として設定し(ステップS500)、セット番号i(1〜n)毎に、次式(8)によりゲインGi,c,t(x,y)を計算する(ステップS510)。ここで、式(7)中の「Ac,n+1,t(x,y)」は色成分c,セット番号(n+1),フレーム番号tにおけるレンダリング済み画像(x,y)の階調値を示し、式(8)中の「Ac,i,t(x,y)」は色成分c,セット番号i,フレーム番号tにおけるレンダリング済み画像の座標(x,y)の階調値を示す。図7および図8に、バイアスBc,t(x,y)とゲインGi,c,t(x,y)との関係を示す。3Dモデルにテクスチャーを貼り付けてレンダリングする場合、図示するように、黒ベタパターンのレンダリング後の座標(x,y)における階調値がバイアスBc,t(x,y)となり、白ベタパターンのレンダリング後の座標(x,y)における階調値から黒ベタパターンのレンダリング後の座標(X,Y)における階調値を減じたものがゲインGi,c,t(x,y)となる。これにより、元のテクスチャーの階調値に依存しないオフセット分がバイアスBc,t(x,y)に相当し、元のテクスチャーの階調値の変化に対するレンダリング済み画像の階調値の変化の傾きがゲインGi,c,t(x,y)に相当するものとなる。本実施形態では、値1〜値nの各セット毎に3次元モデルの異なる箇所に1つの白ベタのテクスチャーを貼り付けると共に残りの箇所には黒ベタのテクスチャーを貼り付けているから、レンダリング処理の際に光源からの光が白ベタのテクスチャーで反射しその反射光により他の黒ベタのテクスチャーに映り込みが生じたときにはその黒ベタのテクスチャーの階調値はセット番号(n+1)の黒ベタのテクスチャーの階調値と異なるものとなる。ゲインGi,c,t(x,y)をn個のセット番号i(1〜n)毎に設定しているのはこうした映り込みの影響をゲインGi,c,t(x,y)に反映させるためである。
そして、次式(9)によりテクスチャーのグレイコード表現の座標(X'i,t(x,y),Y'i,t(x,y))を値0に初期化し(ステップS520)、セット番号(n+2)〜(n+bn+1)の縦縞模様のレンダリング済み画像の座標(x,y)の階調値と対応するセット番号(n+bn+2)〜(n+2bn+1)の反転縦縞模様のレンダリング済み画像の座標(x,y)の階調値とを比較して(ステップS530)、レンダリング済み画像の座標(x,y)とテクスチャーの座標X'i,t(x,y)との対応関係を設定すると共に(ステップS540)、セット番号(n+2bn+2)〜(n+3bn+1)の横縞模様のレンダリング済み画像の座標(x,y)の階調値と対応するセット番号(n+3bn+2)〜(n+4bn+1)の反転横縞模様のレンダリング済み画像の座標(x,y)の階調値とを比較して(ステップS550)、レンダリング済み画像の座標(x,y)とテクスチャーの座標Y'i,t(x,y)との対応関係を設定する(ステップS560)。ここで、ステップS520〜S560の処理は、次式(10)により行なわれる。レンダリング済み画像の座標(x,y)とテクスチャーの座標X'i,t(x,y)との対応関係の設定は、変数iを値1から値b(座標のビット数)まで順次シフトしながらセット番号(i+n+1)のレンダリング済み画像の階調値Ac,i+n+1,t(x,y)が反転模様の対応するセット番号(i+bn+n+1)のレンダリング済み画像の階調値Ac,i+bn+n+1,t(x,y)よりも大きいか否かにより、即ち、セット番号(i+n+1)のレンダリング済み画像の階調値Ac,i+n+1,t(x,y)が白に相当するか否かを判定し、白の場合にはグレイコード表現の座標X'i,t(x,y)の対応する第(i−1)ビットのビット値に値1を設定し、変数iを値1から値b(座標のビット数)まで順次シフトしながらセット番号(i+b+n+1)のレンダリング済み画像の階調値Ac,i+b+n+1,t(x,y)が反転模様の対応するセット番号(i+b+bn+n+1)のレンダリング済み画像の階調値Ac,i+b+bn+n+1,t(x,y)よりも大きいか否か、即ち、セット番号(i+b+n+1)のレンダリング済み画像の階調値Ac,i+b+n+1,t(x,y)が白に相当するか否かを判定し、白の場合にはグレイコード表現の座標X'i,t(x,y)の対応する第(i−1)ビットのビット値に値1を設定し、変数iを値1から値bまで順次シフトしながらセット番号(i+2b+n+1)のレンダリング済み画像の階調値Ac,i+2b+n+1,t(x,y)が反転模様の対応するセット番号(i+2b+bn+n+1)のレンダリング済み画像の階調値Ac,i+2b+bn+n+1,t(x,y)よりも大きいか否か、即ち、セット番号(i+2b+n+1)のレンダリング済み画像の階調値Ac,i+2b+n+1,t(x,y)が白に相当するか否かを判定し、白の場合にはグレイコード表現の座標X'i,t(x,y)の対応する第(i−1)ビットのビット値に値1を設定することにより行なわれる。また、レンダリング済み画像の座標(x,y)とテクスチャーの座標Y'i,t(x,y)との対応関係の設定は、変数iを値1から値bまで順次シフトしながらセット番号(i+2bn+n+1)のレンダリング済み画像の階調値Ac,i+2bn+n+1,t(x,y)が反転模様の対応するセット番号(i+3bn+n+1)のレンダリング済み画像の階調値Ac,i+3bn+n+1,t(x,y)よりも大きいか否かにより、即ち、セット番号(i+2bn+n+1)のレンダリング済み画像の階調値Ac,i+2bn+n+1,t(x,y)が白に相当するか否かを判定し、白の場合にはグレイコード表現の座標Y'i,t(x,y)の対応する第(i−1)ビットのビット値に値1を設定し、変数iを値1から値bまで順次シフトしながらセット番号(i+b+2bn+n+1)のレンダリング済み画像の階調値Ac,i+b+2bn+n+1,t(x,y)が反転模様の対応するセット番号(i+b+3bn+n+1)のレンダリング済み画像の階調値Ac,i+b+3bn+n+1,t(x,y)よりも大きいか否かにより、即ち、セット番号(i+b+2bn+n+1)のレンダリング済み画像の階調値Ac,i+b+2bn+n+1,t(x,y)が白に相当するか否かを判定し、白の場合にはグレイコード表現の座標Y'i,t(x,y)の対応する第(i−1)ビットのビット値に値1を設定し、変数iを値1から値bまで順次シフトしながらセット番号(i+2b+2bn+n+1)のレンダリング済み画像の階調値Ac,i+2b+2bn+n+1,t(x,y)が反転模様の対応するセット番号(i+2b+3bn+n+1)のレンダリング済み画像の階調値Ac,i+2b+3bn+n+1,t(x,y)よりも大きいか否かにより、即ち、セット番号(i+2b+2bn+n+1)のレンダリング済み画像の階調値Ac,i+2b+2bn+n+1,t(x,y)が白に相当するか否かを判定し、白の場合にはグレイコード表現の座標Y'i,t(x,y)の対応する第(i−1)ビットのビット値に値1を設定することにより行なわれる。ここで、式(10)中の「or(a,b)」はaとbのビット毎の論理和を示す。図9は縦縞模様パターンと反転縦縞模様パターンの各階調値の関係を示す説明図である。レンダリング済み画像の座標(x,y)とテクスチャーの座標(X'i,t(x,y),Y'i,t(x,y))との対応関係の設定は、変数iが値1〜値bのセット番号(i+n+1),(i+b+n+1),(i+2b+n+1)の縦縞模様のパターンをレンダリングしたレンダリング済み画像の階調値Ac,i+n+1,t(x,y),Ac,i+b+n+1,t(x,y),Ac,i+2b+n+1,t(x,y)や、セット番号(i+2bn+n+1),(i+b+2bn+n+1),(i+2b+2bn+n+1)の横縞模様のパターンをレンダリングしたレンダリング済み画像の階調値Ac,i+2bn+n+1,t(x,y),Ac,i+b+2bn+n+1,t(x,y),Ac,i+2b+2bn+n+1,t(x,y)が白に相当するか否かを判定することにより行なうが、これらのレンダリングの際に光源から光の当たり具合などによっては本来の白色が灰色や黒色に近い状態となる場合があり、この場合、色を誤判定するおそれがある。本実施形態では、変数iが値1〜値bのセット番号(i+bn+1),(i+b+bn+1),(i+2b+bn+1)の反転縦縞模様のパターンとセット番号(i+3bn+1),(i+b+3bn+1),(i+2b+3bn+1)の反転横縞模様のパターンとを作成してレンダリングし、これらの反転縦縞模様や反転横縞模様との対比(図9参照)として縦縞模様のパターンをレンダリングしたレンダリング済み画像の階調値Ac,i+n+1,t(x,y),Ac,i+b+n+1,t(x,y),Ac,i+2b+n+1,t(x,y)や横縞模様のパターンをレンダリングしたレンダリング済み画像の階調値Ac,i+2bn+n+1,t(x,y),Ac,i+b+2bn+n+1,t(x,y),Ac,i+2b+2bn+n+1,t(x,y)が白に相当するか否かを判定するから、色の誤判定を防止することができる。また、図4に示すように、1つのセットを対象テクスチャー番号jに該当する箇所にだけ座標特定用のパターン(縦縞模様パターンや横縞模様パターン)を配置すると共にそれ以外のテクスチャー番号に該当する(n−1)箇所には黒ベタのパターンを配置することにより構成しこれをセット毎にレンダリングして各座標特定用のパターンの色を判定することにより座標の対応関係を設定しているのは、一つのセットを値1〜値nのすべてのテクスチャー番号に該当する箇所に座標特定用のパターンを配置することにより構成すると、レンダリング処理に伴うテクスチャー相互の映り込みによる色変化により、色を誤判定し、誤った座標の対応関係を設定するおそれがあるためである。したがって、3次元モデルに貼り付けるn個のテクスチャーのうちレンダリング処理により映り込みが生じるテクスチャー同士に対してのみ座標特定用のパターンを配置するセットを分ければよく、映り込みが生じないテクスチャー同士に対しては同一のセットにまとめて座標特定用のパターンを配置するものとしてもよい。映り込みが生じるか否かは、各セット番号1〜nの黒ベタパターンのテクスチャーの階調値がセット番号(n+1)の黒ベタパターンのテクスチャーの階調値と同一であるか否かをセット毎に判定するものとすればよい。こうすることにより、レンダリング処理を行なうセット数をより少なくすることができる。
こうして座標の対応関係を設定すると、グレイコード表現のテクスチャーの座標(X'i,t(x,y),Y'i,t(x,y))を次式(11)を用いて復号化して復号化後座標(Xi,t(x,y),Yi,t(x,y))を算出し(ステップS570)、縞模様パターンのレンダリング済み画像の後述する詳細度Li,t(x,y),Mi,t(x,y)を設定し(ステップS580)、これまでの設定あるいは算出結果を画像描画情報として記憶部31に保存し(ステップS590)、値1〜Tまでの全フレームについて処理が完了したか否かを判定し(ステップS595)、全フレームについて処理が完了していないときには次のフレームを対象フレームtに設定してステップS500に戻って処理を繰り返し、全フレームについて処理が完了したときに本処理を終了する。ここで、式(11)中の「gray-1(a)」はグレイコードaを復号化した値を示し、「Xi,t(x,y)」はフレーム番号tのレンダリング済み画像の座標(x,y)に対応するテクスチャーのx座標を示し、「Yi,t(x,y)」はフレーム番号tのレンダリング済み画像の座標(x,y)に対応するテクスチャーのy座標を示す。なお、本実施形態では、座標(X'i,t(x,y),Y'i,t(x,y))の原点を(1,1)としているから、グレイコードを復号化した値に値1を加算している。なお、画像描画情報としては、バイアスBc,t(x,y)とゲインGi,c,t(x,y)と座標(Xi,t(x,y),Yi,t(x,y))と詳細度Li,t(x,y),Gi,t(x,y)が含まれる。
図10は、詳細度設定処理の一例を示すフローチャートである。詳細度設定処理では、まず、次式(12)に示すように、仮詳細度L'i,t(x,y),M'i,t(x,y)を値0に初期化し(ステップS600)、変数iを値1に初期化し(ステップS610)、変数jを値1に初期化する(ステップS620)。式(12)中の「L'i,t(x,y)」は、y座標方向のLi,t(x,y)に対する仮の詳細度を示し、「M'i,t(x,y)」は、x座標方向のMi,t(x,y)に対する仮の詳細度を示す。続いて、セット番号が{j−1+(i−1)b+n+2}番の縦縞模様のレンダリング済み画像の座標(x,y)の階調値とセット番号が{j−1+(i−1)b+bn+n+2}番の反転模様のレンダリング済み画像の座標(x,y)の階調値との偏差ΔAc,i,t(x,y)を計算し(ステップS630)、計算した偏差ΔAc,i,t(x,y)と図6の処理のステップ510により設定したゲインGi,c,t(x,y)とに基づいてレンダリング済み画像中の模様(縦縞模様)がつぶれていないか否かを判定し(ステップS640)、模様がつぶれていないときには変数jが仮詳細度L'i,t(x,y)よりも大きいか否かを判定する(ステップS650)。変数jが仮詳細度L'i,t(x,y)よりも大きいときには、変数jを仮詳細度L'i,t(x,y)に設定し直し(ステップS660)、模様がつぶれているときや変数jが仮詳細度L'i,t(x,y)未満のときにはそのまま次の処理に進む。そして、セット番号が{j−1+(i−1)b+n+2bn+2}番の横縞模様のレンダリング済み画像の座標(x,y)の階調値とセット番号が{j−1+(i−1)b+3bn+n+2}番の反転模様のレンダリング済み画像の座標(x,y)の階調値との偏差ΔAc,i,t(x,y)を計算し(ステップS670)、計算した偏差ΔAc,i,t(x,y)とゲインGi,c,t(x,y)とに基づいてレンダリング済み画像中の模様(横縞模様)がつぶれていないか否かを判定し(ステップS680)、模様がつぶれていないときには変数jが仮詳細度M'i,t(x,y)よりも大きいか否かを判定する(ステップS690)。変数jが仮詳細度M'i,t(x,y)よりも大きいときには、変数jを仮詳細度M'i,t(x,y)に設定し直し(ステップS700)、模様がつぶれているときや変数jが詳細度M'i,t(x,y)未満のときには現在の変数jが値n(テクスチャー数)以上か否かを判定し(ステップS710)、変数jが値n未満のときには変数jを値1だけインクリメントして(ステップS720)、ステップS630に戻ってステップS630〜S700の処理を繰り返す。このステップS610〜S700の処理は、次式(13)を用いて行なわれる。ゲインGi,c,t(x,y)は白ベタパターンの階調値と同一座標の黒ベタパターンの階調値との偏差により計算され、偏差ΔAc,i,t(x,y)は縞模様パターンの白部分の階調値と同一座標の反転模様パターンの黒部分の階調値との偏差あるいは縞模様パターンの黒部分の階調値と同一座標の反転模様パターンの白部分の階調値との偏差として計算されるため、縞模様につぶれが生じていない(明暗がはっきりと表われている)場合には偏差ΔAc,i,t(x,y)の2乗は比較的大きな値となって式(13)の対応する不等式は成立し、レンダリング処理の際のテクスチャーのサイズやテクスチャーの空間上の位置(遠近)によって縞模様につぶれが生じてグレー(灰色)となっている場合には偏差ΔAc,i,t(x,y)の2乗は比較的小さな値となって式(13)の対応する不等式は不成立となる。後者の現象は、縞模様の縞が細かいほど、即ち、座標の下位ビットに対応するパターンほど現われやすくなる。本実施形態では、明暗がはっきりと表われているパターンのうち縞が最も細かいものを特定することにより、レンダリング済み画像の詳細さを仮詳細度L'i,t(x,y),M'i,t(x,y)として判定しているのである。
ステップS710で変数jが値1以上と判定されたときには設定した仮詳細度L'i,t(x,y),M'i,t(x,y)に基づいて次式(14)〜(16)により詳細度Li,t(x,y),Mi,t(x,y)を設定する(ステップS730)。この処理は、縞模様の白と黒との境界部分で詳細度が極端に落ちるのを防止するためのものである。具体的には、詳細度Li,t(x,y),Mi,t(x,y)を設定した仮詳細度L'i,t(x,y),M'i,t(x,y)に初期化しておき(式(14)参照)、詳細度Li,t(x,y),Mi,t(x,y),Li,t(x+1,y),Mi,t(x+1,y)がそれぞれx座標方向に隣接する仮詳細度L'i,t(x+1,y),M'i,t(x+1,y),L'i,t(x,y),M'i,t(x,y)よりも小さいか否かを判定すると共に小さいときには詳細度を対応する仮詳細度に置き換え(式(15)参照)、詳細度Li,t(x,y),Mi,t(x,y),Li,t(x,y+1),Mi,t(x,y+1)がそれぞれy座標方向に隣接する仮詳細度L'i,t(x,y+1),M'i,t(x,y+1),L'i,t(x,y),M'i,t(x,y)よりも小さいか否かを判定すると共に小さいときには詳細度を対応する仮詳細度に置き換える(式(16)参照)ことにより行なわれる。そして、変数iが値b(座標のビット数)以上か否かを判定し(ステップS740)、変数iが値b未満のときには変数iを値1だけインクリメントして(ステップS750)、ステップS620に戻って変数jを値1に初期化してからステップS630〜S730の処理を繰り返す。変数iが値b以上のときには、値1〜Tまでの全フレームについて処理が完了したか否かを判定し(ステップS760)、全フレームについて処理が完了していないときには次のフレームを対象フレームtに設定してステップS610に戻って変数iと変数jとを値1に初期化してからステップS630〜S750の処理を繰り返し、全フレームについて処理が完了したときに本処理を終了する。
ビューワー40の表示処理部42では、コンピューター20のレンダリング処理部34により生成されたレンダリング済み画像(ビットマップ画像)とレンダリング済み画像解析処理部36により生成された画像描画情報とを予め記憶部41に記憶させておけば、メモリーカード46に記憶されている写真などの複数の画像データを差し替え用テクスチャーとして読み込むと共にレンダリング済み画像に合成して順次描画することにより、テクスチャーを差し替えながら3次元モデルのレンダリング済み画像を表示するスライドショー再生を行なうことができる。図11は、描画処理の一例を示すフローチャートである。描画処理では、まず、次式(17)に示すように背景を描画するためにバイアスBc,t(x,y)を表示画像Pc,t(x,y)に設定する(ステップS800)。続いて、次式(18)に示すようにx座標方向の詳細度Mi,t(x,y)がy座標方向の詳細度Li,t(x,y)以上のときにはy座標方向の詳細度Li,t(x,y)をスケールlに設定し次式(19)に示すようにx座標方向の詳細度Mi,t(x,y)がy座標方向の詳細度Li,t(x,y)未満のときにはx座標方向の詳細度Mi,t(x,y)をスケールlに設定し(ステップS810)、差し替え用テクスチャーの座標Xi,t(x,y)と座標のビット数bとスケールlとに基づいて次式(20)により変数u,vを設定し(ステップS820)、次式(21)により変数u,vを超えない最大整数をそれぞれ変数o,pとして設定し(ステップS830)、差し替え用テクスチャーを描画するために設定した変数u,v,o,pに基づいて次式(22)により表示画像Pc,t(x,y)を設定する(ステップS840)。そして、値1〜Tまでの全フレームについて処理が完了したか否かを判定し(ステップS850)、全フレームについて処理が完了していないときには次のフレームを対象フレームtに設定してステップS800に戻って処理を繰り返し、全フレームについて処理が完了したときにこれで本処理を終了する。ここで、式(21)中の「floor(x)」は実数xを超えない整数を示す。また、式(22)中の「Gi,c,t(x,y)」はテクスチャー番号(セット番号)i,色成分c,フレーム番号tにおけるゲインを示し、「Uc,i,l(x,y)」は色成分c,テクスチャー番号i,スケールlにおける差し替え用テクスチャー(21-l×21-lにリサイズ済み)の座標(x,y)の階調値(0.0〜1.0)を示し、「Pc,t(x,y)」は色成分c,フレーム番号tにおける表示画像(レンダリング済み画像)の座標(x,y)の階調値(0.0〜1.0)を示す。ステップS840の処理は、元の差し替え用テクスチャーの他に2^l(2のl乗)×2^lにリサイズしたサイズのみが異なる同一の差し替え用テクスチャーを用意しておき(MIPMAP)、スケールlに基づいて使用する差し替え用テクスチャーを選択し、選択した差し替え用テクスチャーの座標(o,p)における階調値をゲインGi,c,t(x,y)を乗じることにより表示画像の階調値Pc,t(x,y)に変換するのである。本実施形態では、実数変数u,vと整数変数o,pとの間で座標のズレが生じることを考慮して、変数u,vに対して隣接する座標(o,p),(o+1,p),(o,p+1),(o+1,p+1)間の線形補間(バイリニア法)により階調値の変換処理が行なわれる。この処理により、例えば、スケールlの値が大きく、小さなサイズの差し替え用テクスチャーが選択された場合に、レンダリング画像のテクスチャー領域が空間上を奥から手前に移動する際にテクスチャー画像が自然にぼやけるなどの効果を与えることができ、画像の再生を高画質なものとすることができる。また、表示画像の座標(x,y)に対応する差し替え用テクスチャーの座標(Xi,t(x,y),Yi,t(x,y))の階調値にテクスチャー番号i毎,色成分c毎,フレーム番号t毎に設定したゲインGi,c,t(x,y)を乗じたものを設定することにより、1ピクセルに対して複数のテクスチャー(反射光)の影響を与えることができるから、写真の映り込みなどの表現を実現することができ、画像の再生をさらに高画質なものとすることができる。図12にテクスチャー番号が1〜3の3つの差し替え用テクスチャーを示し、図13にレンダリング済み画像に図12の差し替え用テクスチャーを配置して描画する様子を示し、図14にスケールlに応じたサイズの差し替え用テクスチャーを選択する様子を示す。
以上説明した本実施形態の画像表示方法によれば、コンピューター20側では、座標(x,y)を2進数表現したときの対応するビット位置のビット値が値1の座標に白の階調値を設定しビット値が値0の座標に黒の階調値を設定することにより座標のビット数bに応じた数の縞模様パターンを作成して3次元モデルに貼り付けてレンダリングし、レンダリング済み画像における座標特定用パターンの色(白黒)を判定することによりレンダリング済み画像の座標(x,y)とテクスチャーの座標(Xi,t(x,y),Yi,t(x,y))との対応関係を設定すると共にレンダリング済み画像における縞模様パターンの縞がつぶれていないパターンを最下位ビットから順次判定して詳細度Li,t(x,y),Mi,t(x,y)を設定し、ビューワー40側では、レンダリング済み画像を用いて画像を表示する場合には、詳細度Li,t(x,y),Mi,t(x,y)に基づいてスケールlを設定し、21-l×21-lにリサイズ済みの差し替え用テクスチャーの座標(Xt(x,y),Yi,t(x,y))の実数変数u,vと整数変数o,pとをスケールlに応じて設定し、設定した整数変数o,pを差し替え用テクスチャーの座標(Xt(x,y),Yi,t(x,y))に適用して表示画像の階調値Pc,t(x,y)に変換するから、3次元モデルのレンダリング済み画像をスケールlに応じて適したサイズのテクスチャーを自由に差し替えて再生することができると共にリアルタイムで3次元モデルをレンダリングして表示するものに比して処理負担を少なくすることができる。しかも、実数変数u,vを用いた座標における階調値を隣接する整数変数o,pを用いた座標(o,p),(o+1,p),(o,p+1),(o+1,p+1)間の線形補間により算出して階調値の変換を行なうから、テクスチャー画像に自然なぼけ味等の効果を与えることができ、画像の再生を高画質なものとすることができる。さらに、座標の対応関係を特定するための特殊テクスチャーとして交番2進数に対応する縞模様のパターンを形成するから、隣接する座標に移行する際には常に1ビットの変化となり、画像の階調値の誤差に起因して誤ったデータが取得されてしまうのを抑制することができる。
本実施形態では、式(13)すなわちゲインGi,c,t(x,y)と偏差ΔAc,i,t(x,y)とを比較することにより縞模様パターンにつぶれが生じているか否かを判定してパターンの詳細度Li,t(x,y),Mi,t(x,y)を設定するものとしたが、これに限られず、レンダリングの手法によっては、偏差ΔAc,i,t(x,y)(縞模様パターンの階調値と反転パターンの階調値との偏差)だけに基づいて判定するものとしてもよいし、縞模様パターンの階調値だけに基づいて判定するものとしてもよい。
本実施形態では、対象セット番号iが値(n+2)〜値(n+2bn+1)の縦縞模様パターンの特殊テクスチャーを座標を交番2進数表現したときに各ビットの値に対応するものとすると共に対象セット番号iが値(n+2bn+2)〜値(n+4bn+1)の横縞模様パターンの特殊テクスチャーを座標を交番2進数表現したときの各ビットの値に対応するものとしたが、これらのパターンを、座標を一般の2進数表現したときに各ビットの値に対応するものとして生成するものとしてもよい。この場合の特殊テクスチャーの一例を図15に示す。
本実施形態では、縦縞模様のパターンのレンダリング済み画像の階調値とこれを反転した反転パターンのレンダリング済み画像の階調値とを比較すると共に横縞模様のパターンのレンダリング済み画像の階調値とこれを反転した反転パターンのレンダリング済み画像の階調値とを比較することにより縦縞模様のパターンや横縞模様のパターンのレンダリング済み画像の色(白黒)を判定するものとしたが、縦縞模様のパターンや横縞模様のパターンのレンダリング済み画像の階調値を直接用いて色を判定するものとしてもよい。
本実施形態では、ビューワー40により画像を再生するものとしたが、画像を再生できる機器であれば、液晶画面付きの携帯電話やプリンターなど如何なる機器を用いるものとしても構わない。
なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
20 コンピューター、22 ディスプレイ、31 記憶部、32 特殊テクスチャー生成処理部、34 レンダリング処理部、36 レンダリング済み画像解析処理部、40 ビューワー、41 記憶部、42 表示処理部、44 メモリーカードコントローラー、46 メモリーカード。
Claims (8)
- 画像を表示する画像表示方法であって、
(a)座標を2進数で表現した場合に各ビット位置に対応する複数のパターンを用いて各パターン毎に対応するビット位置のビット値が値1の座標に第1の階調値を設定し該ビット値が値0の座標に該第1の階調値とは異なる第2の階調値を設定することにより座標特定用パターンを作成し、該作成した座標特定用パターンをテクスチャーとして3次元モデルに貼り付けてレンダリングし、
(b)前記レンダリングによりビットマップ画像として得られたレンダリング済み画像を解析することにより該レンダリング済み画像の座標と前記座標特定用パターンの座標との対応関係を設定して保存すると共に、前記複数のパターンの各レンダリング済み画像の階調値に基づいて該複数のパターンのうちつぶれが生じているパターンを特定して保存し、
(c)所望のテクスチャーを画像として表示する場合に、前記特定したパターンに応じて用いるテクスチャーのスケールを設定し、サイズが異なる複数の所望のテクスチャーの中から前記設定したスケールに応じたテクスチャーを選択し、前記保存した対応関係を用いて前記選択したテクスチャーの階調値を前記レンダリング済み画像の階調値に変換して表示する
画像表示方法。 - 前記ステップ(c)は、前記選択したテクスチャーの座標における実数変数を前記設定したスケールに基づいて設定すると共に該実数変数に対応する整数変数を設定し、前記保存した対応関係に基づいて前記設定した整数変数を用いた前記テクスチャーの座標の階調値を前記レンダリング済み画像の階調値に変換するステップである請求項1記載の画像表示方法。
- 前記ステップ(c)は、前記設定した実数変数を用いた座標における階調値を前記設定した整数変数を含む隣接する整数変数を用いた座標間の線形補間により算出して前記レンダリング済み画像の階調値に変換するステップである請求項2記載の画像表示方法。
- 請求項1ないし3いずれか1項に記載の画像表示方法であって、
前記ステップ(a)は、前記座標特定用パターンを反転した反転パターンを作成して前記3次元モデルに貼り付けてレンダリングすると共に最大階調値を設定した最大階調値パターンと最小階調値を設定した最小階調値パターンとを作成して前記3次元モデルに貼り付けてそれぞれレンダリングするステップであり、
前記ステップ(b)は、前記座標特定用パターンのレンダリングにより得られたレンダリング済み画像の階調値と前記反転パターンのレンダリングにより得られたレンダリング済み画像の階調値との偏差である第1の偏差を算出すると共に前記最大階調値パターンのレンダリングにより得られたレンダリング済み画像の階調値と前記最小階調値パターンのレンダリングにより得られたレンダリング済み画像の階調値との偏差である第2の偏差を算出し、前記第1の偏差と前記第2の偏差とに基づいてつぶれが生じているパターンを特定するステップである
画像表示方法。 - 前記ステップ(c)は、前記第2の偏差をゲインとして前記選択したテクスチャーの階調値に適用することにより前記レンダリング済み画像の階調値に変換するステップである請求項4記載の画像表示方法。
- 請求項4または5記載の画像表示方法であって、
前記ステップ(b)は、前記最小階調値パターンのレンダリングにより得られたレンダリング済み画像における階調値であるバイアス値を保存するステップであり、
前記ステップ(c)は、前記保存したバイアス値に基づいて前記選択したテクスチャーの階調値をオフセットすることにより前記レンダリング済み画像の階調値に変換して表示するステップである
画像表示方法。 - 前記2進数は、交番2進数である請求項1ないし6いずれか1項に記載の画像表示方法。
- 画像をフレーム単位で描画して動画像として表示する請求項1ないし7いずれか1項に記載の画像表示方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009232205A JP2011081531A (ja) | 2009-10-06 | 2009-10-06 | 画像表示方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009232205A JP2011081531A (ja) | 2009-10-06 | 2009-10-06 | 画像表示方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011081531A true JP2011081531A (ja) | 2011-04-21 |
Family
ID=44075539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009232205A Pending JP2011081531A (ja) | 2009-10-06 | 2009-10-06 | 画像表示方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011081531A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111311720A (zh) * | 2018-12-12 | 2020-06-19 | 网易(杭州)网络有限公司 | 一种纹理图像的处理方法和装置 |
-
2009
- 2009-10-06 JP JP2009232205A patent/JP2011081531A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111311720A (zh) * | 2018-12-12 | 2020-06-19 | 网易(杭州)网络有限公司 | 一种纹理图像的处理方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI602148B (zh) | 用於紋理映射至非正交網格的梯度調整 | |
JP5573316B2 (ja) | 画像処理方法および画像処理装置 | |
US20110221748A1 (en) | Apparatus and method of viewing electronic documents | |
JP7096661B2 (ja) | キューブマップをテクスチャリングするためのlodを決定する方法、装置、コンピュータプログラム及び記録媒体 | |
JP5482394B2 (ja) | 画像処理方法および画像処理装置 | |
US7256792B1 (en) | Method and apparatus for sampling non-power of two dimension texture maps | |
WO2006048961A1 (ja) | 描画処理装置および描画処理方法 | |
US20140071124A1 (en) | Image processing apparatus | |
US20110018873A1 (en) | Two-dimensional to three-dimensional image conversion system and method | |
KR100745768B1 (ko) | 전력 소비를 감소시키기 위한 lod 값 계산 방법과이것을 이용한 3차원 렌더링 시스템 | |
KR102285840B1 (ko) | 3차원 영상 렌더링 방법 및 이를 적용한 영상 출력 장치 | |
JP5413081B2 (ja) | 画像表示方法および画像表示装置 | |
JP2011081531A (ja) | 画像表示方法 | |
JPWO2004079663A1 (ja) | 光反射強度計算回路 | |
KR20150061802A (ko) | 이미지 출력 장치 및 이의 이미지 렌더링 방법 | |
KR100388587B1 (ko) | 정점 데이터에 오프셋값을 가산하여 폴리곤을 묘화하는3차원 그래픽스 묘화 장치 및 그 방법 | |
KR100684558B1 (ko) | 텍스쳐 밉매핑 장치 및 방법 | |
JP2010257224A (ja) | 動画像表示装置 | |
JP2011070569A (ja) | 画像表示方法 | |
KR100313846B1 (ko) | 바이리니어밉매핑에서의상세도(lod)계산방법및장치 | |
US6460063B1 (en) | Division circuit and graphic display processing apparatus | |
KR20080064523A (ko) | 3차원 그래픽 처리 장치 및 그것의 동작 방법 | |
JP2011076145A (ja) | 画像表示方法 | |
KR100818286B1 (ko) | 안개 효과를 고려하여 3차원 그래픽스 데이터를 렌더링하는방법 및 장치 | |
US11776179B2 (en) | Rendering scalable multicolored vector content |