JP2004265330A - テクスチャデータのベクトル量子化のためのコードブック作成方法とテクスチャデータのベクトル量子化方法、テクスチャ描画方法及び装置 - Google Patents
テクスチャデータのベクトル量子化のためのコードブック作成方法とテクスチャデータのベクトル量子化方法、テクスチャ描画方法及び装置 Download PDFInfo
- Publication number
- JP2004265330A JP2004265330A JP2003057370A JP2003057370A JP2004265330A JP 2004265330 A JP2004265330 A JP 2004265330A JP 2003057370 A JP2003057370 A JP 2003057370A JP 2003057370 A JP2003057370 A JP 2003057370A JP 2004265330 A JP2004265330 A JP 2004265330A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- texture
- texture data
- codebook
- training
- 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.)
- Granted
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
【解決手段】被写体を複数の撮影条件の下で撮影して取得される高次元テクスチャデータから生成されるトレーニングベクトルを用いてコードブックを作成する方法であって、テクスチャデータの取得時に撮影条件を記録しておき(S101)、トレーニングベクトルが所属するクラスタを求め(S104)、トレーニングベクトルに対して撮影条件に応じて決定される重みにより重み付けを行って得られるベクトルの重心を該トレーニングベクトルが所属するクラスタの新たな代表ベクトルとして求め(S105)、この誤差に基づいて全クラスタの新たな代表ベクトルの総合誤差を評価し(S106)、この総合誤差の推移からコードブックの作成が収束したか否かを判断し(S107)、収束したと判断されるまでS104〜S106の処理を繰り返す。
【選択図】 図8
Description
【発明の属する技術分野】
本発明は、複数のテクスチャ画像を切り替えて高品位なCG画像を生成する高次元テクスチャマッピング技術に係り、特に被写体を複数の撮影条件の下で撮影することにより取得されるテクスチャデータをベクトル量子化するためのコードブックの作成方法とベクトル量子化方法並びにこれを用いたテクスチャ描画方法及び装置に関する。
【0002】
【従来の技術】
3次元CG(コンピュータグラフィクス)の分野では、高品位な描画を行うために、例えば三角形パッチで構成されるポリゴンモデルに代表されるような3次元モデルの表面に、実世界から取得したテクスチャ画像を貼り付けるテクスチャマッピングと呼ばれる手法が存在する。一方、光源や視点位置に応じた物体表面の陰影をポリゴン表面の塗りつぶしで表現する手法は、一般にシェーディングと呼ばれる。具体的には、ポリゴン内を一様に塗りつぶすフラットシェーディングや、ポリゴン内を頂点輝度値の線形補間で塗るグーローシェーディングなどが知られている。これらのシェーディングとテクスチャマッピングを組み合わせることで、物体モデルと視点や照明位置に応じた陰影の組み合わさったテクスチャマッピングを行うことが可能となっている。
【0003】
テクスチャマッピングで用いられるテクスチャは通常、特定の撮影条件(特定の照明条件及びカメラ位置)の下で被写体を撮影して得られる画像であり、貼り付ける対象である3次元モデルの形状や描画時の視点及び照明位置といった情報は考慮されていない。このため描画結果は陰影に変化のない単調なものとなり、実写との違いが大きくなってしまう原因にもなっている。シェーディングに関しても、基本的には頂点単位の光源計算で輝度を計算し、ポリゴン内部については線形に補間しているため、3次元物体が本来持っている細かな表面形状に対応した描画は行われていない。
【0004】
光源処理を頂点単位でなく、ピクセル単位で行う方法も存在する。フォーンシェーディングと呼ばれる手法は、ピクセル単位に物体表面の法線情報を再計算して光源処理を行うため、照明ハイライトなどの表現に有効である。しかし、法線の再計算はポリゴン頂点の法線情報をもとに線形補間を行って求めることが一般的であり、ポリゴン内部の微細な形状を表現しているわけではない。
【0005】
一方、3次元物体表面をメッシュで構成し、再帰的なポリゴン分割を行うことで物体表面の細かな形状を表現する手法として、Subdivision surfaceと呼ばれる手法が存在する(非特許文献1参照)。ポリゴンを細かく分割していくことで、頂点単位の光源計算をピクセル単位の光源処理に近づけることができる。但し、この手法では頂点数が膨大になり、3次元頂点の座標計算負荷が重くなる。
【0006】
以上のような手法を使えば、光源処理の問題は解決される。しかしながら、特定環境で被写体を撮像して得られるテクスチャ画像を3次元モデルの表面に一枚貼り付けているだけでは、実写画像のような視点及び照明位置に対応して変化する画像を生成することは不可能である。
【0007】
実写画像、すなわちカメラによって撮像した画像は、レンズを通して各ピクセルに入射してくる光の情報を取得したものと考えることができる。つまりテクスチャ画像は撮像時のカメラ位置、向き、時刻といったパラメータで規定できる光の集合とみなすことができる。このような光線情報を再利用することで高品位な画像を生成する技術が登場しており、これはイメージベースレンダリング技術と呼ばれている。
【0008】
イメージベースレンダリングの一手法として、被写体を異なる視点あるいは照明条件で撮像することによって予め取得した複数のテクスチャ画像をテクスチャデータとして用意しておき、3次元物体のレンダリング時には物体表面の法線や視点及び照明位置などの情報から、用意しておいたテクスチャデータを切り替えてマッピングを行う手法が知られている(非特許文献2参照)。
【0009】
高次元テクスチャデータは、一般に照明位置を固定して撮像位置を所定のサンプリング間隔でずらせてテクスチャ画像の撮像を繰り返したり、逆に照明位置を所定のサンプリング間隔でずらせてテクスチャ画像の撮像を繰り返すことによって取得される。ここで、被写体の形状が例えば正方形の場合、それを正面から撮影して得られるテクスチャ画像に対して、斜め方向から撮影したときに得られるテクスチャ画像は歪を生じる。テクスチャデータとして保存する際には、正面から取得したテクスチャ画像と斜め方向から取得したテクスチャ画像とで被写体の各頂点を対応させて、斜め方向から取得した画像に対して正面から取得した画像と同様に正方形の領域になるように画像変換を行うことによって、このような歪を補正できる。
【0010】
このような高次元テクスチャデータを考えられる複数の撮像環境に応じて多数取得して用意しておくことは、テクスチャデータを保存するために膨大な容量のテクスチャメモリを必要とする。従って、テクスチャデータを圧縮符号化してからテクスチャメモリに格納する必要がある。高次元テクスチャデータを圧縮する方法の一つとして、ベクトル量子化を利用する例が知られている(例えば、特許文献1参照)。特許文献1では、同一被写体を多視点から撮影して得られる高次元テクスチャデータをベクトル量子化によって符号化するために、高次元テクスチャデータを全てトレーニングシーケンスとしてコードブックを作成し、被写体毎に作成したコードブックでベクトル量子化を行う。すなわち、被写体毎にコードブックデータとインデックスデータを符号化データとして持つ。
【0011】
【特許文献1】
特開2000−349644
【非特許文献1】
“Subdivision surface”, D.Zorin, P.Schroder, and W Sweldens, Interpolating Subdivision For Meshes With Arbitrary Topology. Computer Graphics (SIGGRAPH 96 Conference Proceedings), 30:189−192, 1996.
【非特許文献2】
“Bidirectional Texture Function(BTF)”, K.J.Dana,B.van Ginneken, S.K.Nayar, and J.J.Koenderink. Reflectance and texture of real world surfaces. ACM Transaction on Graphics, 18(1):1−34, 1999.
【0012】
【発明が解決しようとする課題】
ベクトル量子化では、トレーニングシーケンスが符号化対象の一般的な信号分布を代表していることを想定した量子化代表点の割り当てを行うため、高次元テクスチャデータに対してベクトル量子化を適用しようとする場合、以下のような問題点がある。
第1に、前述したように斜め方向から取得されるテクスチャ画像は、正面から取得したテクスチャ画像に変換された後にデータとして保存されるため、傾いた角度から取得したテクスチャ画像のデータほど解像度が低く、含まれる情報が少ない状況になっている。従って、全てのテクスチャデータを同じ条件でトレーニングすると、解像度が低いデータに対しては、それが本来持っている情報と比較して必要以上に多くの代表点が割り当てられることとなり、全体の効率の低下を招いてしまう。
言い換えれば、テクスチャデータの取得に起因する情報の偏り、つまり解像度の高いテクスチャと低いテクスチャがトレーニングシーケンス内に混在すると、従来のコードブック作成方法では全体を最適化する量子化代表点の割り当てができないという問題がある。
【0013】
第2に、高次元テクスチャデータを取得する際に、前述したような単に角度的に均等に視線及び光源方向をサンプリングしてテクスチャ画像を撮像する方法を用いると、トレーニングシーケンス上のテクスチャ画像の出現頻度と実際のテクスチャ画像が参照される頻度分布のずれが、平均的な画質の観点から見た効率の低下を招いてしまう。
【0014】
本発明の目的は、高次元テクスチャデータのより効率の高いベクトル量子化を可能とする高次元テクスチャデータのベクトル量子化のためのコードブック作成方法とテクスチャデータのベクトル量子化方法、テクスチャ描画方法及び装置を提供することにある。
【0015】
【課題を解決するための手段】
上記課題を解決するため、本発明の一つの観点では被写体を複数の撮影条件の下で撮影して取得される複数のテクスチャデータからそれぞれ生成されるトレーニングベクトルを用いて、ベクトル空間を分割した複数のクラスタ毎の代表ベクトルが格納された、テクスチャデータのベクトル量子化のためのコードブックを作成する方法であって、(a)前記テクスチャデータの取得時に前記撮影条件を記録するステップと、(b)前記トレーニングベクトル毎に所属するクラスタを求めるステップと、(c)前記トレーニングベクトルに対して記録された撮影条件に応じて決定される重みにより重み付けを行って得られるベクトルの重心を該トレーニングベクトルが所属するクラスタの新たな代表ベクトルとして求めるステップと、(d)前記トレーニングベクトルに対する前記新たな代表ベクトルの誤差に基づいて全クラスタの新たな代表ベクトルの総合誤差を評価するステップと、(e)前記総合誤差の推移から前記コードブックの作成が収束したか否かを判断するステップとを具備するコードブック作成方法を提供する。
【0016】
ここで、前記複数の撮影条件は例えば異なる複数の撮影角度を含み、前記重みは前記被写体を正面から撮影する際の投影面積に対する、正面以外の撮影角度から撮影する際の投影面積の比率に従って決定される。他の例では、前記重みは前記複数の撮影条件の参照頻度により決定される。
【0017】
本発明の他の観点によると、被写体を複数の撮影条件の下で撮影して取得される複数のテクスチャデータからそれぞれ生成されるトレーニングベクトルを用いて、ベクトル空間を分割した複数のクラスタ毎の代表ベクトルが格納された、テクスチャデータのベクトル量子化のためのコードブックを作成する方法であって、(a)前記テクスチャデータの取得時に前記撮影条件を記録するステップと、(b)前記テクスチャデータから、記録された撮影条件に応じて決定される個数比率で前記トレーニングベクトルを生成するステップと、(c)前記トレーニングベクトル毎に所属するクラスタを求めるステップと、(d)前記トレーニングベクトルの重心を該トレーニングベクトルが属するクラスタの新たな代表ベクトルとして求めるステップと、(e)前記トレーニングベクトルに対する前記新たな代表ベクトルの誤差に基づいて全クラスタの新たな代表ベクトルの総合誤差を評価するステップと、(f)前記総合誤差の推移から前記コードブックの作成が収束したか否かを判断するステップとを具備するテクスチャデータのコードブック作成方法を提供する。
【0018】
ここで、前記複数の撮影条件は例えば異なる複数の撮影角度を含み、前記個数比率は前記被写体を正面から撮影する際の投影面積に対する、正面以外の撮影角度から撮影する際の投影面積の比率に従って決定される。他の例では、前記個数比率は前記複数の撮影条件の参照頻度により決定される。
【0019】
本発明の別の観点によると、上述したコードブック作成方法により作成されたコードブックを用いて、取得されたテクスチャデータをベクトル量子化するベクトル量子化方法を提供する。
【0020】
さらに、本発明によると、上述したコードブック作成方法により作成されたコードブックを用いてベクトル量子化により符号化されたテクスチャデータを復号し、復号されたテクスチャデータをマッピング対象のモデルにマッピングして描画を行うテクスチャ描画方法あるいはテクスチャ描画装置を提供することができる。
【0021】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態について説明する。
[第1の実施形態]
(全体構成)
図1に、本発明の一実施形態に係るデータ作成装置およびテクスチャ描画装置の構成を示す。まず、データ作成装置において高次元テクスチャ撮像装置(カメラ)1によって被写体が複数の撮影条件、例えば複数の視点(撮影角度)及び複数の光源の少なくとも一方を有する条件下で撮影されることにより、複数のテクスチャ画像がテクスチャデータとして取得される。このような複数の視点、複数の光源の下で得られるテクスチャデータを高次元テクスチャデータという。
【0022】
取得された高次元テクスチャデータは、符号化のために高次元テクスチャデータ蓄積部3にいったん蓄えられる。高次元テクスチャデータは情報量が非常に大きいので、描画装置側で使用されるために符号化部2により圧縮符号化される。符号化部2は、後述するようにベクトル量子化を用いて高次元テクスチャデータの符号化を行う。符号化部2から出力される符号化データ(符号化高次元テクスチャ情報)は、符号化高次元テクスチャ情報蓄積部4に蓄積される。以上がデータ作成装置の処理である。
【0023】
一方、描画装置は例えば高次元テクスチャを使用したCGを使ったゲーム機などであり、データ作成装置により作成され符号化高次元テクスチャ情報蓄積部4に格納された符号化高次元テクスチャ情報は、描画装置側の符号化高次元テクスチャ情報蓄積部5に蓄えられる。符号化高次元テクスチャ情報蓄積部5に蓄積された符号化高次元テクスチャ情報は、随時読み出されて復号部6に送られ、ここで符号化部2と逆の処理により復号される。
【0024】
一方、グラフィック要求に従って決まる、描画オブジェクトに対する視点や照明などの描画環境を示す描画環境データと3次元モデルの形状データから、描画パラメータ計算部7によりワイヤーフレームの各パッチの描画パラメータが求められる。具体的には、3次元モデル形状データよりパッチ毎に法線が計算され、視点及び照明環境と3次元モデルとの位置関係から、パッチの法線に対する視点方向及び光源方向が決まる。
【0025】
計算された描画パラメータは、描画テクスチャ選択部8に供給される。描画テクスチャ選択部8では、描画パラメータ計算部7で計算された描画パラメータに従って、高次元テクスチャのうちのどの部分が各パッチに対して使用されるかが決定され、必要なアドレスを指定する情報が符号化高次元テクスチャ情報蓄積部5に送られる。
【0026】
復号部6には符号化高次元テクスチャデータの中から描画に必要なデータがパッチ毎に選択されて送られ、逐次テクスチャデータに復号されてテクスチャメモリ9に蓄えられる。描画部10では、モデル形状データを読み込みテクスチャメモリ9に蓄えられたテクスチャデータを使用してテクスチャマッピングが行われる。すなわち、選択されたテクスチャデータがマッピング対象の3次元モデル表面にマッピングされることにより、描画が行われる。描画結果は、表示装置11によって適宜表示される。
【0027】
(高次元テクスチャデータの取得方法)
次に、高次元テクスチャ撮像装置1による高次元テクスチャデータの取得方法について説明する。
先に挙げた非特許文献1に開示されたBTFでは、視点位置及び照明位置の指定に、図2に示すような対象物(被写体)を原点とした球座標系を用いる。視点は無限遠、照明は平行光源を仮定すると、視点位置を(θe,φe)、照明位置を(θi,φi)と表現することができる。ここでθは例えば方位角、φは例えば仰角であり、φは高次元テクスチャ撮像装置1として用いられるカメラの角度に相当する。このとき、テクスチャアドレスTは以下のように6次元で定義することができる。
T(θe,φe,θi,φi,u,v)
(ただし、u,vはテクスチャ内アドレス)
【0028】
このようにテクスチャの切替とテクスチャ内アドレスの組み合わせでテクスチャを表現することを高次元テクスチャ・マッピングと呼ぶことにする。言い換えると、高次元テクスチャ画像とは、撮像位置及び照明位置をそれぞれ変えて撮像したテクスチャ画像群のことである。同一の被写体を撮像してレイアウトした高次元テクスチャの例を図3に示す。図3に示された矩形のブロックは、それぞれある撮影条件で撮影されたテクスチャ画像を表している。
【0029】
このような高次元テクスチャ画像の取得方法としては、例えば図4に示すように、回転する試料台の上に載せられた被写体の上方に撮像装置1を配置した撮像環境を用い、▲1▼光源による照明位置を固定して、撮像位置をθ,φ方向にサンプリング間隔ずらして撮像を繰り返す、▲2▼照明位置をθ方向あるいはφ方向に所定のサンプリング間隔ずらす、という処理を繰り返していけばよい。
【0030】
この際、図5(b)の左側に示すように正面(θ,φ)=(0,0)から見て正方形の被写体があったとした場合、(θ,φ)≠(0,0)、すなわち傾きを持たせて撮影を行ってテクスチャ画像を取得すると、図5(b)の右側に示すように投影により撮影される形状が正面から撮影されたときと比較して変形し、歪を生じる。こうして取得されるテクスチャ画像をテクスチャデータとして保存する際には、頂点の対応をとって、すなわち図5の点a,b,c,dを各テクスチャ画像間で互いに対応させ、正面から取得したテクスチャ画像と同様に正方形の領域になるように画像変換を行うことによって、θ,φの値によらず同じ形式でテクスチャデータを保存する。
【0031】
(符号化部)
次に、図6を用いて図1中の符号化部2の構成例について説明する。
図1中に示した高次元テクスチャ情報蓄積部3に蓄えられた高次元テクスチャ情報は、相関が強くなるようにブロック化部61により符号化対象ブロックにまとめられる。符号化対象ブロックは、例えば同一視点・同一光源の画像を4×4画素のブロックに区切ったもの(16次元ベクトル)や、同一視点・同一光源の画像を2×2画素のブロックに区切り、さらにRGBの成分をまとめたもの(12次元ベクトル)などである。画像はRGB成分間にも相関があるため、同一位置の画素のRGB成分をまとめてベクトル化することは、相関を利用して圧縮する上で効果がある。
【0032】
ベクトル量子化では、後述するトレーニングによりトレーニングベクトル間の相関を利用した効果が期待できるので、ここでのブロックは視点位置及び光源位置のパラメータをあえてまたぐように設定しなくともよい。但し、視点位置及び光源位置のパラメータをまたぐようにブロックを設定しても、符号化効率の面で大きな問題となることはない。
【0033】
コードブックメモリ62には、ベクトル量子化で使用されるコードブックが格納される。コードブックは、後述する手順によりブロック化部61でブロック化された高次元テクスチャ情報を元に符号化対象ブロックと同じ次元のベクトルの集合として作成される。
【0034】
マッチング部63は、符号化対象ブロックとコードブックメモリ62内のコードブックに含まれる各コードベクトルを比較して両者の誤差を評価し、誤差を最小とするコードベクトルを示す情報(インデックスという)を出力する。このインデックスは、符号化対象ブロックの符号化情報の一部として出力される。本実施形態では、さらに符号化対象画像全体に対して符号化で使用されたコードブック自体も、コードブックメモリ62から符号化情報の他の一部として出力される。これらコードブックとインデックスが符号化高次元テクスチャ情報として符号化高次元テクスチャ情報蓄積部4に蓄えられる。
【0035】
(復号部)
次に、図7を用いて符号化部2の図6に示す構成に対応する図1中の復号部4の構成例について説明する。
入力される符号化高次元テクスチャ情報蓄積部5からの符号化高次元テクスチャ情報は、符号化高次元テクスチャ情報蓄積部4に蓄積された情報と全く同じものである。符号化高次元テクスチャ情報蓄積部5からの情報はコードブックとインデックスとに分けられ、コードブックはコードブックメモリ71上に格納される。
【0036】
次に、復号の必要のある情報位置(同一視点・同一光源の画像内の位置パラメータu,v、視点位置θe,φe及び光源位置θi,φiにより規定される)のインデックスが符号化高次元テクスチャ情報記憶部5から呼び出される。
【0037】
一方、テーブル参照部72によってコードブックメモリ71がテーブル引きされ、対応するテクスチャのコードベクトルが読み出される。読み出されたコードベクトルは、図1中に示したテクスチャメモリ9に書き込まれる。これらの処理は、描画に必要な全てのテクスチャのコードベクトルがテクスチャメモリ9に書き込まれるまで、繰り返し実行される。
【0038】
(コードブック作成手順)
次に、図5に示した構成の符号化部2において、高次元テクスチャデータをベクトル量子化する手順、特にコードブックを作成する手順について図8に示すフローチャートを用いて説明する。
【0039】
コードブックの作成手順を説明する前に、ベクトル量子化の概要について述べる。ベクトル量子化では、まず符号化対象をブロック化する。例えば、符号化対象が画像の場合であれば、画像を4×4画素といったサイズのブロックに分割する。ブロックは複数の要素を含むため、ベクトルとして扱われる。これを入力ベクトルという。この入力ベクトルをコードブック内の各量子化代表ベクトルと比較して、誤差が最小となる量子化代表ベクトルのインデックスで入力ベクトルを表現する。これがベクトル量子化である。量子化代表ベクトルは、多次元ベクトル空間を分割した複数のクラスタ毎の代表ベクトルである。
【0040】
量子化代表ベクトルも、入力ベクトルと同様に符号化対象のブロックと同じサイズのブロックでできている。量子化代表ベクトルの数は、インデックスに使用するビット数によって決まる。例えば、インデックスが12ビットならば、量子化代表ベクトルの数は212=4,096となる。コードブックの作成は通常、符号化対象の統計的性質を代表する、トレーニングシーケンスと呼ばれる有限の信号源を入力して、繰り返し処理により行う。図8の場合、ステップS101により取得されるテクスチャ画像が符号化対象であり、テクスチャ画像を分割したブロックをトレーニングベクトルとするトレーニングシーケンスTSが求められる。
【0041】
ステップS101では、高次元テクスチャ画像の取得を行う。ここでは図4に示した構成により、撮像装置1のφ方向及びθ方向の移動、照明用光源のφ方向及びθ方向の移動を順次行いながらテクスチャ画像を取得し、各テクスチャ画像を図5で説明した方法に従って、全て同一形状・同一サイズの画像に変換した後、高次元テクスチャデータとして蓄積する。
【0042】
この際、ステップS101ではテクスチャ毎の撮影条件を後で参照できるように、テクスチャデータとは別に撮影条件を示す情報を付随データとして記録しておく。撮影条件を示す情報の記録については、陽にデータとして記録するのではなく、「何番目から何番目のテクスチャ画像は(θ,φ)の値がいくつ」という参照ができるように、撮影時の条件規則を定めておくだけでもよい。
【0043】
高次元テクスチャ画像の全てのテクスチャデータをこのような形式にして保持すると、保持されたテクスチャデータのテクスチャ内アドレス(u,v)が同じ画素は、基本的に被写体の同じ部分に対応する。従って、符号化の観点からはテクスチャデータを圧縮符号化する際に、各テクスチャ画像間の相関も利用して効率的に符号化できるという効果をもたらす。こうして取得されたテクスチャデータの各ブロックは、トレーニングデータとしてトレーニングシーケンスTSで使用される。
【0044】
コードブックの作成に際しては、まず初期ベクトルの設定、すなわち代表ベクトルの初期値を求める処理を行う(ステップS103)。具体的には、例えばトレーニングシーケンスTSに対しベクトル空間上で重心を求め、トレーニングシーケンスTSを特異値展開して第1主成分ベクトル方向に±の微小ベクトルを設定する。次に、トレーニングシーケンスTS内の各トレーニングベクトルがどちらのベクトルに対してより誤差が小さいかによって、ベクトル空間を2分する。以下、2分されたベクトル空間に対して、同様の処理で4分、8分…とベクトル空間の分割を繰り返し、代表ベクトルの数までベクトル空間を分割することにより、代表ベクトルの初期値を設定する。
【0045】
一方、ステップS102において、被写体を正面(θ,φ)=(0,0)から撮影したときの撮影条件を基準とし、ステップS101で高次元テクスチャのテクスチャデータを取得した際の撮影条件毎に、この基準の撮影条件に対する投影面積比率を求め、撮影条件毎の重みを撮影条件の関数として保持する。ここで、投影面積とは図1及び図4に示した高次元テクスチャ撮像装置1の撮像面に投影される被写体の面積である。
【0046】
投影面積比率は例えば図5に示した例でいうと、基準の撮影条件で撮影された図5(b)の左側に示される正方形と、基準の撮影条件以外の撮影条件で撮影された図5(b)の右側に示される平行四辺形との面積比である。また、φ=0の条件は通常θの値に依存しないので、他のφの値と比較して取得されるテクスチャ画像の枚数が少なくなっていることが考えられる。
【0047】
例えば、θ,φをいずれも10°間隔で段階的に変化させた撮影を行う場合、φ=10°以降のテクスチャ画像は、θが10°間隔で変化することによって、360°/10°=36枚ずつ取得されるのに対して、φ=0°のテクスチャ画像は唯1枚である。このような撮影角度によるテクスチャ画像の枚数の差を重み付けで同時に補正する。すなわち、投影面積の補正を別として、正面から撮影したテクスチャ画像に対しては、他の撮影方向から撮影したテクスチャ画像に対して36倍の重み付けをする。投影面積の補正に関しては、実際の面積を評価する代わりに、これを近似により簡略化した関数としてcosφの値などを使用するなどして、処理を簡略化することも考えられる。実際の重みの関数を最適化するために、θ,φの値によらず各視点から取得したテクスチャ画像を実際に作成されたコードブックを使って符号化した際のSNR(信号対雑音比)が一定になるように再帰的に繰り返し試行することにより、重みをθ,φの関数として求めるようにしてもよい。
【0048】
次に、ステップS104〜S107の繰り返し処理を行う。まず、トレーニングシーケンスTSの各トレーニングベクトルを各クラスタの代表ベクトルと比較して、最も誤差が小さい代表ベクトルを選択することで、各トレーニングベクトルが所属するクラスタを決定する(ステップS104)。
【0049】
次に、決定されたクラスタ毎に当該クラスタに所属するトレーニングベクトルの重心を再計算し、それを当該クラスタの新たな代表ベクトルとする(ステップS105)。この際、まず各トレーニングベクトルについてそれがどのような撮影条件で撮影されたテクスチャデータを基に生成されたベクトルであるかをステップS101で記録されたテクスチャデータ毎の情報に基づいて確認する(ステップS105a)。次に、トレーニングベクトルの基となったテクスチャデータが取得されたときの撮影条件に応じて、ステップS102で設定された重み関数を用いて、トレーニングベクトルに対して重み付けを行う(ステップS105b)。ステップS105での重心(代表ベクトル)の計算は、以下の数式によって行われる。
【0050】
【数1】
{X}:トレーニングシーケンス
X:トレーニングシーケンス内の各ベクトル
Sk:クラスタ(k=0,…,K−1)
Ck:各クラスタの代表ベクトル
Nk:各クラスタに含まれるベクトルの数
W(X):トレーニングベクトル毎の撮影条件で定義される重み関数
式(1)は、W(X)を含んでいる点が通常のベクトル量子化におけるコードブックの作成手順と異なっている。
【0051】
次に、所属クラスタの各ベクトルと代表ベクトルとの差を誤差として全体の誤差(全クラスタの代表ベクトルの総合誤差)の大きさを評価する(ステップS106)。この総合誤差の評価に際しては、ステップS105と同様に、各トレーニングベクトルについてそれがどのような撮影条件で撮影されたテクスチャデータを元に生成されたベクトルであるかをステップS101で記録したテクスチャデータ毎の情報に基づいて確認し(ステップS106a)、その撮影条件に応じてステップS102で設定された重み関数を用いて、トレーニングベクトルに対して重み付けを行う(ステップS106b)。ステップS106での総合誤差Dの評価式は、以下のように表される。
【0052】
【数2】
【0053】
次に、ステップS106で評価された総合誤差Dの大きさが収束したかを判断する(ステップS107)。ステップS107では、Dが前回のループでのDからほとんど減少しなくなったら、処理が収束したものとして終了する。総合誤差Dの減り方が所定の閾値より大きいようであれば、現状の代表ベクトルセットでステップS104〜S106の処理を繰り返す。但し、繰り返し回数の上限を閾値として設け、繰り返し回数が閾値を上回った場合は強制的に終了することが望ましい。
【0054】
このように本実施形態によると、トレーニングベクトルに対して記録された撮影条件に応じて決定される重みにより重み付けを行い、それにより得られるベクトルの重心を該トレーニングベクトルが所属するクラスタの新たな代表ベクトルとして求める。具体的には、コードブック作成時の量子化代表点の割り当てに際し、被写体を正面から撮影した情報を最も多く含むテクスチャ画像に対して最大の重みを与え、被写体を正面から撮影する際の投影面積に対する、正面以外の撮影角度から撮影する際の投影面積の比率に従って重みを変化させることにより、トレーニングシーケンス内を平均的に均一な画質で符号化できる。従って、総合的により最適に近い符号割り当てを実現することが可能となり、平均的な画質を向上させることができる。
【0055】
[第2の実施形態]
次に、図9を用いて本発明の第2の実施形態におけるコードブック作成手順について説明する。本実施形態では、図8で説明した第1の実施形態におけるコードブック作成手順と同様の処理をより簡略化した方法で行う。
【0056】
重心の再計算、誤差の評価の処理として第1の実施形態では各ベクトルに記録された撮影条件に応じた重み付けを行うことで補正を行った。これに対し、第2の実施形態では重み付けを行うことに代えて、記録された撮影条件に応じて決定される個数比率でトレーニングベクトルが生成されるように、同じ撮影条件のテクスチャ画像からトレーニングベクトルの間引きを行う。以下、図9において図8と基本的に同じ処理ステップについては同一番号を付して説明する。
【0057】
まず、ステップS101で高次元テクスチャ画像の取得を行った後、ステップS201で各テクスチャ画像の取得条件の分析を行う。撮影条件のうちトレーニングベクトルに含まれる情報量に影響を与えるのは、主に高次元テクスチャ撮像装置1として用いられるカメラの角度φであるので、ここでの説明はφが同じであれば撮影条件は同じであるとして説明する。このときステップS201では、第1の実施形態で説明した正面からの撮影時とφ=φeのときの撮影時との投影面積比を求め、正面のサンプル数を36(第1の実施形態における投影面積以外の補正要素に相当)としたときに、φ=φeのときのサンプル数が投影面積比と等しくなるような、トレーニングベクトルの個数比率を撮影条件毎に求める。
【0058】
次に、ステップS202で撮影条件毎に求めた、トレーニングベクトルの個数比率に従い、取得したテクスチャ全体から撮影条件毎にランダムにトレーニングベクトルの間引きを行うことで、トレーニングシーケンスTSを生成する。こうして生成されたトレーニングシーケンスTSにより、ステップS103〜S107でコードブック作成を行う。ステップS103〜S107の処理は、ステップS105及びS106で重み付けを行わない以外、基本的には第1の実施形態と同様である。こうして作成されたコードブックを使用してベクトル量子化により高次元テクスチャデータを符号化する際には、ステップS101で取得される高次元テクスチャ画像全体に対して符号化を行う。
【0059】
[第3の実施形態]
次に、図10を用いて本発明の第2の実施形態におけるコードブック作成手順について説明する。
本実施形態は、テクスチャデータの撮影条件による情報の偏りではなく、テクスチャデータの参照頻度に応じて参照頻度の高いテクスチャほど高画質で符号化できるようにコードブックを作成する。このために第1の実施形態と同様の重み付けを重心の再計算及び全クラスタの代表ベクトルの総合誤差の評価ステップに導入するが、この際の重みの設定の根拠が描画時のテクスチャデータの参照頻度に基づいている点が特徴である。ここで、描画時のテクスチャデータの参照頻度とは、そのテクスチャデータを取得したときの撮影条件の使用頻度に等しい。以下、図10において図8と基本的に同じ処理ステップについては同一番号を付して説明する。
【0060】
まず、重みの設定に先立ち、ステップS301で描画の試行を行う。これは例えば図1に示した高次元テクスチャ描画装置により高次元テクスチャを使ってある被写体の描画を行うことを考えている時に、高次元テクスチャができる前の段階で高次元テクスチャを使用しないCG(コンピュータグラフィクス)として想定する被写体の描画を実際に使用する状況に近い状態で試行して、参照頻度を測定するなどの方法を想定している。この際、描画パラメータ計算部5を動作させながら、ここで得られる描画パラメータを記録する。
【0061】
次に、ステップS301で記録された描画パラメータをテクスチャの撮影条件(ここでは、全ての撮影条件として最大でカメラ位置のθ,φ、光源のθ,φ、及びテクスチャ上のアドレスの組み合わせを考える)毎に、参照された頻度を集計する(ステップS302)。
【0062】
一方、第1の実施形態と同様に、ステップS101で高次元テクスチャデータを取得し、トレーニングシーケンスTSを生成する。ステップS102では、第1の実施形態と同様に重みを設定するが、本実施形態では撮影条件毎の重みをステップS302で集計された参照頻度に基づき、撮影条件毎に定義される重みとして記録する。この場合、最も簡単には、重み=参照頻度とする方法が考えられる。
【0063】
以下、実際のコードブック作成はステップS103〜S107によって行われるが、この手順は重みとして定義された値が上記説明したものであること以外は第1の実施形態の場合と全く同じである。
【0064】
[その他の実施形態]
本発明では、第1〜第3の実施形態で説明したコードブック作成手順を適宜組み合わせて実施することも可能である。
例えば、第3の実施形態で示したテクスチャの参照頻度(撮影条件の使用頻度)を重みとする方法を第2の実施形態のようにトレーニングベクトルの間引きという形で実施することも可能である。すなわち、参照頻度に応じた比率に従ってトレーニングベクトルを間引き、トレーニングシーケンスを生成する。
【0065】
また、第1の実施形態と第3の実施形態を両者の効果を加味して同時に実施してもかまわない。この場合、重心の再計算、誤差の評価ステップで使用される重みは第1の実施形態で説明した撮影条件により設定される重みと、第3の実施形態で説明した描画時の参照頻度により設定される重みの積として設定してやればよい。同様に、第2の実施形態と第3の実施形態を同時に実施することも可能である。
【0066】
【発明の効果】
以上説明したように、本発明によれば高次元テクスチャデータについてより効率の高いベクトル量子化を行うことができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る高次元テクスチャ描画装置の構成を示すブロック図
【図2】高次元テクスチャアドレスに用いる球座標系を説明するための図
【図3】高次元テクスチャの構成例を示す図
【図4】高次元テクスチャ撮像装置の構成例を示す図
【図5】角度による取得テクスチャの歪を説明するための図
【図6】図1中の符号化部の構成例を示すブロック図
【図7】図1中の復号部の構成例を示すブロック図
【図8】本発明の第1の実施形態における高次元テクスチャデータのベクトル量子化のためのコードブック作成手順の第1の例を示すフローチャート
【図9】本発明の第2の実施形態における高次元テクスチャデータのベクトル量子化のためのコードブック作成手順の第2の例を示すフローチャート
【図10】本発明の第3の実施形態における高次元テクスチャデータのベクトル量子化のためのコードブック作成手順の第3の例を示すフローチャート
【符号の説明】
1…高次元テクスチャ撮像装置
2…符号化部
3…テクスチャメモリ
4…復号部
5…描画パラメータ計算部
6…描画テクスチャ選択部
7…描画部
8…表示装置
Claims (9)
- 被写体を複数の撮影条件の下で撮影して取得される複数のテクスチャデータからそれぞれ生成されるトレーニングベクトルを用いて、ベクトル空間を分割した複数のクラスタ毎の代表ベクトルが格納された、テクスチャデータのベクトル量子化のためのコードブックを作成する方法であって、
前記テクスチャデータの取得時に前記撮影条件を記録するステップと、
前記トレーニングベクトル毎に所属するクラスタを求めるステップと、
前記トレーニングベクトルに対して記録された撮影条件に応じて決定される重みにより重み付けを行って得られるベクトルの重心を該トレーニングベクトルが所属するクラスタの新たな代表ベクトルとして求めるステップと、
前記トレーニングベクトルに対する前記新たな代表ベクトルの誤差に基づいて全クラスタの新たな代表ベクトルの総合誤差を評価するステップと、
前記総合誤差の推移から前記コードブックの作成が収束したか否かを判断するステップと
を具備するテクスチャデータのベクトル量子化のためのコードブック作成方法。 - 前記複数の撮影条件は異なる複数の撮影角度を含み、前記重みは前記被写体を正面から撮影する際の投影面積に対する、正面以外の撮影角度から撮影する際の投影面積の比率に従って決定される請求項1記載のコードブック作成方法。
- 前記重みは前記複数の撮影条件の参照頻度により決定される請求項1記載のコードブック作成方法。
- 被写体を複数の撮影条件の下で撮影して取得される複数のテクスチャデータからそれぞれ生成されるトレーニングベクトルを用いて、ベクトル空間を分割した複数のクラスタ毎の代表ベクトルが格納された、テクスチャデータのベクトル量子化のためのコードブックを作成する方法であって、
前記テクスチャデータの取得時に前記撮影条件を記録するステップと、
前記テクスチャデータから、記録された撮影条件に応じて決定される個数比率で前記トレーニングベクトルを生成するステップと、
前記トレーニングベクトル毎に所属するクラスタを求めるステップと、
前記トレーニングベクトルの重心を該トレーニングベクトルが属するクラスタの新たな代表ベクトルとして求めるステップと、
前記トレーニングベクトルに対する前記新たな代表ベクトルの誤差に基づいて全クラスタの新たな代表ベクトルの総合誤差を評価するステップと、
前記総合誤差の推移から前記コードブックの作成が収束したか否かを判断するステップと
を具備するテクスチャデータのコードブック作成方法。 - 前記複数の撮影条件は異なる複数の撮影角度を含み、前記個数比率は前記被写体を正面から撮影する際の投影面積に対する、正面以外の撮影角度から撮影する際の投影面積の比率に従って決定される請求項4記載のコードブック作成方法。
- 前記個数比率は前記複数の撮影条件の参照頻度により決定される請求項4記載のコードブック作成方法。
- 請求項1乃至6のいずれか1項に記載のコードブック作成方法により作成されたコードブックを用いて、新たに取得されるテクスチャデータをベクトル量子化するベクトル量子化方法。
- 請求項1乃至6のいずれか1項に記載のコードブック作成方法により作成されたコードブックを用いてベクトル量子化により符号化されたテクスチャデータを復号するステップと、復号されたテクスチャデータをマッピング対象のモデルにマッピングして描画を行うステップとを具備するテクスチャ描画方法。
- 請求項1乃至6のいずれか1項に記載のコードブック作成方法により作成されたコードブックを用いてベクトル量子化により符号化されたテクスチャデータを復号する復号部と、復号されたテクスチャデータをマッピング対象のモデルにマッピングして描画を行う描画部とを具備するテクスチャ描画装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003057370A JP4034670B2 (ja) | 2003-03-04 | 2003-03-04 | テクスチャ描画方法及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003057370A JP4034670B2 (ja) | 2003-03-04 | 2003-03-04 | テクスチャ描画方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004265330A true JP2004265330A (ja) | 2004-09-24 |
JP4034670B2 JP4034670B2 (ja) | 2008-01-16 |
Family
ID=33120815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003057370A Expired - Fee Related JP4034670B2 (ja) | 2003-03-04 | 2003-03-04 | テクスチャ描画方法及び装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4034670B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007140820A (ja) * | 2005-11-17 | 2007-06-07 | Dainippon Printing Co Ltd | レンダリング用テクスチャデータの作成方法 |
JP2013257664A (ja) * | 2012-06-11 | 2013-12-26 | Canon Inc | 画像処理装置及びその制御方法、プログラム |
JP2015028781A (ja) * | 2013-07-29 | 2015-02-12 | エックス−ライト スウィツァランド ゲゼルシャフト ミット べシュレンクテル ハフツングX−Rite Switzerland GmbH | アピアランスデータをデジタル的に生成する方法および装置 |
CN112700481A (zh) * | 2020-12-23 | 2021-04-23 | 杭州群核信息技术有限公司 | 基于深度学习的纹理图自动生成方法、装置、计算机设备和存储介质 |
-
2003
- 2003-03-04 JP JP2003057370A patent/JP4034670B2/ja not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007140820A (ja) * | 2005-11-17 | 2007-06-07 | Dainippon Printing Co Ltd | レンダリング用テクスチャデータの作成方法 |
JP2013257664A (ja) * | 2012-06-11 | 2013-12-26 | Canon Inc | 画像処理装置及びその制御方法、プログラム |
JP2015028781A (ja) * | 2013-07-29 | 2015-02-12 | エックス−ライト スウィツァランド ゲゼルシャフト ミット べシュレンクテル ハフツングX−Rite Switzerland GmbH | アピアランスデータをデジタル的に生成する方法および装置 |
CN112700481A (zh) * | 2020-12-23 | 2021-04-23 | 杭州群核信息技术有限公司 | 基于深度学习的纹理图自动生成方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP4034670B2 (ja) | 2008-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11889113B2 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
US7162080B2 (en) | Graphic image re-encoding and distribution system and method | |
CN117178297A (zh) | 微网格,用于计算机图形的结构化几何体 | |
US20090046935A1 (en) | Image processing | |
US11902348B2 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
TWI787429B (zh) | 用於產生影像資料位元流的設備及方法 | |
US12058370B2 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
EP4131975A1 (en) | Point cloud data transmission apparatus, point cloud data transmission method, point cloud data reception apparatus, and point cloud data reception method | |
Livny et al. | A GPU persistent grid mapping for terrain rendering | |
JP3592168B2 (ja) | 画像データの符号化復号化方法及び装置 | |
US20180184096A1 (en) | Method and apparatus for encoding and decoding lists of pixels | |
US20230171431A1 (en) | Device for transmitting point cloud data, method for transmitting point cloud data, device for receiving point cloud data, and method for receiving point cloud data | |
CN114041169A (zh) | 点云数据发送设备、点云数据发送方法、点云数据接收设备、以及点云数据接收方法 | |
US12003769B2 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
CN114762334A (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 | |
EP1603342A1 (en) | Data encoding device and data encoding method and computer program | |
EP4329310A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
Andújar et al. | Visualization of Large‐Scale Urban Models through Multi‐Level Relief Impostors | |
US20190347867A1 (en) | Method and apparatus for processing three dimensional object image using point cloud data | |
WO2021115466A1 (zh) | 点云数据的编码方法、解码方法、存储介质及设备 | |
JP2023541271A (ja) | 高密度メッシュ圧縮 | |
US20220327744A1 (en) | Apparatus and method for processing point cloud data | |
JP4034670B2 (ja) | テクスチャ描画方法及び装置 | |
Berjón et al. | Objective and subjective evaluation of static 3D mesh compression | |
US20230232042A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070313 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070514 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20071023 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071025 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101102 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101102 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101102 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111102 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121102 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131102 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |