動画像表示装置
【課題】処理負担が少なく高品質の3次元モデルのレンダリング画像の動画を再生する。
【解決手段】コンピューター20は、座標(x,y)を2進数表現したときの各ビットの値に対応するx座標用の縦縞模様パターンとy座標用の横縞模様パターンとをテクスチャーとして3次元モデルに貼り付けてレンダリングし、これによりビットマップ画像として得られたレンダリング済み画像を解析することによりレンダリング済み画像の座標(x,y)とテクスチャーの座標(Xt(x,y),Yt(x,y))との対応関係を設定する。ビューワー20は、レンダリング済み画像を用いて動画を表示するときには、描画処理に対してバックグラウンドでレンダリング済み画像を順次ロードしつつ、予め設定された対応関係からテクスチャーの座標(Xt(x,y),Yt(x,y))の階調値を表示画像の座標(x,y)に描画する。
【解決手段】コンピューター20は、座標(x,y)を2進数表現したときの各ビットの値に対応するx座標用の縦縞模様パターンとy座標用の横縞模様パターンとをテクスチャーとして3次元モデルに貼り付けてレンダリングし、これによりビットマップ画像として得られたレンダリング済み画像を解析することによりレンダリング済み画像の座標(x,y)とテクスチャーの座標(Xt(x,y),Yt(x,y))との対応関係を設定する。ビューワー20は、レンダリング済み画像を用いて動画を表示するときには、描画処理に対してバックグラウンドでレンダリング済み画像を順次ロードしつつ、予め設定された対応関係からテクスチャーの座標(Xt(x,y),Yt(x,y))の階調値を表示画像の座標(x,y)に描画する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像をフレーム単位で描画することにより動画像を表示する動画像表示装置に関する。
【背景技術】
【0002】
従来、この種の動画像表示装置としては、リアルタイムで3次元モデルをレンダリングしてディスプレイに表示するものや(例えば、特許文献1参照)、3次元モデルを予めレンダリングしてビットマップ画像を作成して保存しておきディスプレイの表示はビットマップ画像を読み込んで行なうものなどが提案されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平07−152925号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
前者の手法では、画面の表示周期よりも短い周期でレンダリング処理を行なう必要があるため、高い演算能力が要求される。したがって、用いるコンピューターによっては、演算能力に不足が生じ、レイトレーシングなどの高品質のレンダリングは行なうことができない。一方、後者の手法では、ビットマップ画像を表示するだけであるから、予め高品質のレンダリングを行なってビットマップ画像を作成しておくことにより、高品質の画像を表示することができるものの、現状では後から異なるテクスチャーに差し替えて使用することはできない。また、フレーム単位でビットマップ画像を描画して動画像を表示する場合には、表示周期よりも早く画像を読み込んで展開しなければフレーム落ちが生じてしまう。
【0005】
本発明の動画像表示装置は、処理負担が少なく、高品質の3次元モデルのレンダリング画像による動画をスムーズに表示することを主目的とする。
【0006】
本発明の動画像表示装置は、上述の主目的を達成するために以下の手段を採った。
【課題を解決するための手段】
【0007】
本発明の動画像表示装置は、
画像をフレーム単位で描画することにより動画像を表示する動画像表示装置であって、
座標毎に階調値が異なる所定パターンをテクスチャーとして3次元モデルに貼り付けてレンダリングすることによりフレーム毎のビットマップ画像として得られたレンダリング済み画像を記憶すると共に該レンダリング済み画像を解析することにより得られる該レンダリング済み画像の座標と前記所定パターンの座標との対応関係を記憶する記憶手段と、
動画像の表示が指示されたときには、前記記憶手段から各フレームのレンダリング済み画像を所定量まで順次読み込む画像読込手段と、
前記記憶された対応関係に基づいてフレーム単位で順次前記読み込まれたレンダリング済み画像中に所望のテクスチャを合成して描画する描画手段と、
を備えることを要旨とする。
【0008】
この本発明の動画像表示装置では、動画像の表示が指示されたときには、フレーム毎のレンダリング済み画像とこのレンダリング済み画像の座標と所定パターンの座標との対応関係とを記憶する記憶手段から各フレームのレンダリング済み画像を所定量まで順次読み込み、記憶された対応関係に基づいてフレーム単位で順次読み込まれたレンダリング済み画像中に所望のテクスチャを合成して描画する。したがって、3次元モデルをレンダリングした画像を所望のテクスチャーを差し替えて表示することができると共にリアルタイムで3次元モデルをレンダリングして動画像として表示するものに比して処理負担を少なくすることができる。また、動画像の表示が指示されたときには、描画手段の処理でレンダリング済み画像が必要とされるタイミングに先だって記憶手段に記憶されている各フレームのレンダリング済み画像を所定量まで順次読み込んでおくから、比較的処理能力の低い装置であっても、描画の度に対応するフレームのレンダリング済み画像を読み込むものに比して、フレーム落ちをより確実に防止することができる。
【0009】
こうした本発明の動画像表示装置において、前記対応関係は、前記レンダリング済み画像の各座標の階調値から対応する前記所定パターンの座標を特定することにより導出される関係であるものとすることもできる。
【0010】
また、本発明の動画像表示装置において、前記所定パターンは、座標を2進数で表現したときにビット数に応じた複数のパターンに、それぞれ座標毎に対応するビットの値に応じた階調値が設定されてなるパターンであるものとすることもできる。こうすれば、対応関係をより正確に設定することができる。この場合、前記2進数は、グレイコード(交番2進数)であるものとすることもできる。こうすれば、隣接する座標に移行する際に常に1ビットの変化しか生じないから、画像の階調値の誤差に起因して誤ったデータが取得されてしまうのを抑制することができる。
【0011】
さらに、本発明の動画像表示装置において、前記所定パターンは、前記対応関係を設定するための対応関係設定用パターンに加えてさらに最小階調値でベタ塗りしてなる第1ベタ塗りパターンを含むパターンであり、前記記憶手段は、前記レンダリング済み画像における前記第1ベタ塗りパターンの階調値であるバイアス値を記憶する手段であり、前記描画手段は、前記記憶されたバイアス値に基づいて前記所望のテクスチャの階調値をオフセットすることにより前記レンダリング済み画像の階調値に変換して描画する手段であるものとすることもできる。こうすれば、3次元モデルのレンダリングによる効果のうち元のテクスチャーに依存しないものを反映させることができる。
【0012】
また、本発明の動画像表示装置において、前記所定パターンは、前記対応関係を設定するための対応関係設定用パターンに加えてさらに最小階調値でベタ塗りしてなる第1ベタ塗りパターンと最大階調値でベタ塗りしてなる第2ベタ塗りパターンとを含むパターンであり、前記記憶手段は、前記レンダリング済み画像における前記第2ベタ塗りパターンの階調値と前記第1ベタ塗りパターンの階調値との偏差であるゲインを記憶する手段であり、前記描画手段は、前記記憶されたゲインに基づいて前記所望のテクスチャーの階調値を前記レンダリング済み画像の階調値に変換して描画する手段であるものとすることもできる。こうすれば、3次元モデルのレンダリングによる効果のうち元のテクスチャーの階調値に影響を受けるものを反映させることができる。この態様の本発明の動画像表示装置において、前記所定パターンは、前記描画手段により前記レンダリング済み画像に複数の所望のテクスチャーを配置して表示する場合には、前記配置する所望のテクスチャーの数だけ設けられたセット群であって各セットが1つの前記第2ベタ塗りパターンと前記配置するテクスチャーの数から値1を減じた数の前記第1ベタ塗りパターンとからなると共に各セット毎に前記3次元モデルに前記第2ベタ塗りパターンを貼り付ける箇所が異なる第1のセット群と、前記配置する所望のテクスチャーの数と同数の前記第1ベタ塗りパターンからなる1つの第2のセットとがそれぞれセット毎に前記3次元モデルに貼り付けられてレンダリングされるパターンであり、前記ゲインは、前記第1のセット群を各セット毎にレンダリングすることにより得られる各レンダリング済み画像の階調値と前記第2のセットをレンダリングすることにより得られるレンダリング済み画像の階調値とを前記第1のセット群の各セット毎に比較することにより、前記3次元モデルにテクスチャーが貼り付けられた領域であるテクスチャー領域を特定し、該特定したテクスチャー領域に対して算出されるものとすることもできる。こうすれば、テクスチャー領域をより容易に特定することができる。
【図面の簡単な説明】
【0013】
【図1】本発明の一実施形態としてのビューワー20の構成の概略を示す構成図。
【図2】コンピューター40の構成の概略を示す構成図。
【図3】特殊テクスチャー生成処理の一例を示すフローチャート。
【図4】特殊テクスチャーの一例を示す説明図。
【図5】セット毎に特殊テクスチャーをレンダリングする様子を示す説明図。
【図6】画像描画情報生成処理の一例を示すフローチャート。
【図7】バイアスBc,t(x,y)とゲインGc,t(x,y)を説明する説明図。
【図8】差し替え用テクスチャーの一例を示す説明図。
【図9】差し替え用テクスチャーのスライドショー表示の一例を示す説明図。
【図10】スライドショー表示処理の様子を説明する説明図である。
【図11】変形例の特殊テクスチャーを示す説明図。
【図12】変形例の特殊テクスチャーを用いてレンダリングする様子を示す説明図。
【図13】変形例の特殊テクスチャーを示す説明図。
【発明を実施するための形態】
【0014】
次に、本発明の実施の形態を図面を用いて説明する。図1は本発明の一実施形態としてのビューワー20の構成の概略を示す構成図であり、図2はビューワー20による動画像の表示に用いるデータを作成するコンピューター40の構成の概略を示す構成図である。
【0015】
コンピューター40は、本実施形態のビューワー20により3次元レンダリング画像をフレーム単位で動画像として表示するために必要なデータを作成するものであり、図2に示すように、中央演算処理装置としてのCPUや処理プログラムを記憶するROM、データを一時的に記憶するRAM、グラフィックプロセッサー(GPU)、ハードディスク(HDD)、表示部21などからなる汎用のコンピューターとして構成されており、その機能ブロックとしては、3次元モデリングデータ(以下、3Dモデルという)やこれに貼り付けるテクスチャーデータ(以下、テクスチャーという)などを記憶する記憶部41と、3次元モデルに貼り付ける前処理用の特殊なテクスチャーを生成する特殊テクスチャー生成処理部42と、3次元モデルをレンダリングしてビットマップ画像を生成するレンダリング処理部44と、レンダリングにより得られたビットマップ画像としてのレンダリング済み画像を解析するレンダリング済み画像解析処理部46と、を備える。
【0016】
特殊テクスチャー生成処理部42は、レンダリング処理部44でレンダリングされる3Dモデルに貼り付ける所定パターンのテクスチャーを生成する処理部であり、具体的には、所定パターンとして、値0.0〜1.0の階調値範囲内で階調値が値1.0の白ベタのパターンや、階調値が値0.0の黒ベタのパターン,値0.0と値1.0の階調値が横方向に交互に現われる縦縞模様のパターン,値0.0と値1.0の階調値が縦方向に交互に現われる横縞模様のパターンを生成する。なお、これらの各パターンがもつ役割については後述する。
【0017】
レンダリング処理部44は、3Dレンダリング用のソフトウエアがコンピューター40にインストールされることにより機能する処理部であり、3Dモデルに特殊テクスチャー生成処理部42で生成されたテクスチャーを貼り付けてレンダリングすることにより所定のフレームレート(例えば、1秒間に20回や30回など)でフレーム単位にビットマップ画像を再生して動画を表示する。本実施形態では、光源からの光をたどりながらオブジェクト面の反射や光の屈折などを計算してレンダリングするレイトレーシング法を用いてレンダリング処理を行なうものとした。
【0018】
レンダリング済み画像解析処理部46は、レンダリング処理部44により生成されたビットマップ画像(レンダリング済み画像)を解析することにより、所定パターンのテクスチャーに代えて写真などの所望の画像データを配置してレンダリング済み画像をビューワー20側で表示できるようにするための画像描画情報を生成する。
【0019】
本実施形態のビューワー20は、図1に示すように、液晶ディスプレイとしての表示部21と、メモリーカードMCに記憶されている写真などの画像データの入力を司るメモリーカードインターフェース(I/F)22と、ユーザーにより操作される操作系からの信号を入力するUI入力部30と、コンピューター40により生成されたレンダリング済み画像や画像描画情報を記憶する記憶部32と、記憶部32に記憶されたレンダリング済み画像をロードすると共に展開してRAMのデータ格納領域36に格納するロード処理部34と、メモリーカードMCに記憶されている画像データを展開して描画バッファー26に描画したりデータ格納領域36に格納されたレンダリング済み画像にメモリーカードMCに記憶されている画像データを合成して描画バッファー26に描画したりする描画処理部24と、描画バッファー26に描画された画像データの表示部21への転送を司るLCDインタフェース(I/F)28と、装置全体をコントロールする制御部38とを備える。このビューワー20は、ユーザーからの指示によりメモリーカードMCに記憶されている複数の画像データを順次読み込むと共に読み込んだ画像データを画像描画情報を用いて3Dモデルのレンダリング済み画像に貼り付けてフレーム単位で順次再生を行なうことにより動画像として表示(スライドショー表示)することができる。
【0020】
次に、こうして構成された本実施形態のビューワー20とコンピューター40の動作について説明する。まず、コンピューター40側の動作について説明する。図3は、コンピューター40の特殊テクスチャー生成処理部42により実行される特殊テクスチャー生成処理の一例を示すフローチャートである。
【0021】
特殊テクスチャー生成処理では、まず、対象セット番号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)の階調値を示す(以下、同じ)。
【0022】
【数1】
【0023】
対象セット番号iが値1〜値nの特殊テクスチャーを生成すると、次に、対象セット番号iが値(n+1)の色成分毎のn個の特殊テクスチャーを生成し(ステップS140)、対象セット番号iを値1だけインクリメントする(ステップS150)。ここで、対象セット番号iが値(n+1)の特殊テクスチャーの生成は、次式(2)に示すように、1番からn番までのすべての対象テクスチャー番号jに対して全座標(x,y)に値0.0の階調値を設定することにより黒ベタの特殊テクスチャーを生成することにより行なわれる。
【0024】
【数2】
【0025】
対象セット番号iが値(n+1)の特殊テクスチャーを生成すると、次に、対象セット番号iに対してテクスチャーの座標を交番2進数(グレイコード)表現としたときの第{i−(n+2)]ビットに対応する縦縞模様の色成分毎のn個の特殊テクスチャーを次式(3)により生成して(ステップS160)、対象セット番号iを値1だけインクリメントし(ステップS170)、対象セット番号iと値(n+b+1)とを比較し(ステップS180)、対象セット番号iが値(n+b+1)以下のときにはステップS160に戻って次の対象セット番号iに対してn個の特殊テクスチャーを生成する処理を繰り返し、対象セット番号iが値(n+b+1)を超えたときには次の処理に進む。ここで、式(3)中の「gray(a)」は数値aのグレイコード(交番2進数符号)表現であり、「and(a,b)」はaとbのビット毎の論理積を示す(以下、同じ)。(n+2)番から(n+b+1)番までの対象セット番号iは、それぞれテクスチャーの座標を2進数で表現したときに第0ビット(最上位ビット)から第(b−1)ビット(最下位ビット)までの各ビットに対応しており、対象セット番号iに対応するビットの値が値1のときには値1.0(白)の階調値を設定し、対応するビットの値が値0のときには値0.0(黒)の階調値を設定することにより縦縞模様の特殊テクスチャーが生成される。本実施形態では、テクスチャーの座標を交番2進数で表現しており、例えば、テクスチャー数nが値3で座標が値1〜8の3ビット(b=3)とすると、対象セット番号iが第0ビット(最上位ビット)を示す値5の特殊テクスチャーとしてはx座標が値1〜4については黒の階調値が設定され値5〜8については白の階調値が設定され、対象セット番号iが第1ビットを示す値6の特殊テクスチャーとしてはx座標が値1,2については黒の階調値が設定され3〜6については白の階調値が設定され値7,8については黒の階調値が設定され、対象セット番号iが第2ビット(最下位ビット)を示す値7の特殊テクスチャーとしてはx座標が値1については黒の階調値が設定され値2,3については白の階調値が設定され値4,5については黒の階調値が設定され値6,7については白の階調値が設定され値8については黒の階調値が設定されることになる。
【0026】
【数3】
【0027】
対象セット番号iが値(n+2)〜値(n+b+1)の特殊テクスチャーを生成すると、次に、対象セット番号iに対してテクスチャーのy座標を交番2進数表現としたときの第{i−(n+b+2)]ビットに対応する横縞模様の色成分毎のn個の特殊テクスチャーを次式(4)により生成して(ステップS185)、対象セット番号iを値1だけインクリメントし(ステップS190)、対象セット番号iと値(n+2b+1)とを比較し(ステップS195)、対象セット番号iが値(n+2b+1)以下のときにはステップS185に戻って次の対象セット番号iに対してn個の特殊テクスチャーを生成する処理を繰り返し、対象セット番号iが値(n+2b+1)を超えたときには、全ての特殊テクスチャーの生成が完了したとして、本ルーチンを終了する。(n+b+2)番から(n+2b+1)番までの対象セット番号iは、それぞれテクスチャーの座標を2進数で表現したときに第0ビット(最上位ビット)から第(b−1)ビット(最下位ビット)までの各ビットに対応しており、対象セット番号iに対応するビットの値が値1のときには値1.0(白)の階調値を設定し、対応するビットの値が値0のときには値0.0(黒)の階調値を設定することにより横縞模様の特殊テクスチャーが生成される。本実施形態では、テクスチャーの座標をグレイコードで表現しており、例えば、テクスチャー数nが値3でy座標が値1〜8の3ビット(b=3)とすると、対象セット番号iが第0ビット(最上位ビット)を示す値8の特殊テクスチャーとしてはy座標が値1〜4については黒の階調値が設定され値5〜8については白の階調値が設定され、対象セット番号iが第1ビットを示す値9の特殊テクスチャーとしてはy座標が値1,2については黒の階調値が設定され値3〜6については白の階調値が設定され値7,8については黒の階調値が設定され、対象セット番号iが第2ビット(最下位ビット)を示す値10の特殊テクスチャーとしてはy座標が値1については黒の階調値が設定され値2,3については白の階調値が設定され値4,5については黒の階調値が設定され値6,7については白の階調値が設定され値8については黒の階調値が設定されることになる。図4に、テクスチャー数nが値3で座標のビット数bが値3のときに生成される特殊テクスチャーの一覧を示す。
【0028】
【数4】
【0029】
レンダリング処理部44は、セット毎に、対応するn個の特殊テクスチャーを3次元モデルに貼り付けてレンダリング処理を行なう。図5にレンダリング処理の様子を示す。本実施形態では、3次元モデルを動画としてレンダリングし、テクスチャー数nが値3でビット数bが値3としたから、合計10セット分のレンダリング処理が行なわれて10セット分の動画が生成されることになる。この動画は、フレーム1〜T(例えば、Tは200)までの各フレーム毎に生成されたビットマップ画像(レンダリング済み画像)により構成される。
【0030】
次に、レンダリング処理部44により生成されたレンダリング済み画像を解析する処理について説明する。図6は、レンダリング済み画像解析処理部46により実行されるレンダリング済み画像解析処理の一例を示すフローチャートである。
【0031】
レンダリング済み画像解析処理では、まず、次式(5)に示すように各フレーム番号t(=1〜T)におけるレンダリング済み画像の座標(x,y)の変数It(x,y)を値0に初期化し(ステップS200)、対象フレームtにおけるセット番号1〜nのレンダリング済み画像中の白ベタ領域(座標)を特定して、この白ベタ領域の変数It(x,y)に対応するテクスチャー番号(=対象セット番号i)を設定する(ステップS210)。この処理は、次式(6)に示すように、対象セット番号iを1番からn番まで順次シフトしながら対象セット番号iのレンダリング済み画像の階調値(各色成分毎の階調値の総和)とセット番号(n+1)のレンダリング済み画像の階調値(各色成分毎の階調値の総和)とを比較することにより行なうことができる。ここで、式(5)中の「w」はレンダリング済み画像の幅方向のサイズを示し、「h」はレンダリング済み画像の高さ方向のサイズを示す。また、式(6)中の「Ac,i,t(x,y)」は色成分c,セット番号i(1〜n),フレーム番号tにおけるレンダリング済み画像の座標(x,y)の階調値を示す(以下、同じ)。
【0032】
【数5】
【0033】
続いて、次式(7)によりセット番号(n+1)のレンダリング済み画像の階調値をバイアスBc,t(x,y)として設定すると共に(ステップS220)、変数It(x,y)が値0でないレンダリング済み画像の座標(x,y)、即ち白ベタ領域について次式(8)によりゲインGc,t(x,y)を計算する(ステップS230)。ここで、式(8)中の「Ac,It(x,y),t(x,y)」は色成分c,変数It(x,y)に格納されたセット番号i,フレーム番号tにおけるレンダリング済み画像の座標(x,y)の階調値を示す。図7に、バイアスBc,t(x,y)とゲインGc,t(x,y)との関係を示す。3Dモデルにテクスチャーを貼り付けてレンダリングする場合、図示するように、元のテクスチャーの階調値に依存しないオフセット分がバイアスBc,t(x,y)に相当し、元のテクスチャーの階調値の変化に対するレンダリング済み画像の階調値の変化の傾きがゲインGc,t(x,y)に相当する。
【0034】
【数6】
【0035】
そして、次式(9)によりテクスチャーのグレイコード表現の座標(X't(x,y),Y't(x,y))を値0に初期化し(ステップS240)、セット番号(n+2)〜(n+2b+1)のレンダリング済み画像の座標(x,y)とテクスチャーの座標(X't(x,y),Y't(x,y))との対応関係を設定する(ステップS250)。ここで、座標の対応関係は、次式(10)により行なわれ、具体的には、セット番号iを1番からn番まで順次シフトしながらセット番号(i+n+1)のレンダリング済み画像の階調値Ac,i+n+1,t(x,y)からバイアスBc,t(x,y)を減じたもの(各色成分毎の総和)がセット番号iのレンダリング済み画像のゲインGc,t(x,y)を値2で割ったもの(各色成分毎の総和)よりも大きいか否か即ちセット番号(i+n+1)における白と黒の縦縞模様のパターンのうち座標(x,y)が白か否かを判定し白のときには交番2進数表現の座標X't(x,y)の対応する第(i−1)ビットの値に値1を設定し、セット番号iを1番からn番まで順次シフトしながらセット番号(i+b+n+1)のレンダリング済み画像の階調値Ac,i+b+n+1,i(x,y)からバイアスBc,t(x,y)を減じたもの(各色成分毎の総和)がセット番号iのレンダリング済み画像のゲインGc,t(x,y)を値2で割ったもの(各色成分毎の総和)よりも大きいか否か即ちセット番号(i+b+n+1)における白と黒の横縞模様のパターンのうち座標(x,y)が白か否かを判定し白のときには座標Y't(x,y)の対応する第(i−1)ビットの値を値1に設定することにより行なわれる。ここで、式(10)中の「or(a,b)」はaとbのビット毎の論理和を示す。
【0036】
【数7】
【0037】
座標の対応関係を設定すると、グレイコード表現のテクスチャーの座標(X't(x,y),Y't(x,y))を次式(11)を用いて復号化して復号化後座標(Xt(x,y),Yt(x,y))を算出し(ステップS260)、これまでの設定あるいは算出結果を画像描画情報として記憶部32に保存し(ステップS270)、値1〜Tまでの全フレームについて処理が完了したか否かを判定し(ステップS280)、全フレームについて処理が完了していないときには次のフレームを対象フレームtに設定してステップS210に戻って処理を繰り返し、全フレームについて処理が完了したときに本処理を終了する。ここで、式(11)中の「gray-1(a)」はグレイコードaを復号化した値を示し、「Xt(x,y)」はフレーム番号tのレンダリング済み画像の座標(x,y)に対応するテクスチャーのx座標を示し、「Yt(x,y)」はフレーム番号tのレンダリング済み画像の座標(x,y)に対応するテクスチャーのy座標を示す。なお、本実施形態では、座標(X't(x,y),Y't(x,y))の原点を(1,1)としているから、グレイコードを復号化した値に値1を加算している。画像描画情報としては、変数It(x,y)とバイアスBc,t(x,y)とゲインGc,t(x,y)と座標(Xt(c,y),Yt(x,y))とが含まれる。
【0038】
【数8】
【0039】
次に、本実施形態のビューワー20の動作について説明する。本実施形態のビューワー20は、記憶部32にはコンピューター40のレンダリング処理部44により生成されたレンダリング済み画像(ビットマップ画像の圧縮データ)とレンダリング済み画像解析処理部46により生成された画像描画情報とが記憶されており、記憶部32からレンダリング済み画像を読み込むと共にメモリーカードMCに記憶されている写真などの複数の画像データを差し替え用テクスチャーとして読み込み、次式(12)を用いてレンダリング済み画像に合成して順次描画することにより、テクスチャーを差し替えながら3次元モデルのレンダリング済み画像を動画像として表示するスライドショー再生を行なうことができる。ここで、式(12)中の「Uc,i(x,y)」は色成分c,テクスチャー番号iにおける差し替え用テクスチャーの座標(x,y)の階調値(0.0〜1.0)を示し、「Pc,t(x,y)」は色成分c,フレーム番号tにおける表示画像(レンダリング済み画像)の座標(x,y)の階調値(0.0〜1.0)を示す。式(12)に示すように、表示画像の階調値Pc,t(x,y)の設定は、変数It(x,y)が値0でないテクスチャー配置領域に対しては表示画像の座標(x,y)に対応する差し替え用テクスチャーの座標(Xt(x,y),Yt(x,y))の階調値にゲインGc,t(x,y)を乗じてバイアスBc,t(x,y)を加えたものを設定し、変数It(x,y)が値0であるテクスチャー配置領域以外の領域に対してはバイアスBc,t(x,y)を設定することにより行なわれる。図8にテクスチャー番号が1〜3の3つの差し替え用テクスチャーを示し、図9にレンダリング済み画像に図8の差し替え用テクスチャーを配置して描画する様子を示す。
【0040】
【数9】
【0041】
図10は、表示処理の一例を示す説明図である。ユーザーによりUI入力部30を介してスライドショー表示が指示されると、制御部38は描画処理部24を介してロード処理部34に対してロード開始要求を出力し、ロード開始要求を受けたロード処理部34は、動画を構成する各フレームのレンダリング済み画像を順次ロードすると共に展開してデータ格納領域36に格納する。本実施形態では、動画を構成する200フレームに対してデータ格納領域36に20〜30フレーム分程度のレンダリング済み画像を格納できるようその領域を確保するものとした。描画処理部24は、表示周期に合わせてフレーム単位でデータ格納領域36に格納されているフレーム毎のレンダリング済み画像を取得すると共に上述した処理によりテクスチャーと合成して描画バッファー26上に描画することにより動画として表示する。ロード処理部34は、描画処理部24による描画処理の最中であってもバックグラウンドでデータ格納領域36に格納できるだけロードするから、表示部21の表示周期に描画が間に合わずにフレーム落ちが発生するのを抑制することができる。
【0042】
以上説明した実施例の動画像表示装置によれば、コンピューター40側では、座標(x,y)を2進数表現したときの各ビットの値に対応するx座標用の縦縞模様のパターンとy座標用の横縞模様のパターンとをテクスチャーとして3次元モデルに貼り付けてレンダリングし、レンダリングによりビットマップ画像として得られたレンダリング済み画像を解析することによりレンダリング済み画像の座標(x,y)とテクスチャーの座標(Xt(x,y),Yt(x,y))との対応関係を設定して画像描画情報として保存し、ビューワー20側でレンダリング済み画像を用いて画像を表示するときには、予め記憶した画像描画情報によりテクスチャーの座標(Xt(x,y),Yt(x,y))の階調値に基づいて表示画像の座標(x,y)に描画するから、3次元モデルのレンダリング済み画像をテクスチャーを自由に差し替えて再生することができると共にリアルタイムで3次元モデルをレンダリングして表示するものに比して処理負担を少なくすることができる。このとき、描画処理部24が描画処理を行なっている最中でもバックグラウンドで各フレームのレンダリング済み画像を順次ロードしておくから、表示部21の表示周期に描画が間に合わずにフレーム落ちが発生するのを抑制することができる。また、ゲインGc,t(x,y)やバイアスBc,t(x,y)を用いてテクスチャーの階調値を変換して表示画像の階調値を設定するから、3次元モデルをレンダリングしたときの屈折光や鏡面反射,影などの影響も反映させることができる。さらに、座標の対応関係を特定するための特殊テクスチャーとして交番2進数に対応する縦縞模様のパターンと横縞模様のパターンとを形成するから、隣接する座標に移行する際には常に1ビットの変化となり、画像の階調値の誤差に起因して誤ったデータが取得されてしまうのを抑制することができる。
【0043】
本実施形態では、座標(x,y)を2進数表現したときの各ビットの値に対応するx座標用の縦縞模様のパターンとy座標用の横縞模様のパターンとをテクスチャーとして用いて3次元モデルに貼り付けてレンダリングすると共にレンダリング結果を解析することにより画像描画情報を生成するものとしたが、用いるパターンはこれに限られず、x座標方向(横方向)に濃淡(階調値)が徐々に変化するパターンとy座標方向(縦方向)に濃淡が徐々に変換するパターンとを用いるものとしてもよい。この場合、前述した式(3)により得られるセット番号(n+2)〜(n+b+1)の縦縞模様のパターンに代えて次式(13)により得られるセット番号(n+2)の1つのパターンを用いると共に式(4)により得られるセット番号(n+b+2)〜(n+2b+1)の横縞模様のパターンに代えて次式(13)により得られるセット番号(n+3)の1つのパターンを用いるものとすればよい。
【0044】
【数10】
【0045】
式(12)のパターンと式(13)のパターンとを用いる場合、座標の対応関係の設定は、次式(15)により求めることができる。図9に特殊テクスチャーの一例を示し、図10に図9の特殊テクスチャーを3次元モデルに貼り付けてレンダリングする様子を示す。これにより、生成すべき特殊テクスチャーの数を減らすことができる。
【0046】
【数11】
【0047】
本実施形態では、対象セット番号iが値(n+2)〜値(n+b+1)の縦縞模様パターンの特殊テクスチャーを座標を交番2進数表現したときに各ビットの値に対応するものとすると共に対象セット番号iが値(n+b+2)〜値(n+2b+1)の横縞模様パターンの特殊テクスチャーを座標を交番2進数表現したときの各ビットの値に対応するものとしたが、これらのパターンを、座標を一般の2進数表現したときに各ビットの値に対応するものとして生成するものとしてもよい。この場合の特殊テクスチャーの一例を図11に示す。
【0048】
本実施形態では、ビューワー20により画像を再生するものとしたが、画像を再生できる機器であれば、液晶画面付きの携帯電話やプリンターなど如何なる機器を用いるものとしても構わない。
【0049】
なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【符号の説明】
【0050】
20 ビューワー、21 表示部、22 メモリーカードインターフェース(I/F)、24 描画処理部、26 描画バッファー、28 LCDインターフェース(I/F)、30 UI入力部、32 記憶部、34 ロード処理部、36 データ格納領域、38 制御部、40 コンピューター、41 記憶部、42 特殊テクスチャー生成処理部、44 レンダリング処理部、46 レンダリング済み画像解析処理部、MC メモリーカード。
【技術分野】
【0001】
本発明は、画像をフレーム単位で描画することにより動画像を表示する動画像表示装置に関する。
【背景技術】
【0002】
従来、この種の動画像表示装置としては、リアルタイムで3次元モデルをレンダリングしてディスプレイに表示するものや(例えば、特許文献1参照)、3次元モデルを予めレンダリングしてビットマップ画像を作成して保存しておきディスプレイの表示はビットマップ画像を読み込んで行なうものなどが提案されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平07−152925号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
前者の手法では、画面の表示周期よりも短い周期でレンダリング処理を行なう必要があるため、高い演算能力が要求される。したがって、用いるコンピューターによっては、演算能力に不足が生じ、レイトレーシングなどの高品質のレンダリングは行なうことができない。一方、後者の手法では、ビットマップ画像を表示するだけであるから、予め高品質のレンダリングを行なってビットマップ画像を作成しておくことにより、高品質の画像を表示することができるものの、現状では後から異なるテクスチャーに差し替えて使用することはできない。また、フレーム単位でビットマップ画像を描画して動画像を表示する場合には、表示周期よりも早く画像を読み込んで展開しなければフレーム落ちが生じてしまう。
【0005】
本発明の動画像表示装置は、処理負担が少なく、高品質の3次元モデルのレンダリング画像による動画をスムーズに表示することを主目的とする。
【0006】
本発明の動画像表示装置は、上述の主目的を達成するために以下の手段を採った。
【課題を解決するための手段】
【0007】
本発明の動画像表示装置は、
画像をフレーム単位で描画することにより動画像を表示する動画像表示装置であって、
座標毎に階調値が異なる所定パターンをテクスチャーとして3次元モデルに貼り付けてレンダリングすることによりフレーム毎のビットマップ画像として得られたレンダリング済み画像を記憶すると共に該レンダリング済み画像を解析することにより得られる該レンダリング済み画像の座標と前記所定パターンの座標との対応関係を記憶する記憶手段と、
動画像の表示が指示されたときには、前記記憶手段から各フレームのレンダリング済み画像を所定量まで順次読み込む画像読込手段と、
前記記憶された対応関係に基づいてフレーム単位で順次前記読み込まれたレンダリング済み画像中に所望のテクスチャを合成して描画する描画手段と、
を備えることを要旨とする。
【0008】
この本発明の動画像表示装置では、動画像の表示が指示されたときには、フレーム毎のレンダリング済み画像とこのレンダリング済み画像の座標と所定パターンの座標との対応関係とを記憶する記憶手段から各フレームのレンダリング済み画像を所定量まで順次読み込み、記憶された対応関係に基づいてフレーム単位で順次読み込まれたレンダリング済み画像中に所望のテクスチャを合成して描画する。したがって、3次元モデルをレンダリングした画像を所望のテクスチャーを差し替えて表示することができると共にリアルタイムで3次元モデルをレンダリングして動画像として表示するものに比して処理負担を少なくすることができる。また、動画像の表示が指示されたときには、描画手段の処理でレンダリング済み画像が必要とされるタイミングに先だって記憶手段に記憶されている各フレームのレンダリング済み画像を所定量まで順次読み込んでおくから、比較的処理能力の低い装置であっても、描画の度に対応するフレームのレンダリング済み画像を読み込むものに比して、フレーム落ちをより確実に防止することができる。
【0009】
こうした本発明の動画像表示装置において、前記対応関係は、前記レンダリング済み画像の各座標の階調値から対応する前記所定パターンの座標を特定することにより導出される関係であるものとすることもできる。
【0010】
また、本発明の動画像表示装置において、前記所定パターンは、座標を2進数で表現したときにビット数に応じた複数のパターンに、それぞれ座標毎に対応するビットの値に応じた階調値が設定されてなるパターンであるものとすることもできる。こうすれば、対応関係をより正確に設定することができる。この場合、前記2進数は、グレイコード(交番2進数)であるものとすることもできる。こうすれば、隣接する座標に移行する際に常に1ビットの変化しか生じないから、画像の階調値の誤差に起因して誤ったデータが取得されてしまうのを抑制することができる。
【0011】
さらに、本発明の動画像表示装置において、前記所定パターンは、前記対応関係を設定するための対応関係設定用パターンに加えてさらに最小階調値でベタ塗りしてなる第1ベタ塗りパターンを含むパターンであり、前記記憶手段は、前記レンダリング済み画像における前記第1ベタ塗りパターンの階調値であるバイアス値を記憶する手段であり、前記描画手段は、前記記憶されたバイアス値に基づいて前記所望のテクスチャの階調値をオフセットすることにより前記レンダリング済み画像の階調値に変換して描画する手段であるものとすることもできる。こうすれば、3次元モデルのレンダリングによる効果のうち元のテクスチャーに依存しないものを反映させることができる。
【0012】
また、本発明の動画像表示装置において、前記所定パターンは、前記対応関係を設定するための対応関係設定用パターンに加えてさらに最小階調値でベタ塗りしてなる第1ベタ塗りパターンと最大階調値でベタ塗りしてなる第2ベタ塗りパターンとを含むパターンであり、前記記憶手段は、前記レンダリング済み画像における前記第2ベタ塗りパターンの階調値と前記第1ベタ塗りパターンの階調値との偏差であるゲインを記憶する手段であり、前記描画手段は、前記記憶されたゲインに基づいて前記所望のテクスチャーの階調値を前記レンダリング済み画像の階調値に変換して描画する手段であるものとすることもできる。こうすれば、3次元モデルのレンダリングによる効果のうち元のテクスチャーの階調値に影響を受けるものを反映させることができる。この態様の本発明の動画像表示装置において、前記所定パターンは、前記描画手段により前記レンダリング済み画像に複数の所望のテクスチャーを配置して表示する場合には、前記配置する所望のテクスチャーの数だけ設けられたセット群であって各セットが1つの前記第2ベタ塗りパターンと前記配置するテクスチャーの数から値1を減じた数の前記第1ベタ塗りパターンとからなると共に各セット毎に前記3次元モデルに前記第2ベタ塗りパターンを貼り付ける箇所が異なる第1のセット群と、前記配置する所望のテクスチャーの数と同数の前記第1ベタ塗りパターンからなる1つの第2のセットとがそれぞれセット毎に前記3次元モデルに貼り付けられてレンダリングされるパターンであり、前記ゲインは、前記第1のセット群を各セット毎にレンダリングすることにより得られる各レンダリング済み画像の階調値と前記第2のセットをレンダリングすることにより得られるレンダリング済み画像の階調値とを前記第1のセット群の各セット毎に比較することにより、前記3次元モデルにテクスチャーが貼り付けられた領域であるテクスチャー領域を特定し、該特定したテクスチャー領域に対して算出されるものとすることもできる。こうすれば、テクスチャー領域をより容易に特定することができる。
【図面の簡単な説明】
【0013】
【図1】本発明の一実施形態としてのビューワー20の構成の概略を示す構成図。
【図2】コンピューター40の構成の概略を示す構成図。
【図3】特殊テクスチャー生成処理の一例を示すフローチャート。
【図4】特殊テクスチャーの一例を示す説明図。
【図5】セット毎に特殊テクスチャーをレンダリングする様子を示す説明図。
【図6】画像描画情報生成処理の一例を示すフローチャート。
【図7】バイアスBc,t(x,y)とゲインGc,t(x,y)を説明する説明図。
【図8】差し替え用テクスチャーの一例を示す説明図。
【図9】差し替え用テクスチャーのスライドショー表示の一例を示す説明図。
【図10】スライドショー表示処理の様子を説明する説明図である。
【図11】変形例の特殊テクスチャーを示す説明図。
【図12】変形例の特殊テクスチャーを用いてレンダリングする様子を示す説明図。
【図13】変形例の特殊テクスチャーを示す説明図。
【発明を実施するための形態】
【0014】
次に、本発明の実施の形態を図面を用いて説明する。図1は本発明の一実施形態としてのビューワー20の構成の概略を示す構成図であり、図2はビューワー20による動画像の表示に用いるデータを作成するコンピューター40の構成の概略を示す構成図である。
【0015】
コンピューター40は、本実施形態のビューワー20により3次元レンダリング画像をフレーム単位で動画像として表示するために必要なデータを作成するものであり、図2に示すように、中央演算処理装置としてのCPUや処理プログラムを記憶するROM、データを一時的に記憶するRAM、グラフィックプロセッサー(GPU)、ハードディスク(HDD)、表示部21などからなる汎用のコンピューターとして構成されており、その機能ブロックとしては、3次元モデリングデータ(以下、3Dモデルという)やこれに貼り付けるテクスチャーデータ(以下、テクスチャーという)などを記憶する記憶部41と、3次元モデルに貼り付ける前処理用の特殊なテクスチャーを生成する特殊テクスチャー生成処理部42と、3次元モデルをレンダリングしてビットマップ画像を生成するレンダリング処理部44と、レンダリングにより得られたビットマップ画像としてのレンダリング済み画像を解析するレンダリング済み画像解析処理部46と、を備える。
【0016】
特殊テクスチャー生成処理部42は、レンダリング処理部44でレンダリングされる3Dモデルに貼り付ける所定パターンのテクスチャーを生成する処理部であり、具体的には、所定パターンとして、値0.0〜1.0の階調値範囲内で階調値が値1.0の白ベタのパターンや、階調値が値0.0の黒ベタのパターン,値0.0と値1.0の階調値が横方向に交互に現われる縦縞模様のパターン,値0.0と値1.0の階調値が縦方向に交互に現われる横縞模様のパターンを生成する。なお、これらの各パターンがもつ役割については後述する。
【0017】
レンダリング処理部44は、3Dレンダリング用のソフトウエアがコンピューター40にインストールされることにより機能する処理部であり、3Dモデルに特殊テクスチャー生成処理部42で生成されたテクスチャーを貼り付けてレンダリングすることにより所定のフレームレート(例えば、1秒間に20回や30回など)でフレーム単位にビットマップ画像を再生して動画を表示する。本実施形態では、光源からの光をたどりながらオブジェクト面の反射や光の屈折などを計算してレンダリングするレイトレーシング法を用いてレンダリング処理を行なうものとした。
【0018】
レンダリング済み画像解析処理部46は、レンダリング処理部44により生成されたビットマップ画像(レンダリング済み画像)を解析することにより、所定パターンのテクスチャーに代えて写真などの所望の画像データを配置してレンダリング済み画像をビューワー20側で表示できるようにするための画像描画情報を生成する。
【0019】
本実施形態のビューワー20は、図1に示すように、液晶ディスプレイとしての表示部21と、メモリーカードMCに記憶されている写真などの画像データの入力を司るメモリーカードインターフェース(I/F)22と、ユーザーにより操作される操作系からの信号を入力するUI入力部30と、コンピューター40により生成されたレンダリング済み画像や画像描画情報を記憶する記憶部32と、記憶部32に記憶されたレンダリング済み画像をロードすると共に展開してRAMのデータ格納領域36に格納するロード処理部34と、メモリーカードMCに記憶されている画像データを展開して描画バッファー26に描画したりデータ格納領域36に格納されたレンダリング済み画像にメモリーカードMCに記憶されている画像データを合成して描画バッファー26に描画したりする描画処理部24と、描画バッファー26に描画された画像データの表示部21への転送を司るLCDインタフェース(I/F)28と、装置全体をコントロールする制御部38とを備える。このビューワー20は、ユーザーからの指示によりメモリーカードMCに記憶されている複数の画像データを順次読み込むと共に読み込んだ画像データを画像描画情報を用いて3Dモデルのレンダリング済み画像に貼り付けてフレーム単位で順次再生を行なうことにより動画像として表示(スライドショー表示)することができる。
【0020】
次に、こうして構成された本実施形態のビューワー20とコンピューター40の動作について説明する。まず、コンピューター40側の動作について説明する。図3は、コンピューター40の特殊テクスチャー生成処理部42により実行される特殊テクスチャー生成処理の一例を示すフローチャートである。
【0021】
特殊テクスチャー生成処理では、まず、対象セット番号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)の階調値を示す(以下、同じ)。
【0022】
【数1】
【0023】
対象セット番号iが値1〜値nの特殊テクスチャーを生成すると、次に、対象セット番号iが値(n+1)の色成分毎のn個の特殊テクスチャーを生成し(ステップS140)、対象セット番号iを値1だけインクリメントする(ステップS150)。ここで、対象セット番号iが値(n+1)の特殊テクスチャーの生成は、次式(2)に示すように、1番からn番までのすべての対象テクスチャー番号jに対して全座標(x,y)に値0.0の階調値を設定することにより黒ベタの特殊テクスチャーを生成することにより行なわれる。
【0024】
【数2】
【0025】
対象セット番号iが値(n+1)の特殊テクスチャーを生成すると、次に、対象セット番号iに対してテクスチャーの座標を交番2進数(グレイコード)表現としたときの第{i−(n+2)]ビットに対応する縦縞模様の色成分毎のn個の特殊テクスチャーを次式(3)により生成して(ステップS160)、対象セット番号iを値1だけインクリメントし(ステップS170)、対象セット番号iと値(n+b+1)とを比較し(ステップS180)、対象セット番号iが値(n+b+1)以下のときにはステップS160に戻って次の対象セット番号iに対してn個の特殊テクスチャーを生成する処理を繰り返し、対象セット番号iが値(n+b+1)を超えたときには次の処理に進む。ここで、式(3)中の「gray(a)」は数値aのグレイコード(交番2進数符号)表現であり、「and(a,b)」はaとbのビット毎の論理積を示す(以下、同じ)。(n+2)番から(n+b+1)番までの対象セット番号iは、それぞれテクスチャーの座標を2進数で表現したときに第0ビット(最上位ビット)から第(b−1)ビット(最下位ビット)までの各ビットに対応しており、対象セット番号iに対応するビットの値が値1のときには値1.0(白)の階調値を設定し、対応するビットの値が値0のときには値0.0(黒)の階調値を設定することにより縦縞模様の特殊テクスチャーが生成される。本実施形態では、テクスチャーの座標を交番2進数で表現しており、例えば、テクスチャー数nが値3で座標が値1〜8の3ビット(b=3)とすると、対象セット番号iが第0ビット(最上位ビット)を示す値5の特殊テクスチャーとしてはx座標が値1〜4については黒の階調値が設定され値5〜8については白の階調値が設定され、対象セット番号iが第1ビットを示す値6の特殊テクスチャーとしてはx座標が値1,2については黒の階調値が設定され3〜6については白の階調値が設定され値7,8については黒の階調値が設定され、対象セット番号iが第2ビット(最下位ビット)を示す値7の特殊テクスチャーとしてはx座標が値1については黒の階調値が設定され値2,3については白の階調値が設定され値4,5については黒の階調値が設定され値6,7については白の階調値が設定され値8については黒の階調値が設定されることになる。
【0026】
【数3】
【0027】
対象セット番号iが値(n+2)〜値(n+b+1)の特殊テクスチャーを生成すると、次に、対象セット番号iに対してテクスチャーのy座標を交番2進数表現としたときの第{i−(n+b+2)]ビットに対応する横縞模様の色成分毎のn個の特殊テクスチャーを次式(4)により生成して(ステップS185)、対象セット番号iを値1だけインクリメントし(ステップS190)、対象セット番号iと値(n+2b+1)とを比較し(ステップS195)、対象セット番号iが値(n+2b+1)以下のときにはステップS185に戻って次の対象セット番号iに対してn個の特殊テクスチャーを生成する処理を繰り返し、対象セット番号iが値(n+2b+1)を超えたときには、全ての特殊テクスチャーの生成が完了したとして、本ルーチンを終了する。(n+b+2)番から(n+2b+1)番までの対象セット番号iは、それぞれテクスチャーの座標を2進数で表現したときに第0ビット(最上位ビット)から第(b−1)ビット(最下位ビット)までの各ビットに対応しており、対象セット番号iに対応するビットの値が値1のときには値1.0(白)の階調値を設定し、対応するビットの値が値0のときには値0.0(黒)の階調値を設定することにより横縞模様の特殊テクスチャーが生成される。本実施形態では、テクスチャーの座標をグレイコードで表現しており、例えば、テクスチャー数nが値3でy座標が値1〜8の3ビット(b=3)とすると、対象セット番号iが第0ビット(最上位ビット)を示す値8の特殊テクスチャーとしてはy座標が値1〜4については黒の階調値が設定され値5〜8については白の階調値が設定され、対象セット番号iが第1ビットを示す値9の特殊テクスチャーとしてはy座標が値1,2については黒の階調値が設定され値3〜6については白の階調値が設定され値7,8については黒の階調値が設定され、対象セット番号iが第2ビット(最下位ビット)を示す値10の特殊テクスチャーとしてはy座標が値1については黒の階調値が設定され値2,3については白の階調値が設定され値4,5については黒の階調値が設定され値6,7については白の階調値が設定され値8については黒の階調値が設定されることになる。図4に、テクスチャー数nが値3で座標のビット数bが値3のときに生成される特殊テクスチャーの一覧を示す。
【0028】
【数4】
【0029】
レンダリング処理部44は、セット毎に、対応するn個の特殊テクスチャーを3次元モデルに貼り付けてレンダリング処理を行なう。図5にレンダリング処理の様子を示す。本実施形態では、3次元モデルを動画としてレンダリングし、テクスチャー数nが値3でビット数bが値3としたから、合計10セット分のレンダリング処理が行なわれて10セット分の動画が生成されることになる。この動画は、フレーム1〜T(例えば、Tは200)までの各フレーム毎に生成されたビットマップ画像(レンダリング済み画像)により構成される。
【0030】
次に、レンダリング処理部44により生成されたレンダリング済み画像を解析する処理について説明する。図6は、レンダリング済み画像解析処理部46により実行されるレンダリング済み画像解析処理の一例を示すフローチャートである。
【0031】
レンダリング済み画像解析処理では、まず、次式(5)に示すように各フレーム番号t(=1〜T)におけるレンダリング済み画像の座標(x,y)の変数It(x,y)を値0に初期化し(ステップS200)、対象フレームtにおけるセット番号1〜nのレンダリング済み画像中の白ベタ領域(座標)を特定して、この白ベタ領域の変数It(x,y)に対応するテクスチャー番号(=対象セット番号i)を設定する(ステップS210)。この処理は、次式(6)に示すように、対象セット番号iを1番からn番まで順次シフトしながら対象セット番号iのレンダリング済み画像の階調値(各色成分毎の階調値の総和)とセット番号(n+1)のレンダリング済み画像の階調値(各色成分毎の階調値の総和)とを比較することにより行なうことができる。ここで、式(5)中の「w」はレンダリング済み画像の幅方向のサイズを示し、「h」はレンダリング済み画像の高さ方向のサイズを示す。また、式(6)中の「Ac,i,t(x,y)」は色成分c,セット番号i(1〜n),フレーム番号tにおけるレンダリング済み画像の座標(x,y)の階調値を示す(以下、同じ)。
【0032】
【数5】
【0033】
続いて、次式(7)によりセット番号(n+1)のレンダリング済み画像の階調値をバイアスBc,t(x,y)として設定すると共に(ステップS220)、変数It(x,y)が値0でないレンダリング済み画像の座標(x,y)、即ち白ベタ領域について次式(8)によりゲインGc,t(x,y)を計算する(ステップS230)。ここで、式(8)中の「Ac,It(x,y),t(x,y)」は色成分c,変数It(x,y)に格納されたセット番号i,フレーム番号tにおけるレンダリング済み画像の座標(x,y)の階調値を示す。図7に、バイアスBc,t(x,y)とゲインGc,t(x,y)との関係を示す。3Dモデルにテクスチャーを貼り付けてレンダリングする場合、図示するように、元のテクスチャーの階調値に依存しないオフセット分がバイアスBc,t(x,y)に相当し、元のテクスチャーの階調値の変化に対するレンダリング済み画像の階調値の変化の傾きがゲインGc,t(x,y)に相当する。
【0034】
【数6】
【0035】
そして、次式(9)によりテクスチャーのグレイコード表現の座標(X't(x,y),Y't(x,y))を値0に初期化し(ステップS240)、セット番号(n+2)〜(n+2b+1)のレンダリング済み画像の座標(x,y)とテクスチャーの座標(X't(x,y),Y't(x,y))との対応関係を設定する(ステップS250)。ここで、座標の対応関係は、次式(10)により行なわれ、具体的には、セット番号iを1番からn番まで順次シフトしながらセット番号(i+n+1)のレンダリング済み画像の階調値Ac,i+n+1,t(x,y)からバイアスBc,t(x,y)を減じたもの(各色成分毎の総和)がセット番号iのレンダリング済み画像のゲインGc,t(x,y)を値2で割ったもの(各色成分毎の総和)よりも大きいか否か即ちセット番号(i+n+1)における白と黒の縦縞模様のパターンのうち座標(x,y)が白か否かを判定し白のときには交番2進数表現の座標X't(x,y)の対応する第(i−1)ビットの値に値1を設定し、セット番号iを1番からn番まで順次シフトしながらセット番号(i+b+n+1)のレンダリング済み画像の階調値Ac,i+b+n+1,i(x,y)からバイアスBc,t(x,y)を減じたもの(各色成分毎の総和)がセット番号iのレンダリング済み画像のゲインGc,t(x,y)を値2で割ったもの(各色成分毎の総和)よりも大きいか否か即ちセット番号(i+b+n+1)における白と黒の横縞模様のパターンのうち座標(x,y)が白か否かを判定し白のときには座標Y't(x,y)の対応する第(i−1)ビットの値を値1に設定することにより行なわれる。ここで、式(10)中の「or(a,b)」はaとbのビット毎の論理和を示す。
【0036】
【数7】
【0037】
座標の対応関係を設定すると、グレイコード表現のテクスチャーの座標(X't(x,y),Y't(x,y))を次式(11)を用いて復号化して復号化後座標(Xt(x,y),Yt(x,y))を算出し(ステップS260)、これまでの設定あるいは算出結果を画像描画情報として記憶部32に保存し(ステップS270)、値1〜Tまでの全フレームについて処理が完了したか否かを判定し(ステップS280)、全フレームについて処理が完了していないときには次のフレームを対象フレームtに設定してステップS210に戻って処理を繰り返し、全フレームについて処理が完了したときに本処理を終了する。ここで、式(11)中の「gray-1(a)」はグレイコードaを復号化した値を示し、「Xt(x,y)」はフレーム番号tのレンダリング済み画像の座標(x,y)に対応するテクスチャーのx座標を示し、「Yt(x,y)」はフレーム番号tのレンダリング済み画像の座標(x,y)に対応するテクスチャーのy座標を示す。なお、本実施形態では、座標(X't(x,y),Y't(x,y))の原点を(1,1)としているから、グレイコードを復号化した値に値1を加算している。画像描画情報としては、変数It(x,y)とバイアスBc,t(x,y)とゲインGc,t(x,y)と座標(Xt(c,y),Yt(x,y))とが含まれる。
【0038】
【数8】
【0039】
次に、本実施形態のビューワー20の動作について説明する。本実施形態のビューワー20は、記憶部32にはコンピューター40のレンダリング処理部44により生成されたレンダリング済み画像(ビットマップ画像の圧縮データ)とレンダリング済み画像解析処理部46により生成された画像描画情報とが記憶されており、記憶部32からレンダリング済み画像を読み込むと共にメモリーカードMCに記憶されている写真などの複数の画像データを差し替え用テクスチャーとして読み込み、次式(12)を用いてレンダリング済み画像に合成して順次描画することにより、テクスチャーを差し替えながら3次元モデルのレンダリング済み画像を動画像として表示するスライドショー再生を行なうことができる。ここで、式(12)中の「Uc,i(x,y)」は色成分c,テクスチャー番号iにおける差し替え用テクスチャーの座標(x,y)の階調値(0.0〜1.0)を示し、「Pc,t(x,y)」は色成分c,フレーム番号tにおける表示画像(レンダリング済み画像)の座標(x,y)の階調値(0.0〜1.0)を示す。式(12)に示すように、表示画像の階調値Pc,t(x,y)の設定は、変数It(x,y)が値0でないテクスチャー配置領域に対しては表示画像の座標(x,y)に対応する差し替え用テクスチャーの座標(Xt(x,y),Yt(x,y))の階調値にゲインGc,t(x,y)を乗じてバイアスBc,t(x,y)を加えたものを設定し、変数It(x,y)が値0であるテクスチャー配置領域以外の領域に対してはバイアスBc,t(x,y)を設定することにより行なわれる。図8にテクスチャー番号が1〜3の3つの差し替え用テクスチャーを示し、図9にレンダリング済み画像に図8の差し替え用テクスチャーを配置して描画する様子を示す。
【0040】
【数9】
【0041】
図10は、表示処理の一例を示す説明図である。ユーザーによりUI入力部30を介してスライドショー表示が指示されると、制御部38は描画処理部24を介してロード処理部34に対してロード開始要求を出力し、ロード開始要求を受けたロード処理部34は、動画を構成する各フレームのレンダリング済み画像を順次ロードすると共に展開してデータ格納領域36に格納する。本実施形態では、動画を構成する200フレームに対してデータ格納領域36に20〜30フレーム分程度のレンダリング済み画像を格納できるようその領域を確保するものとした。描画処理部24は、表示周期に合わせてフレーム単位でデータ格納領域36に格納されているフレーム毎のレンダリング済み画像を取得すると共に上述した処理によりテクスチャーと合成して描画バッファー26上に描画することにより動画として表示する。ロード処理部34は、描画処理部24による描画処理の最中であってもバックグラウンドでデータ格納領域36に格納できるだけロードするから、表示部21の表示周期に描画が間に合わずにフレーム落ちが発生するのを抑制することができる。
【0042】
以上説明した実施例の動画像表示装置によれば、コンピューター40側では、座標(x,y)を2進数表現したときの各ビットの値に対応するx座標用の縦縞模様のパターンとy座標用の横縞模様のパターンとをテクスチャーとして3次元モデルに貼り付けてレンダリングし、レンダリングによりビットマップ画像として得られたレンダリング済み画像を解析することによりレンダリング済み画像の座標(x,y)とテクスチャーの座標(Xt(x,y),Yt(x,y))との対応関係を設定して画像描画情報として保存し、ビューワー20側でレンダリング済み画像を用いて画像を表示するときには、予め記憶した画像描画情報によりテクスチャーの座標(Xt(x,y),Yt(x,y))の階調値に基づいて表示画像の座標(x,y)に描画するから、3次元モデルのレンダリング済み画像をテクスチャーを自由に差し替えて再生することができると共にリアルタイムで3次元モデルをレンダリングして表示するものに比して処理負担を少なくすることができる。このとき、描画処理部24が描画処理を行なっている最中でもバックグラウンドで各フレームのレンダリング済み画像を順次ロードしておくから、表示部21の表示周期に描画が間に合わずにフレーム落ちが発生するのを抑制することができる。また、ゲインGc,t(x,y)やバイアスBc,t(x,y)を用いてテクスチャーの階調値を変換して表示画像の階調値を設定するから、3次元モデルをレンダリングしたときの屈折光や鏡面反射,影などの影響も反映させることができる。さらに、座標の対応関係を特定するための特殊テクスチャーとして交番2進数に対応する縦縞模様のパターンと横縞模様のパターンとを形成するから、隣接する座標に移行する際には常に1ビットの変化となり、画像の階調値の誤差に起因して誤ったデータが取得されてしまうのを抑制することができる。
【0043】
本実施形態では、座標(x,y)を2進数表現したときの各ビットの値に対応するx座標用の縦縞模様のパターンとy座標用の横縞模様のパターンとをテクスチャーとして用いて3次元モデルに貼り付けてレンダリングすると共にレンダリング結果を解析することにより画像描画情報を生成するものとしたが、用いるパターンはこれに限られず、x座標方向(横方向)に濃淡(階調値)が徐々に変化するパターンとy座標方向(縦方向)に濃淡が徐々に変換するパターンとを用いるものとしてもよい。この場合、前述した式(3)により得られるセット番号(n+2)〜(n+b+1)の縦縞模様のパターンに代えて次式(13)により得られるセット番号(n+2)の1つのパターンを用いると共に式(4)により得られるセット番号(n+b+2)〜(n+2b+1)の横縞模様のパターンに代えて次式(13)により得られるセット番号(n+3)の1つのパターンを用いるものとすればよい。
【0044】
【数10】
【0045】
式(12)のパターンと式(13)のパターンとを用いる場合、座標の対応関係の設定は、次式(15)により求めることができる。図9に特殊テクスチャーの一例を示し、図10に図9の特殊テクスチャーを3次元モデルに貼り付けてレンダリングする様子を示す。これにより、生成すべき特殊テクスチャーの数を減らすことができる。
【0046】
【数11】
【0047】
本実施形態では、対象セット番号iが値(n+2)〜値(n+b+1)の縦縞模様パターンの特殊テクスチャーを座標を交番2進数表現したときに各ビットの値に対応するものとすると共に対象セット番号iが値(n+b+2)〜値(n+2b+1)の横縞模様パターンの特殊テクスチャーを座標を交番2進数表現したときの各ビットの値に対応するものとしたが、これらのパターンを、座標を一般の2進数表現したときに各ビットの値に対応するものとして生成するものとしてもよい。この場合の特殊テクスチャーの一例を図11に示す。
【0048】
本実施形態では、ビューワー20により画像を再生するものとしたが、画像を再生できる機器であれば、液晶画面付きの携帯電話やプリンターなど如何なる機器を用いるものとしても構わない。
【0049】
なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【符号の説明】
【0050】
20 ビューワー、21 表示部、22 メモリーカードインターフェース(I/F)、24 描画処理部、26 描画バッファー、28 LCDインターフェース(I/F)、30 UI入力部、32 記憶部、34 ロード処理部、36 データ格納領域、38 制御部、40 コンピューター、41 記憶部、42 特殊テクスチャー生成処理部、44 レンダリング処理部、46 レンダリング済み画像解析処理部、MC メモリーカード。
【特許請求の範囲】
【請求項1】
画像をフレーム単位で描画することにより動画像を表示する動画像表示装置であって、
座標毎に階調値が異なる所定パターンをテクスチャーとして3次元モデルに貼り付けてレンダリングすることによりフレーム毎のビットマップ画像として得られたレンダリング済み画像を記憶すると共に該レンダリング済み画像を解析することにより得られる該レンダリング済み画像の座標と前記所定パターンの座標との対応関係を記憶する記憶手段と、
動画像の表示が指示されたときには、前記記憶手段から各フレームのレンダリング済み画像を所定量まで順次読み込む画像読込手段と、
前記記憶された対応関係に基づいてフレーム単位で順次前記読み込まれたレンダリング済み画像中に所望のテクスチャーを合成して描画する描画手段と、
を備える動画像表示装置。
【請求項2】
前記対応関係は、前記レンダリング済み画像の各座標の階調値から対応する前記所定パターンの座標を特定することにより導出される関係である請求項1記載の動画像表示装置。
【請求項3】
前記所定パターンは、座標を2進数で表現したときにビット数に応じた複数のパターンに、それぞれ座標毎に対応するビットの値に応じた階調値が設定されてなるパターンである請求項1または2記載の動画像表示装置。
【請求項4】
前記2進数は、グレイコード(交番2進数)である請求項3記載の動画像表示装置。
【請求項5】
請求項1ないし4いずれか1項に記載の動画像表示装置であって、
前記所定パターンは、前記対応関係を設定するための対応関係設定用パターンに加えてさらに最小階調値でベタ塗りしてなる第1ベタ塗りパターンを含むパターンであり、
前記記憶手段は、前記レンダリング済み画像における前記第1ベタ塗りパターンの階調値であるバイアス値を記憶する手段であり、
前記描画手段は、前記記憶されたバイアス値に基づいて前記所望のテクスチャーの階調値をオフセットすることにより前記レンダリング済み画像の階調値に変換して描画する手段である
動画像表示装置。
【請求項6】
請求項1ないし5いずれか1項に記載の動画像表示装置であって、
前記所定パターンは、前記対応関係を設定するための対応関係設定用パターンに加えてさらに最小階調値でベタ塗りしてなる第1ベタ塗りパターンと最大階調値でベタ塗りしてなる第2ベタ塗りパターンとを含むパターンであり、
前記記憶手段は、前記レンダリング済み画像における前記第2ベタ塗りパターンの階調値と前記第1ベタ塗りパターンの階調値との偏差であるゲインを記憶する手段であり、
前記描画手段は、前記記憶されたゲインに基づいて前記所望のテクスチャーの階調値を前記レンダリング済み画像の階調値に変換して描画する手段である
動画像表示装置。
【請求項7】
請求項6記載の動画像表示装置であって、
前記所定パターンは、前記描画手段により前記レンダリング済み画像に複数の所望のテクスチャーを配置して表示する場合には、前記配置する所望のテクスチャーの数だけ設けられたセット群であって各セットが1つの前記第2ベタ塗りパターンと前記配置するテクスチャーの数から値1を減じた数の前記第1ベタ塗りパターンとからなると共に各セット毎に前記3次元モデルに前記第2ベタ塗りパターンを貼り付ける箇所が異なる第1のセット群と、前記配置する所望のテクスチャーの数と同数の前記第1ベタ塗りパターンからなる1つの第2のセットとがそれぞれセット毎に前記3次元モデルに貼り付けられてレンダリングされるパターンであり、
前記ゲインは、前記第1のセット群を各セット毎にレンダリングすることにより得られる各レンダリング済み画像の階調値と前記第2のセットをレンダリングすることにより得られるレンダリング済み画像の階調値とを前記第1のセット群の各セット毎に比較することにより、前記3次元モデルにテクスチャーが貼り付けられた領域であるテクスチャー領域を特定し、該特定したテクスチャー領域に対して算出される
動画像表示装置。
【請求項1】
画像をフレーム単位で描画することにより動画像を表示する動画像表示装置であって、
座標毎に階調値が異なる所定パターンをテクスチャーとして3次元モデルに貼り付けてレンダリングすることによりフレーム毎のビットマップ画像として得られたレンダリング済み画像を記憶すると共に該レンダリング済み画像を解析することにより得られる該レンダリング済み画像の座標と前記所定パターンの座標との対応関係を記憶する記憶手段と、
動画像の表示が指示されたときには、前記記憶手段から各フレームのレンダリング済み画像を所定量まで順次読み込む画像読込手段と、
前記記憶された対応関係に基づいてフレーム単位で順次前記読み込まれたレンダリング済み画像中に所望のテクスチャーを合成して描画する描画手段と、
を備える動画像表示装置。
【請求項2】
前記対応関係は、前記レンダリング済み画像の各座標の階調値から対応する前記所定パターンの座標を特定することにより導出される関係である請求項1記載の動画像表示装置。
【請求項3】
前記所定パターンは、座標を2進数で表現したときにビット数に応じた複数のパターンに、それぞれ座標毎に対応するビットの値に応じた階調値が設定されてなるパターンである請求項1または2記載の動画像表示装置。
【請求項4】
前記2進数は、グレイコード(交番2進数)である請求項3記載の動画像表示装置。
【請求項5】
請求項1ないし4いずれか1項に記載の動画像表示装置であって、
前記所定パターンは、前記対応関係を設定するための対応関係設定用パターンに加えてさらに最小階調値でベタ塗りしてなる第1ベタ塗りパターンを含むパターンであり、
前記記憶手段は、前記レンダリング済み画像における前記第1ベタ塗りパターンの階調値であるバイアス値を記憶する手段であり、
前記描画手段は、前記記憶されたバイアス値に基づいて前記所望のテクスチャーの階調値をオフセットすることにより前記レンダリング済み画像の階調値に変換して描画する手段である
動画像表示装置。
【請求項6】
請求項1ないし5いずれか1項に記載の動画像表示装置であって、
前記所定パターンは、前記対応関係を設定するための対応関係設定用パターンに加えてさらに最小階調値でベタ塗りしてなる第1ベタ塗りパターンと最大階調値でベタ塗りしてなる第2ベタ塗りパターンとを含むパターンであり、
前記記憶手段は、前記レンダリング済み画像における前記第2ベタ塗りパターンの階調値と前記第1ベタ塗りパターンの階調値との偏差であるゲインを記憶する手段であり、
前記描画手段は、前記記憶されたゲインに基づいて前記所望のテクスチャーの階調値を前記レンダリング済み画像の階調値に変換して描画する手段である
動画像表示装置。
【請求項7】
請求項6記載の動画像表示装置であって、
前記所定パターンは、前記描画手段により前記レンダリング済み画像に複数の所望のテクスチャーを配置して表示する場合には、前記配置する所望のテクスチャーの数だけ設けられたセット群であって各セットが1つの前記第2ベタ塗りパターンと前記配置するテクスチャーの数から値1を減じた数の前記第1ベタ塗りパターンとからなると共に各セット毎に前記3次元モデルに前記第2ベタ塗りパターンを貼り付ける箇所が異なる第1のセット群と、前記配置する所望のテクスチャーの数と同数の前記第1ベタ塗りパターンからなる1つの第2のセットとがそれぞれセット毎に前記3次元モデルに貼り付けられてレンダリングされるパターンであり、
前記ゲインは、前記第1のセット群を各セット毎にレンダリングすることにより得られる各レンダリング済み画像の階調値と前記第2のセットをレンダリングすることにより得られるレンダリング済み画像の階調値とを前記第1のセット群の各セット毎に比較することにより、前記3次元モデルにテクスチャーが貼り付けられた領域であるテクスチャー領域を特定し、該特定したテクスチャー領域に対して算出される
動画像表示装置。
【図1】
【図2】
【図3】
【図6】
【図7】
【図8】
【図9】
【図10】
【図4】
【図5】
【図11】
【図12】
【図13】
【図2】
【図3】
【図6】
【図7】
【図8】
【図9】
【図10】
【図4】
【図5】
【図11】
【図12】
【図13】
【公開番号】特開2010−257224(P2010−257224A)
【公開日】平成22年11月11日(2010.11.11)
【国際特許分類】
【出願番号】特願2009−106546(P2009−106546)
【出願日】平成21年4月24日(2009.4.24)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
【公開日】平成22年11月11日(2010.11.11)
【国際特許分類】
【出願日】平成21年4月24日(2009.4.24)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
[ Back to top ]