JP4444180B2 - テクスチャ符号化装置、テクスチャ復号化装置、方法、およびプログラム - Google Patents

テクスチャ符号化装置、テクスチャ復号化装置、方法、およびプログラム Download PDF

Info

Publication number
JP4444180B2
JP4444180B2 JP2005210318A JP2005210318A JP4444180B2 JP 4444180 B2 JP4444180 B2 JP 4444180B2 JP 2005210318 A JP2005210318 A JP 2005210318A JP 2005210318 A JP2005210318 A JP 2005210318A JP 4444180 B2 JP4444180 B2 JP 4444180B2
Authority
JP
Japan
Prior art keywords
data
texture
block
block data
pixel
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.)
Expired - Fee Related
Application number
JP2005210318A
Other languages
English (en)
Other versions
JP2007026312A (ja
Inventor
真弘 関根
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2005210318A priority Critical patent/JP4444180B2/ja
Priority to CNA200680000717XA priority patent/CN101010699A/zh
Priority to EP06730720A priority patent/EP1908018A1/en
Priority to PCT/JP2006/306772 priority patent/WO2007010648A1/en
Priority to KR1020077004713A priority patent/KR100903711B1/ko
Priority to US11/490,149 priority patent/US20070018994A1/en
Publication of JP2007026312A publication Critical patent/JP2007026312A/ja
Application granted granted Critical
Publication of JP4444180B2 publication Critical patent/JP4444180B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/94Vector quantisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、3次元コンピュータグラフィックス分野における高品位なテクスチャマッピング技術を備えるテクスチャ符号化装置、テクスチャ復号化装置、方法、およびプログラムに関し、特に、複数の条件で取得あるいは作成したテクスチャデータを符号化することによるデータ量の圧縮、グラフィックスLSI上でテクスチャマッピングをする際のテクスチャデータの効率的な復号化およびマッピングを行う、テクスチャ符号化装置、テクスチャ復号化装置、方法、およびプログラムに関する。
近年、3次元コンピュータグラフィックス(CG)技術が急速に発展しており、実写の映像と見間違える程のリアルなグラフィックス表現が可能となってきている。しかしながら、映画やテレビなどで制作される高品位なCGは、クリエイタの長時間にわたる地道な手作業によって生み出されるものが多く、膨大なコストを要してしまう。今後、さらに多様なCG表現が求められると考えられ、いかにコストをかけず簡単に高品位なCGを作り出せるかが課題となってくる。
CG表現の中で特に難しいとされるのが、布地や皮膚、毛などの表現である。これらの柔らかい質感を持つ素材に対しては、その物体を眺める方向(視点方向)および光を照射する方向(光源方向)によって変化する物体表面の色変化や物体自身が作り出す影(self shadow)の表現が大変重要となる。そこで近年、実在する素材を撮影し、その素材の特性を再現することによってリアルなCGを作り出す手法が盛んに利用されるようになってきている。視点方向および光源方向に応じた表面質感の表現に関しては、BRDF(Bi-directional Reference Distribution Function)やBTF(Bi-directional Texture Function)、PTM(Polynomial Texture Maps)と呼ばれるモデル化手法の研究が進められている(例えば、特許文献1参照)。
米国特許第6,297,834号明細書
視点方向および光源方向に応じて変化する物体表面の光学的特性を、テクスチャデータを用いて表現しようとした場合、視点方向や光源方向の条件が異なる大量のテクスチャ画像を必要とするため、実用的なシステムとして利用できていないのが現状である。
これらの手法は、取得データを解析することによって関数モデルを導出するというアプローチを採っている。しかしながら、実在する素材の不規則な陰影変化や輝度変化を関数モデル化するのには限界があり、多くの課題が残されている。データ量が膨大であるということはその中でも大きな問題である。
この発明は、上述した事情を考慮してなされたものであり、データ量を圧縮することができるテクスチャ符号化装置、方法、およびプログラムを提案すること、また、符号化されたテクスチャ群を用いてテクスチャマッピングを行なう際に、その復号化やマッピングを高速に実現できるテクスチャ復号化装置、方法、およびプログラムを提案することを目的としている。
上述の課題を解決するため、本発明のテクスチャ符号化装置は、複数の異なる条件で取得あるいは作成したテクスチャ群のデータを取得するテクスチャデータ取得手段と、前記テクスチャ群のうち、前記条件に対応する値がある第1範囲内にあり、かつ、ピクセル位置がある第2範囲内にある複数のピクセルデータを1つの集まりとしてブロック化して、前記テクスチャ群のデータを複数のブロックデータに分割するブロック分割手段と、前記分割されたブロックデータのそれぞれに対して、符号化を行なうブロックデータ符号化手段と、前記符号化されたブロックデータを連結し、テクスチャ群の符号化データを生成するブロックデータ連結手段と、前記生成されたテクスチャ群の符号化データを出力する出力手段と、を具備し、前記ブロック分割手段は、前記取得したテクスチャ群のデータに含まれる複数のピクセルデータの分散値を算出する算出手段と、各分散値がある値よりも小さいか否かを比較する比較手段と、前記ある値以上の分散値を有するピクセルデータがある場合には、前記複数の条件のうちの1つに対応する、ピクセルデータの次元で、かつ、分散値の最も大きい次元を検出する検出手段と、前記検出された次元で前記テクスチャ群のデータを2分割する分割手段と、を含み、前記算出手段は、さらに、前記2分割されたデータごとに分散値を算出することを特徴とする。
また、本発明のテクスチャ符号化装置は、複数の異なる条件で取得あるいは作成したテクスチャ群のデータを取得するテクスチャ取得手段と、前記テクスチャ群のうち、前記条件に対応する値がある第1範囲内にあり、かつ、ピクセル位置がある第2範囲内にある複数のピクセルデータを1つの集まりとしてブロック化して、前記テクスチャ群のデータを複数のブロックデータに分割するブロック分割手段と、前記分割されたブロックデータのそれぞれに対して、符号化を行なうブロックデータ符号化手段と、前記符号化されたブロックデータのそれぞれの符号化誤差を算出する誤差算出手段と、ブロックデータごとに、前記算出された符号化誤差と、符号化誤差がある範囲内である許容条件とを比較する比較手段と、前記算出された符号化誤差が前記許容条件を満たすブロックデータについては、前記符号化されたブロックデータのそれぞれを連結するブロックデータ連結手段と、前記連結されたブロックデータをテクスチャ群の符号化データとして出力する出力手段と、を具備し、前記算出された符号化誤差が前記許容条件を満たさないブロックデータについては、前記ブロック分割手段が、該ブロックデータを前記分割されたブロックデータよりも小さいデータ量を有するブロックデータに分割することを特徴とする。
本発明のテクスチャ復号化装置は、複数の異なる条件で取得あるいは作成したテクスチャ群の符号化データを取得する符号化データ取得手段と、ピクセル位置を指定するテクスチャ座標および前記条件を指定する条件パラメータを取得する指定データ取得手段と、前記符号化データの中から、前記テクスチャ座標および前記条件パラメータに対応するブロックデータを抽出するブロックデータ抽出手段と、前記抽出されたブロックデータを復号するブロックデータ復号化手段と、前記復号されたデータをもとにピクセルデータを算出するピクセルデータ算出手段と、前記算出されたピクセルデータを出力するピクセルデータ出力手段と、を具備し、前記符号化データ変換手段は、請求項1に記載の分割が行なわれた符号化データを、請求項2に記載のブロック化が行なわれた符号化データに変換することを特徴とする。
また、本発明のテクスチャ復号化装置は、複数の異なる条件で取得あるいは作成したテクスチャ群の符号化データを取得する符号化データ取得手段と、前記符号化データに含まれるブロックのサイズを固定ブロックサイズに変換する符号化データ変換手段と、ピクセル位置を指定するテクスチャ座標および前記条件を指定する条件パラメータを取得する指定データ取得手段と、前記変換された符号化データの中から、前記テクスチャ座標および前記条件パラメータに対応するブロックデータを抽出するブロックデータ抽出手段と、前記抽出されたブロックデータを復号するブロックデータ復号化手段と、前記復号されたデータをもとにピクセルデータを算出するピクセルデータ算出手段と、前記算出されたピクセルデータを出力するピクセルデータ出力手段と、を具備することを特徴とする。
本発明のテクスチャ符号化装置、方法、およびプログラムによれば、データ量を圧縮することができ、また、テクスチャ復号化装置、方法、およびプログラムによれば、要求するピクセルデータを抽出する処理速度も向上させることができる。
以下、図面を参照しながら本発明の実施形態に係るテクスチャ符号化装置、テクスチャ復号化装置、方法、およびプログラムについて詳細に説明する。
本発明の実施形態に係るテクスチャ符号化装置、テクスチャ復号化装置、方法、およびプログラムは、複数の異なる視点/光源などの条件で取得あるいは作成されたテクスチャ群を符号化・復号化し、さらに、グラフィックスデータに対してテクスチャマッピング処理を行なうための装置である。
また、本発明の実施形態に係るテクスチャ符号化装置、テクスチャ復号化装置、方法、およびプログラムは、視点方向や光源方向に応じて変化する素材表面の質感表現を効率的に実現するだけではなく、様々な条件あるいは様々な成分に適用することができる。
様々な条件への適用とは、視点条件や光源条件だけではなく、時間・速度・加速度・圧力・温度・湿度など自然界での様々な条件に応じて変化する信号に対しても適用できるということである。
また、様々な成分への適用とは、ピクセルデータとして色成分を扱うのではなく、法線ベクトル成分や深度成分、透明度成分、照明効果成分などの成分に対しても適用できるということである。
(第1の実施形態)
第1の実施形態では、テクスチャ符号化装置の一連の処理例を示す。本実施形態におけるブロック分割部は、固定ブロックサイズでの分割とする。固定サイズで分割されたブロックデータに対して、様々なブロックデータ符号化手段で符号化される処理を具体的に示す。
本実施形態のテクスチャ符号化装置の構成について図1を参照して説明する。
図1に示すテクスチャ符号化装置は、複数の異なる条件で取得あるいは作成したテクスチャ群を入力し、ピクセル位置の方向ならびに条件変化の方向(例えば、光源方向、視点方向)にブロック分割し、ブロック単位に符号化を行なうものである。
本実施形態のテクスチャ符号化装置は、入力部101、ブロック分割部102、ブロックデータ符号化部103、ブロックデータ連結部104、出力部105を備えている。
入力部101は、複数の異なる条件で取得あるいは作成したテクスチャ群のデータを入力する。
ブロック分割部102は、入力部101で入力されたテクスチャ群のうち、取得した条件が近く、かつ、ピクセル位置が近い複数のピクセルデータを1つの集まりとしてブロック化することによって、テクスチャ群のデータを複数のブロックデータに分割する。
ブロックデータ符号化部103は、ブロック分割部102によって分割されたそれぞれのブロックデータに対して、符号化を行なう。
ブロックデータ連結部104は、ブロックデータ符号化部103によって符号化されたブロックデータを連結し、テクスチャ群の符号化データを生成する。
出力部105は、ブロックデータ連結部104によって生成されたテクスチャ群の符号化データを出力する。
本実施形態のテクスチャ符号化装置の動作について図2を参照して説明する。
<ステップS201>
入力部101がテクスチャ群のデータを入力する。図3に示すような空間の中で、視点および光源の位置を(すなわち、図3に示すθc,φc,θl,φl)をそれぞれ一定間隔ずつ変化させながらテクスチャを取得する。
入力部101は、例えば、下記の表1に示したようにそれぞれの角度を変化させてテクスチャを取得する。ただし、単位はdegree(度)とする。この場合、視点/光源ともにθ方向には20度間隔で変化させて18サンプル、φ方向には70度まで10度間隔で変化させて8サンプルの条件で、テクスチャを取得している。したがって、合計20,736(18×8×18×8)枚ものテクスチャを取得することになり、仮に、テクスチャサイズが256×256ピクセル(24ビットカラー)であったとすると、そのデータ量は約3.8GBとなってしまい、テクスチャマッピングに利用するテクスチャ素材として現実的に扱えるデータ量ではなくなってしまう。
Figure 0004444180
そこで、高次元テクスチャ生成技術などを用いることによって、小さなテクスチャデータで任意サイズのテクスチャを表現するといった手法を用いることができる。この高次元テクスチャ生成技術は、複数の異なる条件で取得あるいは作成したテクスチャ群を用いて、それぞれの条件に対応する任意サイズのテクスチャ群を生成し、小さなテクスチャ群のデータを保持するだけで、任意サイズのテクスチャを再現する。そこで仮に、32×32ピクセルのテクスチャサイズで済むようになったとすると、そのデータ量は約60MBとなる。しかしながら、これでもテクスチャデータを十分に圧縮できたとは言えず、さらなる圧縮が必要である。
<ステップS202>
次に、ブロック分割部102が取得されたテクスチャ群をブロック分割する。このブロック分割処理では、各パラメータの数値が近いピクセルデータ同士を1つの集まりとして考えブロック化を行なう。ここでいうパラメータとは、テクスチャ座標の横方向を示すuや縦方向を示すv、視点方向の条件を示すθcやφc、光源方向の条件を示すθlやφlなどのようなピクセルデータを抽出するための位置や条件を示す変数のことであり、本実施形態の場合、6次元のパラメータによってピクセルデータを抽出できることが分かる。すなわち、
(u,v,θc,φc,θl,φl)
である。
いくつのピクセルデータを1つのブロックとするかは、自由に決定することができるが、本実施形態では、ある固定サイズのブロック分割手法で分割する。例えば、同じピクセル位置で、かつ、θc,φc,θl,φlの4次元においてそれぞれ2通りずつサンプリングしたピクセルデータを1つのブロックにしたとすると、1つのブロックデータは下記の表2のようになる。
Figure 0004444180
表2は、(u,v,θc,φc,θl,φl)=(0,0,0,0,0,0)の条件で抽出されるピクセルデータと、以下、各列の組み合わせを満たすピクセルデータとを合わせて16個のピクセルデータが1つのブロックとなっていることを示している。ブロック分割部102がこのようなブロック化を行なうことによって、例えば、20,736枚の32×32ピクセルサイズのテクスチャ群、すなわち、21,233,664(20,736×32×32)個のピクセルデータが、1,327,104(21,233,664÷16)個のブロックデータに分割されることになる。
また、ブロック分割部102が行うブロック分割の手法は、u,vの次元、つまりテクスチャ空間の方向にもブロック化することも可能であるが、ここでは、同じピクセル位置のピクセルデータのみをブロック化している。なぜなら、同じピクセル位置だけで符号化した方が、前述した高次元テクスチャ生成技術との相性が良いからである。このような分割手法であれば符号化データのままピクセルの特徴を近似的に調べることができ、ピクセル間の類似性を容易に調べることができる。したがって、テクスチャ群を符号化した後、任意サイズのテクスチャを生成してからグラフィックスデータにマッピングすることも可能となる。
<ステップS203、S204>
次に、ブロックデータ符号化部103が各ブロックデータの符号化を行なう。全てのブロックデータが符号化されるまでステップS203を行う(ステップS204)。ブロックデータの符号化処理では、ベクトル量子化を用いて、例えば16個のピクセルデータ(カラーベクトルデータ)から4個の代表ベクトルを算出する。代表ベクトルの算出方法については、後に図17を参照して説明する。この算出方法は、一般によく知られているK−means法やLBG法などと呼ばれるベクトル量子化の手法を用いている。
16個のピクセルデータ(斜線の丸印)が図4に示すような分布をしていた場合、ベクトル量子化によって黒色の丸印で示したような代表ベクトルを求めることができる。このようにして求められた代表ベクトル<C>,<C>,<C>,<C>をブロック内のコードブックデータとする(ここで、<A>は「ベクトルA」を表すとする。以下、この記法にしたがいベクトルを表記する)。そして、16個のピクセルデータがそれぞれどの代表ベクトルを選択するかどうかを示すインデックスデータを2ビットで表現する。
こうして符号化されたブロックデータのフォーマットを図5に示す。インデックスデータが“00”であれば<C>が選ばれ、“01”であれば<C>が選ばれ、“10”であれば<C>が選ばれ、“11”であれば<C>が選ばれるという規則になっている。このように、インデックスデータの値に応じて、復号化の際の代表ベクトルが選択される。このような手法が最も基本的な符号化であるが、この他にも以下に示すような符号化を行なうことができる。ここでは、5つの例を示す。
1.《ベクトル変化量を用いた符号化》
4個の代表ベクトルを求めるところまでは、上で説明した手法と同様に処理するが、その後、ある代表ベクトルを基準ベクトルとして、他の代表ベクトルをその基準ベクトルからの変化量を表わすベクトルに変換する。その様子を表わしたのが、図6である。代表ベクトル<C>,<C>,<C>,<C>を求めた後に、
<S>=<C>−<C
<S>=<C>−<C
<S>=<C>−<C
によって定まる3個のベクトル変化量<S>,<S>,<S>を求める。こうして計算された代表ベクトルとベクトル変化量をコードブックに含めて符号化したものを図7に示す。このようにして、ベクトル変化量を用いて符号化する手法は、視点方向や光源方向の変化によってそれほど色の変化が起こらないような素材に大変有効である。なぜなら、ベクトル変化量では変化量だけを表現できればよいため、少ないビット数を割り当てるだけでよいからである。カラーベクトルの分布によっては、代表ベクトルの数とベクトル変化量の数のバランスを変えることもできる。また、代表ベクトル<C>,<C>,<C>,<C>の中から基準ベクトルを選び出す際、ベクトル変化量を最も小さくできるものを選択することによって、ベクトル変化量に割り当てるビット数をさらに小さくすることができる。
2.《補間率を用いた符号化》
4個の代表ベクトルを求めるところまでは、上で説明した手法と同様に処理するが、その後、ある代表ベクトルを、他の2つの代表ベクトルを補間することによって近似的に表現するための計算を行なう。具体的な例を図8に示す。この場合、<C>,<C>を用いて、<C>の近似的表現を行なうための補間率の計算を行なう。点<C>から線分<C><C>に対して垂線を下ろし、その足を点<C>’とする。そして、以下のような計算を行ない、補間率rを導出する。
=|<C><C>’|/|<C><C>|
こうして計算された代表ベクトルと補間率をコードブックに含めて符号化したものを図9に示す。このようにして、補間率を用いて符号化する手法は、視点方向や光源方向の変化に応じて線形的に色の変化が起こるような素材に大変有効である。なぜなら、補間率による代表ベクトルの近似を行なっても、誤差が少なくなるからである。また、補間によって近似する代表ベクトルを選び出す際、近似を行なっても誤差が最も小さく押えられるものを選択する。
3.《補間を指示するだけのインデックスを用いた符号化》
16個のピクセルデータ(斜線の丸印)が図10に示すような分布をしていたとする。ここで、各ベクトル<P>,<P>,<P>は以下のような条件(u,v,θc,φc,θl,φl)で抽出できるピクセルデータであるとする。
<P>:(0,0,0,0,0,0)
<P>:(0,0,0,10,0,0)
<P>:(0,0,0,20,0,0)
つまり、ベクトル<P>,<P>,<P>は、視点方向の条件であるφcを0度、10度、20度と変化させた3つのピクセルデータである。代表ベクトルを求める前にこのような分布に着目すると、<P>のカラーベクトルはそもそも必要ではなく、<P>と<P>を用いて、これらの条件パラメータを基に補間によって求められてしまうものであることが分かる。したがって、<P>は、インデックスデータで、条件パラメータをもとに補間するよう指示されるだけで、カラーベクトルを再現できてしまうことになる。すなわち、
<P>=0.5×<P>+0.5×<P
ただし、実際は、<P>,<P>はそれぞれ、代表ベクトルを<C>,<C>を用いて再現される。
こうして符号化されたブロックデータのフォーマットを図11に示す。インデックスデータが“00”であればCが選ばれ、“01”であればCが選ばれ、“10”であればCが選ばれ、“11”であれば条件パラメータをもとに他のピクセルデータから補間によって求めるといった具合に、インデックスデータを割り振ることができる。このような手法は、視点方向/光源方向などの条件の次元でブロックした場合の極めて特徴的な符号化であると言える。
4.《マクロブロックやテクスチャ全体のコードブックを用いた符号化》
ここまでいくつかの符号化方法を説明してきたが、ブロックデータ内で算出したコードブックデータの一部が、周辺のブロックデータの一部と共通であったりする場合がある。そのような場合は、複数のブロックデータ共通のコードブックデータを設定することができる。周囲のいくつかのブロックの集まりをマクロブロックと呼ぶことにすると、そのマクロブロックに、共通のコードブックデータを持たせたり、テクスチャ全体のコードブックデータを持たせたりすることができる。例えば、あるブロックで代表ベクトルC,C,C,Cを求めたが、Cに関しては、周囲の4つのブロックが同じように代表ベクトルとして用いていたとする。この時、図12で示すようなフォーマットで符号化し、Cに関しては、ブロックデータとしてではなく、マクロブロックのコードブックデータとして格納する。このような符号化方法は、データ量の圧縮効率が向上する半面、復号化の速度が低下してしまうため注意が必要である。
5.《ベクトル成分ごとに分割した符号化》
ベクトル成分ごとに分割した符号化について図13を参照して説明する。各ピクセルのカラーベクトルは、RGB表色系に限らず、様々な表色系によってベクトルを表現できる。ここでは、輝度成分と色差成分とに分けることができるYUV表色系を例に挙げて説明する。視点方向や視点方向に応じて変化する各ピクセルの色変化は、素材によって様々であるが、輝度成分の変化が激しく、色差成分の変化が緩やかであるような場合がある。そのような場合には、図13に示すような符号化を行なうことができる。輝度成分はY、Y、Y、Yを使用し、色差成分はUVを使用する。色差成分に関しては、ブロック内でほとんど変化しないために、インデックスデータの値に依らず、必ずUVが使われる。輝度成分に関しては、ブロック内での変化が大きいために、通常の手法で4つの代表ベクトル(この場合は、スカラー値)を格納しておき、インデックスデータによって選択される。
上記の例で示したように、変化の著しい成分に対して多くの符号量を割り当て、変化の少ない成分に対してはあまり符号量を割り当てないようにすることによって効率的な符号化を行うことができる。
以上のようにして、いくつかの符号化フォーマットを設定することができるが、これらの符号化方法を適宜組み合わせることによって、さらに様々な符号化フォーマットを設定することもできる。
符号化フォーマットは、テクスチャデータ内で固定のフォーマットにすることもでき、テクスチャデータ内で可変のフォーマットにすることもできる。しかしながら、可変のフォーマットにした場合には、各ブロックデータでどのようなフォーマットを用いたかという識別子がヘッダ情報として必要となる。
<ステップS205、S206>
次に、ブロックデータ連結部104が符号化されたブロックデータの連結を行なう。様々な方法で符号化されたブロックデータを連結すると図14に示すようなデータ構造となる。符号化されたテクスチャデータには、まず、ヘッダ情報が格納されている。このヘッダ情報には、テクスチャサイズ、テクスチャ群を取得した条件、符号化フォーマットなどが含まれている。その次に、マクロブロックデータが連結されて格納されている。ただし、マクロブロックごとに符号化フォーマットを変更したり、マクロブロックを代表するコードブックを持たせたりしていない場合には、マクロブロックではなく、直にブロックデータを連結してしまってよい。マクロブロックごとに符号化フォーマットの指定がある場合には、マクロブロックの最初にヘッダ情報を格納し、マクロブロックを代表するコードブックを持たせる場合には、ヘッダ情報の次にコードブックデータを格納する。そして、マクロブロック内に存在するブロックデータを連結する。ブロックごとにフォーマットが異なる場合には、最初にヘッダ情報に格納し、次にコードブックデータとインデックスデータを格納する。
最後に、このようにして連結されたテクスチャデータを出力する(ステップS206)。
次に、図2を参照して説明したテクスチャ符号化装置の処理の概要を図15に示す。このテクスチャ符号化装置の処理と対比させるために、従来のテクスチャ符号化装置の処理の概要を図16に示す。こられの図を比較すればわかるように、本発明の実施形態のテクスチャ符号化装置は、テクスチャ空間のブロック化だけではなく、取得条件の次元も考慮してブロック化する点が特徴である。この結果、本実施形態のテクスチャ符号化装置によれば、負荷が大きいテクスチャをロードする回数を通常減らすことができる。
次に、ステップS203で算出する代表ベクトルの算出方法について図17を参照して説明する。なお、詳細は、例えば、特開2004−104621公報を参照。
初期設定(m=4,n=1,δ)(ステップS1701)以降の処理では、4つの代表ベクトルを算出するために、クラスタリング処理を実行する。クラスタを順次2分割していく際には、各クラスタの分散を算出し、分散の大きいクラスタを優先的に2分割する(ステップS1702)。あるクラスタを2分割するために、2つの初期セントロイド(クラスタの中心)を決定する(ステップS1703)。セントロイドの決定は以下の手順で行なう。
1.クラスタの重心gを求める。
2.gから最も遠い要素をdとする。
3.dから最も遠い要素をdとする。
4.gとd及びgとdのそれぞれの1:2の内分点をC,Cとする。
ただし、2要素間の距離には、RGBの3次元空間でユークリッド距離を用いる。ステップS1704からステップS1706のループ処理は、一般によく知られたクラスタリングアルゴリズムであるK−Means法と同様の処理を行なっている。
以上の手順により、4つの代表ベクトル<C>,<C>,<C>,<C>を求めることができる(ステップS1710)。
以上の第1の実施形態によれば、テクスチャデータ内で固定ブロックサイズの分割を行う場合に、視点方向や光源方向などの条件によって変化するテクスチャ群を符号化することによって、データ量を圧縮できる。また、素材の特徴に応じてブロック分割の手法を変化させることによって、圧縮効果を向上することができる。
(第2の実施形態)
第2の実施形態では、可変ブロックサイズで分割されるテクスチャ符号化装置を示す。特に、ブロック分割部102において、どのような手法で適応的にブロック分割されるかについて説明する。
本実施形態は、図1に示すテクスチャ符号化装置のブロック分割部102におけるブロック分割(ステップS202)の処理例を示す。第1の実施形態では、テクスチャデータ内で固定ブロックサイズの分割を行なったが、本実施形態では、適応的にブロックサイズを変化させる。可変ブロック分割の手法としては、例えば、以下に示すような2つ手法がある。
1.《分散値による可変ブロック分割手法》
まずは、図1に示した装置の構成のままで実現する手法である。ブロック分割部102は、まず、どのようなブロック分割をするべきかを調べるための処理を行なう。処理手順の例を図18に示す。
まず、テクスチャ群のデータ全てを1つの大きなブロックデータとする(ステップS1801)。次に、ブロックデータ内に存在する全てのピクセルデータの分散値を計算する(ステップS1802)。そして、その分散値が、予め設定された閾値未満であるかどうかを判定する(ステップS1803)。分散値が閾値未満であれば現在のブロック分割状態のままブロック分割処理は終了し、分散値が閾値以上であれば、そのブロックの分散を大きくさせている次元を検出する(ステップS1804)。具体的には、各次元の変化に依存するベクトルの変化量が最も大きい次元を選び出す。そして、その次元においてブロックを2分割する(ステップS1805)。その後、再びステップS1802の処理に戻る。分割された全てのブロックがある閾値未満の分散値になった時点で処理は終了する。
これが最も基本的な処理方法であるが、初期状態を、ある程度決まった大きさの固定ブロックにしてもよい。また、終了条件は、分散値の上限だけではなく、最小単位のブロックサイズを指定してもよい。
2.《符号化誤差による可変ブロック分割手法》
もうひとつの手法は、ブロック分割部102とブロックデータ符号化部103を用いて分割の仕方を決定させる手法であり、この場合、図1の装置の構成を若干変更する必要がある。変更後の装置の構成を図19に示す。図1の装置と異なるのは、ブロックデータ符号化部の後段に、符号化誤差算出部1901と、符号化誤差比較部1902が加わったことである。以下、既に説明した装置部分と同様なものは同一の番号を付してその説明を省略する。
符号化誤差算出部1901は、ブロックデータ符号化部103と同等の処理を行ない、元データと復号化データとの比較によって符号化誤差の算出を行なう。
符号化誤差比較部1902は、符号化誤差算出部1901が算出した符号化誤差と、符号化誤差がある範囲内である許容条件とを比較する。許容条件は例えば、符号化誤差がある閾値未満であることである。この場合、符号化誤差算出部1901が算出した符号化誤差が閾値未満のブロックに関しては、次のブロックデータ連結部104に出力し、閾値以上のブロックに関しては、ブロック分割部102に処理を戻す。すなわち、ブロック分割部102により、さらに細かいブロックに分割されて再度符号化が行なわれるという流れとなる。換言すれば、各ブロックデータは前回よりもより小さいデータ量になるように分割されて再度符号化が行われる。
以上、2つの可変ブロック分割手法を説明したが、このような手法によってブロック分割を行なった場合、規則的な分割手法ではないために、どのピクセルデータがどのブロックに属しているかを示す“ブロック指定データ”というものが必要となる。ブロック指定データを含めた符号化データ構造は図20のようになる。ただし、ここでは、簡単のためにマクロブロックの概念やブロックデータ外のコードブックデータを排除して考えている。ヘッダ情報とブロックデータとの間に、ブロック指定データが格納されており、そのブロック指定データには、ピクセルデータを抽出するためのパラメータと、ブロックデータに付けられたID番号(ブロック番号)との対応付けを示したテーブルデータが格納されている。このブロック指定データは、後述する第4の実施形態で説明する可変ブロックサイズで符号化されたデータを復号化する処理において、ブロックデータにアクセスするための大切な役割を担うことになる。
以上の第2の実施形態によれば、テクスチャデータ内で可変ブロックサイズの分割を行う場合に、視点方向や光源方向などの条件によって変化するテクスチャ群を符号化することによって、データ量を圧縮できる。
また、本発明の第1および第2の実施形態に係るテクスチャ符号化装置によって符号化されたテクスチャ群のデータは、データベースなどに蓄積することも可能であり、ネットワーク上で公開することもできる。
(第3実施形態)
第3の実施形態では、固定ブロックサイズで符号化されたテクスチャ群のデータを入力するものとし、入力された符号化データをどのように復号化し、グラフィックスデータに、どのようにマッピングするかを示す。本実施形態では、テクスチャ復号化装置(マッピング部を含む)の一連の処理例を示す。
本実施形態のテクスチャ復号化装置について図21を参照して説明する。
まず、概略を説明する。図21のテクスチャ復号化装置は、第1、第2の実施形態で説明したテクスチャ符号化装置によって符号化されたテクスチャデータを入力し、指定されたテクスチャ座標や条件パラメータをもとに、特定のピクセルデータを復号化し、グラフィックスデータにマッピングするものである。
テクスチャ復号化装置は、入力部2101、ブロックデータ抽出部2102、ブロックデータ復号化部2103、ピクセルデータ算出部2104、マッピング部2105、出力部2106を備えている。
入力部2101は、複数の異なる条件で取得あるいは作成したテクスチャ群の符号化データを入力する。
ブロックデータ抽出部2102は、ピクセル位置を指定するテクスチャ座標および条件を指定する条件パラメータを入力し、入力部2101で入力された符号化データの中から、指定されたデータが含まれるブロックデータを抽出する。
ブロックデータ復号化部2103は、ブロックデータ抽出部2102で抽出されたブロックデータを、第1および第2の実施形態で説明したテクスチャ符号化装置におけるブロックデータ符号化部103で符号化される元のデータとして復号する。
ピクセルデータ算出部2104は、ブロックデータ復号化部2103で復号されたデータをもとにピクセルデータを算出する。
マッピング部2105は、テクスチャマッピングの対象となるグラフィックスデータ、および、テクスチャマッピングの手法を指定するマッピングパラメータを入力し、ピクセルデータ算出部2104において算出されたピクセルデータを、入力されたマッピングパラメータをもとに、入力されたグラフィックスデータにマッピングする。
出力部2106は、マッピング手段によってマッピングされたグラフィックスデータを出力する。
次に、図21のテクスチャ復号化装置の動作について図22を参照して説明する。
<ステップS2201>
本実施形態のテクスチャ復号化装置においては、まず、入力部2101が符号化されたテクスチャ群のデータを入力する。入力した時点で、入力部2101は、符号化データのヘッダ情報を読み取り、テクスチャサイズ、テクスチャ群を取得した条件、符号化フォーマットなどを調べる。
<ステップS2202>
次に、ブロックデータ抽出部2102がテクスチャ座標および条件パラメータの入力を行なう。これらのパラメータは、グラフィックスデータの各頂点に設定されたテクスチャ座標やカメラ位置、光源位置などのシーン情報から得られるものである。
<ステップS2203>
次に、ブロックデータ抽出部2102がブロックデータの抽出を行なう。本実施形態では、ブロック分割は、固定ブロックサイズで行なわれているものとしている。したがって、ブロックデータ抽出部2102は、入力したテクスチャ座標u,vおよび条件パラメータθc,φc,θl,φlをもとにして、そのピクセルデータが存在するブロックデータにアクセスすることができる。
ただし、ここで気をつけなければならないのは、求められている条件パラメータが、元々テクスチャを取得した条件とぴったり適合するものではない場合があるということである。そのような場合には、存在する近傍の条件のピクセルデータを全て抽出し、補間する必要がある。例えば、θc未満の最も近いテクスチャサンプルの条件をθc0、θc以上の最も近いテクスチャサンプルの条件をθc1とし、同様に、φc0,φc1,θl0,θl1,φl0,φl1を決定すると、これらの条件を満たす全てのピクセルデータを抽出することになる。抽出すべきピクセルデータは、以下のc0からc15の16個である。
c0=getPixel(θc0,φc0,θl0,φl0,us,vs)
c1=getPixel(θc0,φc0,θl0,φl1,us,vs)
c2=getPixel(θc0,φc0,θl1,φl0,us,vs)
c3=getPixel(θc0,φc0,θl1,φl1,us,vs)
c4=getPixel(θc0,φc1,θl0,φl0,us,vs)
c5=getPixel(θc0,φc1,θl0,φl1,us,vs)
c6=getPixel(θc0,φc1,θl1,φl0,us,vs)
c7=getPixel(θc0,φc1,θl1,φl1,us,vs)
c8=getPixel(θc1,φc0,θl0,φl0,us,vs)
c9=getPixel(θc1,φc0,θl0,φl1,us,vs)
c10=getPixel(θc1,φc0,θl1,φl0,us,vs)
c11=getPixel(θc1,φc0,θl1,φl1,us,vs)
c12=getPixel(θc1,φc1,θl0,φl0,us,vs)
c13=getPixel(θc1,φc1,θl0,φl1,us,vs)
c14=getPixel(θc1,φc1,θl1,φl0,us,vs)
c15=getPixel(θc1,φc1,θl1,φl1,us,vs)
ただし、us,vsはこの例において入力されたテクスチャ座標であるものとし、getPixelは条件パラメータとテクスチャ座標の6次元のパラメータをもとに、ピクセルデータを抽出する関数であるものとする。そして、この16個のピクセルデータを以下のように補間することによって最終的なピクセルデータcを抽出することができる。
c=(1−ε0)×(1−ε1)×(1−ε2)×(1−ε3)×c0
+(1−ε0)×(1−ε1)×(1−ε2)× ε3 ×c1
+(1−ε0)×(1−ε1)× ε2 ×(1−ε3)×c2
+(1−ε0)×(1−ε1)× ε2 × ε3 ×c3
+(1−ε0)× ε1 ×(1−ε2)×(1−ε3)×c4
+(1−ε0)× ε1 ×(1−ε2)× ε3 ×c5
+(1−ε0)× ε1 × ε2 ×(1−ε3)×c6
+(1−ε0)× ε1 × ε2 × ε3 ×c7
+ ε0 ×(1−ε1)×(1−ε2)×(1−ε3)×c8
+ ε0 ×(1−ε1)×(1−ε2)× ε3 ×c9
+ ε0 ×(1−ε1)× ε2 ×(1−ε3)×c10
+ ε0 ×(1−ε1)× ε2 × ε3 ×c11
+ ε0 × ε1 ×(1−ε2)×(1−ε3)×c12
+ ε0 × ε1 ×(1−ε2)× ε3 ×c13
+ ε0 × ε1 × ε2 ×(1−ε3)×c14
+ ε0 × ε1 × ε2 × ε3 ×c15
ただし、補間率ε0,ε1,ε2,ε3は以下のように算出する。
ε0=(θc−θc0)/(θc1−θc0)
ε1=(φc−φc0)/(φc1−φc0)
ε2=(θl−θl0)/(θl1−θl0)
ε3=(φl−φl0)/(φl1−φl0)
以上のように、1つのピクセルデータを算出するのに、16個のピクセルデータを抽出して補間する必要があるが、ここで注目すべきポイントは、本発明の実施形態で提案している符号化データは、同じブロックデータ内に隣り合った条件のピクセルデータが存在しているということである。したがって、上記のような16個のピクセルデータが、全て同一のブロックデータに含まれている場合もあり、その場合には、1個のブロックデータを抽出するだけで、補間済みのピクセルデータを算出することができる。しかしながら、場合によっては、2個〜16個のブロックデータを抽出しなければならない場合もあるので、条件パラメータに応じて抽出回数を変化させる必要がある。
一般に、テクスチャロード命令(ピクセルデータまたはブロックデータを抽出する処理)の回数は、グラフィックスLSIにおける実行速度に影響することが知られており、できるだけテクスチャロード命令を減らすことによって、レンダリング速度を速めることができる。したがって、本発明の実施形態で提案している符号化データは、より高速なテクスチャマッピングを実現させるための符号化方法であると言える。
<ステップS2204>
次に、ブロックデータ復号化部2103がブロックデータの復号化を行なう。ブロックデータを復号化し特定のピクセルデータを抽出する手法は、符号化フォーマットによって若干異なる。しかしながら、基本的には、抽出したいピクセルのインデックスデータを参照し、それによって復号化方法を判定する。インデックスデータによって指し示された代表ベクトルをそのまま抽出する場合もあれば、基準ベクトルからベクトル変化量の分だけ変化させたベクトルを抽出する場合もある。また、2つのベクトルを補間したベクトルを抽出する場合もある。これらは、それぞれ符号化の際に決められたルールに基づいて復号化される。
<ステップS2205>
次に、ピクセルデータ算出部2104がピクセルデータの算出を行なう。ここでは、前述したとおり、16個のピクセルデータを上記の計算式を用いて補間する処理を行なう。
<ステップS2206、S2207、S2208>
次に、マッピング部2105がグラフィックスデータおよびマッピングパラメータを入力(ステップS2206)し、マッピングパラメータに合わせて、ピクセルデータをマッピングする(ステップS2207)。そして最後に、出力部2106がテクスチャマッピング済みのグラフィックスデータを出力する(ステップS2208)。
次に、テクスチャの配置手法によってテクスチャマッピングの処理速度(レンダリング性能)が変化する様子について図23、図24、図25、図26を参照して説明する。
グラフィックスLSI上でのレンダリング性能は、テクスチャの配置方法に大きく左右される。本実施形態では、高次元テクスチャの一例として、(u,v,θc,φc,θl,φl)の6次元パラメータで表現されるテクスチャを挙げているが、このようなテクスチャデータをグラフィックスLSIのメモリにどのような配列で格納するかによって、ピクセルデータをロードする回数やハードウェア上に存在するテクスチャキャッシュにヒットする割合が変化し、それによってレンダリング性能にも変化が見られる。これは、無圧縮の高次元テクスチャに関しても言えることであるが、高次元テクスチャを符号化する際にも、この点に留意してブロック化し、ブロックデータを連結する必要がある。
以下、テクスチャの配置方法によって、どんな違いが見られるのかを示す。図23(a)は、uv方向の変化を一括りにしたテクスチャ(いわゆる通常のテクスチャ)をθ方向の変化に応じてタイル状に並べ、さらにそれをφ方向の変化に応じてタイル状に並べた2次元テクスチャである。この配置方法の場合、uv方向の変化に応じたピクセルデータは、隣り合ったピクセル位置に格納されているので、グラフィックスLSIのbi−linear機能を利用することによって高速に補間されたピクセルデータを抽出することができる。しかしながら、高次元テクスチャの生成処理が行なわれ、小さなテクスチャサンプルから任意サイズの高次元テクスチャを表現しているような場合には、インデックスによって、uvの位置が決められ、必ずしも連続的なuやvの値が指定されるとは限らないので、グラフィックスLSIのbi−linear機能を利用することはできない。
一方、θ方向やφ方向の変化に応じたピクセルデータは、離れたピクセル位置に格納されているため、テクスチャ座標の計算を行なって複数回ピクセルデータを抽出し、ソフトウェア上で補間計算を行なう必要がある。さらに、テクスチャキャッシュのヒット率について考えると、描画するフレームの隣り合ったピクセル値を求める際にどれだけ近くのテクスチャ座標が参照されるかによってヒット率が決まるため、図23(a)のような配置方法の場合は、ヒットしやすい。なぜなら、uvの隣り合ったピクセルは、大抵の場合、θやφの条件が似通っているからである。
図23(b)は、uv方向の変化を一括りにしたテクスチャをφ方向の変化に応じてタイル状に並べ、さらにそれをθ方向の変化に応じて、レイヤー方向(高さ方向)に重ねた3次元テクスチャである。この配置の場合、uv方向のbi−linearに加えて、θl方向の補間もハードウェアの機能で行なえる。つまり3次元テクスチャのtri−linear機能を使った補間計算を行なうことができる。その分、図23(a)に比べてテクスチャのロード回数を減らすことができる。テクスチャキャッシュのヒット率に関しては、図23(a)とそれほど変わりはないので、テクスチャのロード回数が減る分、高速にレンダリングすることができる。
図24(a)および図25(a)は、それぞれθ方向、φ方向の変化を一括りにしたテクスチャを、それぞれφ方向、θ方向の変化に応じてタイル状に並べ、さらにそれをuv方向の変化に応じてタイル状に並べた2次元テクスチャである。これらの配置方法の場合、それぞれθ方向、φ方向の変化に応じたピクセルデータは、隣り合ったピクセル位置に格納されているので、グラフィックスLSIのbi−linear機能を利用することによって、高速に補間されたピクセルデータを抽出することができる。一方、それぞれφ方向、θ方向やuv方向の変化に応じたピクセルデータは、離れたピクセル位置に格納されているため、テクスチャ座標の計算を行なって複数回ピクセルデータを抽出し、ソフトウェア上で補間計算を行なう必要がある。
テクスチャキャッシュのヒット率についは、uv方向の変化に応じたピクセルデータが離れたピクセル位置に格納されているため、図23の配置方法に比べて良くない。そこで、その改善策として、図26(a),(b)のような配置方法に変更すると、テクスチャキャッシュのヒット率が向上し、レンダリング性能を上げることができる。これらは、uv方向の変化に応じたタイルをより近い位置に並べているため、描画するフレームの隣り合ったピクセル値を求める際に、より近いテクスチャ座標が参照される。
図24(b)および図25(b)は、それぞれθ方向、φ方向の変化を一括りにしたテクスチャを、uv方向の変化に応じてタイル状に並べ、さらにそれを、それぞれφ方向、θ方向の変化に応じて、レイヤー方向(高さ方向)に重ねた3次元テクスチャである。これらの配置の場合、それぞれθ方向、φ方向のbi−linearに加えて、それぞれφl方向、θl方向の補間もハードウェアの機能で行なえる。つまり、3次元テクスチャのtri−linear機能を使った補間計算を行なうことができる。その分、図24(b)および図25(b)は、図25(a)および図26(a)に比べてテクスチャのロード回数を減らすことができる。テクスチャキャッシュのヒット率に関しては、図25(a)および図26(a)に比べてヒット率を向上させることができる。なぜなら、2次元テクスチャの場合は、uv方向の変化に応じたタイルが離れた位置にある一方で、3次元テクスチャの場合は、レイヤー方向(高さ方向)にuvが近く、かつ、θlもしくはφlの近いピクセルデータが存在するからである。
このように、テクスチャの配置方法によってテクスチャのロード回数やテクスチャキャッシュのヒット率が変化し、レンダリング性能が大きく変化する。こういった性質を踏まえた上で、テクスチャの配置方法を決定し、ブロック化方法の決定、符号化、ブロックデータの連結を行なうことによって、より効率的な高次元テクスチャマッピングを実現することができる。
例えば、図24(a)であれば、θc方向およびθl方向の2次元でブロック化し、それを符号化することにより、図24(a)のような配置方法でグラフィックスLSIのメモリ上に符号化データを格納することができ、マッピング時にはハードウェアのbi−linear機能を利用することができる。
以上の第3の実施形態によれば、固定ブロックサイズで符号化されたテクスチャ群のデータを入力する場合に、視点方向や光源方向などの条件によって変化するテクスチャ群を符号化することによって、グラフィックスLSI上でのテクスチャマッピングの処理速度を向上させることができる。
(第4の実施形態)
第4の実施形態では、可変ブロックサイズで符号化されたテクスチャ群のデータを入力した場合の、テクスチャ復号化装置(マッピング部を含む)の処理について説明する。特に、ブロックデータ抽出部において、どのようにしてブロックデータにアクセスするかについて説明する。
本実施形態でのテクスチャ復号化装置の動作について説明する。ここでは、テクスチャ復号化装置に含まれるブロックは、図21と同様である。したがって、ブロックデータ抽出部2102におけるブロックデータ抽出部2102が行うブロックデータ抽出(ステップS2203)の処理例を示す。
第3の実施形態では、固定ブロックサイズで符号化されたテクスチャデータを対象としていたが、本実施形態では、可変ブロックサイズで符号化されたテクスチャデータを対象とする。可変ブロックサイズで符号化されたテクスチャデータにおいて、ブロックデータに適切にアクセスし抽出する手法としては、例えば、以下のような2つの手法がある。
1.《ブロック指定データを用いたブロックデータ抽出》
第2の実施形態で説明したように、可変ブロックサイズで符号化した場合には、ブロック指定データが符号化データ内に含まれる。したがって、ブロックデータ抽出部2102が、テクスチャ座標および条件パラメータを入力した後に、その入力した6次元のパラメータと、ブロック指定データとを照らし合わせることによって、どこのブロックデータにアクセスすればよいかを調べることができる。指定のブロックデータにアクセスすることができれば、それ以降の処理は、第3の実施形態で説明した処理と同様である。
2.《符号化データ変換を用いたブロックデータ抽出》
もう1つの手法は、符号化データ変換処理を行なってからブロックデータ抽出を行なうというものである。この場合、図22の装置の構成を若干変更する必要がある。変更後の装置の構成を図27に示す。図27で図21と異なる装置部分は、符号化データ変換部2701だけである。符号化データ変換部2701は、ブロックデータ抽出部2102の前段、かつ、入力部2101の後段に設定される。
符号化データ変換部2701では、可変ブロックサイズで符号化されていたテクスチャデータを、固定ブロックサイズでの符号化データに変換するという処理を行なう。符号化データ変換部2701において可変サイズのブロックデータにアクセスする際には、ブロック指定データを利用する。そして、固定サイズに変換した後は、ブロック指定データは不要になるため削除される。
図28は、可変ブロックサイズから固定ブロックサイズへ変換する様子を簡単に図示している。可変サイズで分割されているブロックよりも大きなサイズに変換しようとすると、再度符号化処理を行なうのと同等な計算量が必要になってしまう。一方、可変サイズで分割されているブロック以下のサイズに変換するのは、復号化処理程度の簡単な計算で、実現することができる。したがって、後者のような変換を行なう。固定サイズの符号化データに変換することができれば、それ以降の処理は、第3の実施形態で説明した処理と同様である。
可変ブロックサイズの符号化データにおけるブロックデータ抽出の手法を2つ説明したが、ブロック指定データを用いた手法では、少ないデータ量のままでマッピングできるというメリットがある反面、ピクセル処理をする度にブロック指定データを参照しなければならないというデメリットがある。これは、グラフィックスLSIにおいて、余計なテクスチャロード命令が一回増えてしまうことに相当し、レンダリング速度に影響を与えてしまう。
また、符号化データ変換を用いた手法では、グラフィックスLSI内部のビデオメモリに格納する直前に固定ブロックサイズのデータに変換することによって、比較的高速なレンダリングを行なうことができる。しかしその一方で、固定ブロックサイズにすることによって、データ量が比較的増えてしまうという問題もある。どちらの手法においてもメリット・デメリットがあるため、テクスチャ素材の複雑度やグラフィックスLSIの仕様に応じて、うまく使い分ける必要がある。
以上の第4の実施形態によれば、可変ブロックサイズで符号化されたテクスチャ群のデータを入力する場合に、視点方向や光源方向などの条件によって変化するテクスチャ群を符号化することによって、グラフィックスLSI上でのテクスチャマッピングの処理速度を向上させることができる。
また、上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態のコンピュータグラフィックスデータ符号化装置および復号化装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD−ROM、CD−R、CD−RW、DVD−ROM、DVD±R、DVD±RWなど)、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態のテクスチャ符号化装置およびテクスチャ復号化装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。
また、記憶媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーションシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本願発明における記憶媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本発明における記憶媒体に含まれ、媒体の構成は何れの構成であってもよい。
なお、本願発明におけるコンピュータまたは組み込みシステムは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
また、本願発明の実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の実施形態における機能を実現することが可能な機器、装置を総称している。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
次世代グラフィックス処理エンジンへの搭載や、アパレル業界向けの衣服シミュレーション、建築物や車の外装/内装シミュレーションなどへの応用が期待できる。
本発明の第1の実施形態に係るテクスチャ符号化装置のブロック図。 本発明の第1の実施形態に係るテクスチャ符号化装置の動作を示すフローチャート。 図1の入力部がテクスチャを取得する場合の視点および光源の位置を示す角度パラメータを示す図。 ピクセルデータおよび代表ベクトルの分布を示す図。 図4に対応する符号化方法で符号化されたブロックデータの符号化フォーマットを示す図。 ベクトル変化量を用いたブロックデータの符号化を示す図。 図6に対応する符号化方法で符号化されたブロックデータの符号化フォーマットを示す図。 補間率を用いたブロックデータの符号化を示す図。 図8に対応する符号化方法で符号化されたブロックデータの符号化フォーマットを示す図。 補間を指示するだけのインデックスを用いたブロックデータの符号化を示す図。 図10に対応する符号化方法で符号化されたブロックデータの符号化フォーマットを示す図。 マクロブロックやテクスチャ全体のコードブックを用いたブロックデータの符号化フォーマットを示す図。 ベクトル成分ごとに分割したブロックデータの符号化フォーマットを示す図。 テクスチャ群の符号化データ構造を示す図。 図1のテクスチャ符号化装置の処理の概要を示す図。 図15に対応する従来の処理の概要を示す図。 図2のステップS203で算出される代表ベクトルの算出方法を示すフローチャート。 本発明の第2の実施形態に係るテクスチャ符号化装置でのブロック分割方法を示すフローチャート。 本発明の第2の実施形態での符号化誤差によってブロック分割するテクスチャ符号化装置のブロック図。 図19のテクスチャ符号化装置で使用されるブロック指定データを含んだ符号化データ構造を示す図。 本発明の第3の実施形態に係るテクスチャ復号化装置のブロック図。 図21のテクスチャ復号化装置の動作を示すフローチャート。 uv方向を基準としたテクスチャデータの配置方法を示す図。 θ方向を基準としたテクスチャデータの配置方法を示す図。 φ方向を基準としたテクスチャデータの配置方法を示す図。 図24(a)と図25(a)のテクスチャデータの配置を若干変更させた方法を示す図。 本発明の第4の実施形態に係るテクスチャ復号化装置のブロック図。 可変ブロックサイズから固定ブロックサイズへ変換する様子を示す図。
符号の説明
101、2101…入力部、102…ブロック分割部、103…ブロックデータ符号化部、104…ブロックデータ連結部、105、2106…出力部、1901…符号化誤差算出部、1902…符号化誤差比較部、2102…ブロックデータ抽出部、2103…ブロックデータ復号化部、2104…ピクセルデータ算出部、2105…マッピング部、2701…符号化データ変換部。

Claims (27)

  1. 複数の異なる条件で取得あるいは作成したテクスチャ群のデータを取得するテクスチャデータ取得手段と、
    前記テクスチャ群のうち、前記条件に対応する値がある第1範囲内にあり、かつ、ピクセル位置がある第2範囲内にある複数のピクセルデータを1つの集まりとしてブロック化して、前記テクスチャ群のデータを複数のブロックデータに分割するブロック分割手段と、
    前記分割されたブロックデータのそれぞれに対して、符号化を行なうブロックデータ符号化手段と、
    前記符号化されたブロックデータを連結し、テクスチャ群の符号化データを生成するブロックデータ連結手段と、
    前記生成されたテクスチャ群の符号化データを出力する出力手段と、を具備し、
    前記ブロック分割手段は、前記取得したテクスチャ群のデータに含まれる複数のピクセルデータの分散値を算出する算出手段と、
    各分散値がある値よりも小さいか否かを比較する比較手段と、
    前記ある値以上の分散値を有するピクセルデータがある場合には、前記複数の条件のうちの1つに対応する、ピクセルデータの次元で、かつ、分散値の最も大きい次元を検出する検出手段と、
    前記検出された次元で前記テクスチャ群のデータを2分割する分割手段と、を含み、
    前記算出手段は、さらに、前記2分割されたデータごとに分散値を算出することを特徴とするテクスチャ符号化装置。
  2. 前記ブロック分割手段は、複数の前記条件および前記ピクセル位置がある値を有するピクセルデータを基にして、該ピクセルデータと、該ピクセル位置が同一で各前記条件をある範囲内で変更した一定数のピクセルデータと、を1つの集まりとしてブロック化することを特徴とする請求項1に記載のテクスチャ符号化装置。
  3. 複数の異なる条件で取得あるいは作成したテクスチャ群のデータを取得するテクスチャ取得手段と、
    前記テクスチャ群のうち、前記条件に対応する値がある第1範囲内にあり、かつ、ピクセル位置がある第2範囲内にある複数のピクセルデータを1つの集まりとしてブロック化して、前記テクスチャ群のデータを複数のブロックデータに分割するブロック分割手段と、
    前記分割されたブロックデータのそれぞれに対して、符号化を行なうブロックデータ符号化手段と、
    前記符号化されたブロックデータのそれぞれの符号化誤差を算出する誤差算出手段と、
    ブロックデータごとに、前記算出された符号化誤差と、符号化誤差がある範囲内である許容条件とを比較する比較手段と、
    前記算出された符号化誤差が前記許容条件を満たすブロックデータについては、前記符号化されたブロックデータのそれぞれを連結するブロックデータ連結手段と、
    前記連結されたブロックデータをテクスチャ群の符号化データとして出力する出力手段と、を具備し、
    前記算出された符号化誤差が前記許容条件を満たさないブロックデータについては、前記ブロック分割手段が、該ブロックデータを前記分割されたブロックデータよりも小さいデータ量を有するブロックデータに分割することを特徴とするテクスチャ符号化装置。
  4. 前記ブロックデータ符号化手段は、ベクトル量子化によって前記分割されたブロックデータごとに符号化を行なうことを特徴とする請求項1から請求項3のいずれか1項に記載のテクスチャ符号化装置。
  5. 前記ブロックデータ符号化手段は、
    各前記分割されたブロックデータからベクトル量子化により複数の代表ベクトルを算出するベクトル算出手段と、
    各ブロックデータに対応する複数の代表ベクトルを含むコードブックデータと、各前記ブロックデータ内の各ピクセルデータがどの代表ベクトルに対応するかの情報であるインデックスデータとを作成する作成手段と、を含むことを特徴とする請求項1から請求項3のいずれか1項に記載のテクスチャ符号化装置。
  6. 前記ブロックデータ符号化手段は、復号の元データとして利用されるコードブックデータ、および、各ピクセルの復号方法を識別するためのインデックスデータを作成する作成手段を含み、
    前記符号化されたブロックデータは、前記コードブックデータおよび前記インデックスデータを含むことを特徴とする請求項1から請求項3のいずれか1項に記載のテクスチャ符号化装置。
  7. 複数の異なる条件で取得あるいは作成したテクスチャ群のデータを取得するテクスチャデータ取得手段と、
    前記テクスチャ群のうち、前記条件に対応する値がある第1範囲内にあり、かつ、ピクセル位置がある第2範囲内にある複数のピクセルデータを1つの集まりとしてブロック化して、前記テクスチャ群のデータを複数のブロックデータに分割するブロック分割手段と、
    前記分割されたブロックデータのそれぞれに対して、符号化を行なうブロックデータ符号化手段と、
    前記符号化されたブロックデータを連結し、テクスチャ群の符号化データを生成するブロックデータ連結手段と、
    前記生成されたテクスチャ群の符号化データを出力する出力手段と、を具備し、
    前記ブロックデータ符号化手段は、
    各前記分割されたブロックデータからベクトル量子化により複数の代表ベクトルを算出するベクトル算出手段と、
    各ブロックデータに対応する複数の代表ベクトルを含むコードブックデータと、各前記ブロックデータ内の各ピクセルデータがどの代表ベクトルに対応するかの情報であるインデックスデータとを作成する作成手段と、を含み、
    前記ブロックデータ符号化手段は、
    複数のブロックを1つの集まりとしたマクロブロック単位、または、テクスチャ群全体に、前記コードブックデータを付与する付与手段と、
    各ピクセルのインデックスデータにおいて、ブロック内のコードブックデータに加えて、マクロブロック単位のコードブックデータ、または、テクスチャ群全体のコードブックデータを用いて復号する方法を示す、各ピクセルのインデックスデータを作成する作成手段と、を含むことを特徴とするテクスチャ符号化装置。
  8. 複数の異なる条件で取得あるいは作成したテクスチャ群のデータを取得するテクスチャデータ取得手段と、
    前記テクスチャ群のうち、前記条件に対応する値がある第1範囲内にあり、かつ、ピクセル位置がある第2範囲内にある複数のピクセルデータを1つの集まりとしてブロック化して、前記テクスチャ群のデータを複数のブロックデータに分割するブロック分割手段と、
    前記分割されたブロックデータのそれぞれに対して、符号化を行なうブロックデータ符号化手段と、
    前記符号化されたブロックデータを連結し、テクスチャ群の符号化データを生成するブロックデータ連結手段と、
    前記生成されたテクスチャ群の符号化データを出力する出力手段と、を具備し、
    前記ブロックデータ符号化手段は、復号の元データとして利用されるコードブックデータ、および、各ピクセルの復号方法を識別するためのインデックスデータを作成する作成手段を含み、
    前記符号化されたブロックデータは、前記コードブックデータおよび前記インデックスデータを含み、
    前記ブロックデータ符号化手段は、
    複数のブロックを1つの集まりとしたマクロブロック単位、または、テクスチャ群全体に、前記コードブックデータを付与する付与手段と、
    各ピクセルのインデックスデータにおいて、ブロック内のコードブックデータに加えて、マクロブロック単位のコードブックデータ、または、テクスチャ群全体のコードブックデータを用いて復号する方法を示す、各ピクセルのインデックスデータを作成する作成手段と、を含むことを特徴とするテクスチャ符号化装置。
  9. 前記作成手段は、前記コードブックデータに、ブロックデータ内の代表的なピクセルデータを示す代表ベクトル、または、ある代表ベクトルからの変化量を保持するベクトル変化量、または、複数の代表ベクトルを補間するための補間率を含めることを特徴とする請求項6または請求項8に記載のテクスチャ符号化装置。
  10. 複数の異なる条件で取得あるいは作成したテクスチャ群のデータを取得するテクスチャデータ取得手段と、
    前記テクスチャ群のうち、前記条件に対応する値がある第1範囲内にあり、かつ、ピクセル位置がある第2範囲内にある複数のピクセルデータを1つの集まりとしてブロック化して、前記テクスチャ群のデータを複数のブロックデータに分割するブロック分割手段と、
    前記分割されたブロックデータのそれぞれに対して、符号化を行なうブロックデータ符号化手段と、
    前記符号化されたブロックデータを連結し、テクスチャ群の符号化データを生成するブロックデータ連結手段と、
    前記生成されたテクスチャ群の符号化データを出力する出力手段と、を具備し、
    前記ブロックデータ符号化手段は、
    各前記分割されたブロックデータからベクトル量子化により複数の代表ベクトルを算出するベクトル算出手段と、
    各ブロックデータに対応する複数の代表ベクトルを含むコードブックデータと、各前記ブロックデータ内の各ピクセルデータがどの代表ベクトルに対応するかの情報であるインデックスデータとを作成する作成手段と、を含み、
    前記ブロックデータ符号化手段は、各ピクセルデータのベクトルの成分が、色情報、透過度情報、法線ベクトル情報、深度情報、照明効果情報、グラフィックスデータの作成において必要となるベクトル情報からなるブロックデータを符号化することを特徴とするテクスチャ符号化装置。
  11. 複数の異なる条件で取得あるいは作成したテクスチャ群のデータを取得するテクスチャデータ取得手段と、
    前記テクスチャ群のうち、前記条件に対応する値がある第1範囲内にあり、かつ、ピクセル位置がある第2範囲内にある複数のピクセルデータを1つの集まりとしてブロック化して、前記テクスチャ群のデータを複数のブロックデータに分割するブロック分割手段と、
    前記分割されたブロックデータのそれぞれに対して、符号化を行なうブロックデータ符号化手段と、
    前記符号化されたブロックデータを連結し、テクスチャ群の符号化データを生成するブロックデータ連結手段と、
    前記生成されたテクスチャ群の符号化データを出力する出力手段と、を具備し、
    前記ブロックデータ符号化手段は、復号の元データとして利用されるコードブックデータ、および、各ピクセルの復号方法を識別するためのインデックスデータを作成する作成手段を含み、
    前記符号化されたブロックデータは、前記コードブックデータおよび前記インデックスデータを含み、
    前記ブロックデータ符号化手段は、各ピクセルデータのベクトルの成分が、色情報、透過度情報、法線ベクトル情報、深度情報、照明効果情報、グラフィックスデータの作成において必要となるベクトル情報からなるブロックデータを符号化することを特徴とするテクスチャ符号化装置。
  12. 前記ブロックデータ符号化手段は、前記成分のうちの1つ以上の異なる成分を組み合わせてベクトル化し、ベクトル量子化の際に、各前記成分の変化の特性に応じて、前記インデックスデータを成分ごとに割り当てたり、前記コードブックデータを成分ごとに割り当てたりすることを特徴とする請求項10または請求項11に記載のテクスチャ符号化装置。
  13. 前記ブロックデータ符号化手段は、前記成分のうち、ある変化量よりも変化の少ない成分に対して割り当てる符号量よりも、ある変化量以上に変化の多い成分に対して多くの符号量を割り当てることを特徴とする請求項10から請求項12のいずれか1項に記載のテクスチャ符号化装置。
  14. 複数の異なる条件で取得あるいは作成したテクスチャ群の符号化データを取得する符号化データ取得手段と、
    前記符号化データに含まれるブロックのサイズを固定ブロックサイズに変換する符号化データ変換手段と、
    ピクセル位置を指定するテクスチャ座標および前記条件を指定する条件パラメータを取得する指定データ取得手段と、
    前記変換された符号化データの中から、前記テクスチャ座標および前記条件パラメータに対応するブロックデータを抽出するブロックデータ抽出手段と、
    前記抽出されたブロックデータを復号するブロックデータ復号化手段と、
    前記復号されたデータをもとにピクセルデータを算出するピクセルデータ算出手段と、
    前記算出されたピクセルデータを出力するピクセルデータ出力手段と、を具備することを特徴とするテクスチャ復号化装置。
  15. 複数の異なる条件で取得あるいは作成したテクスチャ群の符号化データを取得する符号化データ取得手段と、
    ピクセル位置を指定するテクスチャ座標および前記条件を指定する条件パラメータを取得する指定データ取得手段と、
    前記符号化データの中から、前記テクスチャ座標および前記条件パラメータに対応するブロックデータを抽出するブロックデータ抽出手段と、
    前記抽出されたブロックデータを復号するブロックデータ復号化手段と、
    前記復号されたデータをもとにピクセルデータを算出するピクセルデータ算出手段と、
    前記算出されたピクセルデータを出力するピクセルデータ出力手段と、を具備し、
    前記符号化データ変換手段は、請求項1に記載の分割が行なわれた符号化データを、請求項2に記載のブロック化が行なわれた符号化データに変換することを特徴とするテクスチャ復号化装置。
  16. テクスチャマッピングの対象となるグラフィックスデータ、および、テクスチャマッピングの手法を指定するマッピングパラメータを取得する取得手段と、
    前記マッピングパラメータを参照して、前記ピクセルデータを、前記グラフィックスデータにマッピングするマッピング手段と、
    前記マッピングされたグラフィックスデータを出力するグラフィックスデータ出力手段と、をさらに具備することを特徴とする請求項14または請求項15に記載のテクスチャ復号化装置。
  17. 前記符号化データ取得手段は、請求項2記載のブロック分割手段を用いたテクスチャ符号化装置によって符号化されたデータを取得し、
    前記ブロックデータ抽出手段は、請求項2記載のブロック化にしたがって、ブロックデータにアクセスすることを特徴とする請求項14から請求項16のいずれか1項に記載のテクスチャ復号化装置。
  18. 前記符号化データ取得手段は、請求項1記載のブロック分割手段を用いたテクスチャ符号化装置によって符号化されたデータを取得し、
    前記ブロックデータ抽出手段は、ピクセル位置を指定するテクスチャ座標および前記条件を指定する条件パラメータに加えて、前記テクスチャ座標や前記条件パラメータをもとにアクセスするべきブロックデータを決定するためのテーブルデータであるブロック指定データも入力し、
    前記テクスチャ座標、前記条件パラメータ、前記ブロック指定データに基づいて、アクセスするべきブロックデータを決定して、ブロックデータを抽出することを特徴とする請求項14から請求項16のいずれか1項に記載のテクスチャ復号化装置。
  19. 複数の異なる条件で取得あるいは作成したテクスチャ群の符号化データを取得する符号化データ取得手段と、
    ピクセル位置を指定するテクスチャ座標および前記条件を指定する条件パラメータを取得する指定データ取得手段と、
    前記符号化データの中から、前記テクスチャ座標および前記条件パラメータに対応するブロックデータを抽出するブロックデータ抽出手段と、
    前記抽出されたブロックデータを復号するブロックデータ復号化手段と、
    前記復号されたデータをもとにピクセルデータを算出するピクセルデータ算出手段と、
    前記算出されたピクセルデータを出力するピクセルデータ出力手段と、を具備し、
    前記符号化データ取得手段は、請求項1記載のブロック分割手段を用いたテクスチャ符号化装置によって符号化されたデータを取得し、
    前記ブロックデータ抽出手段は、ピクセル位置を指定するテクスチャ座標および前記条件を指定する条件パラメータに加えて、前記テクスチャ座標や前記条件パラメータをもとにアクセスするべきブロックデータを決定するためのテーブルデータであるブロック指定データも入力し、
    前記テクスチャ座標、前記条件パラメータ、前記ブロック指定データに基づいて、アクセスするべきブロックデータを決定して、ブロックデータを抽出することを特徴とするテクスチャ復号化装置。
  20. テクスチャマッピングの対象となるグラフィックスデータ、および、テクスチャマッピングの手法を指定するマッピングパラメータを取得する取得手段と、
    前記マッピングパラメータを参照して、前記ピクセルデータを、前記グラフィックスデータにマッピングするマッピング手段と、
    前記マッピングされたグラフィックスデータを出力するグラフィックスデータ出力手段と、をさらに具備することを特徴とする請求項19に記載のテクスチャ復号化装置。
  21. 前記ブロックデータ抽出手段は、前記条件を指定する条件パラメータが符号化されたテクスチャ群の中の取得条件または作成条件とちょうど適合するものが存在しない場合には、アクセスするべきブロックデータが2以上になり、
    ピクセル位置を指定するテクスチャ座標、前記条件パラメータ、前記テクスチャ座標や前記条件パラメータをもとにアクセスするべきブロックデータを決定するためのテーブルデータであるブロック指定データによって、いくつのブロックデータにアクセスするべきかを決定して、必要となる全てのブロックデータを抽出し、
    前記符号化データが、ブロック化されている場合には、一度に複数の条件のピクセルデータを抽出することを特徴とする請求項14から請求項16のいずれか1項に記載のテクスチャ復号化装置。
  22. 複数の異なる条件で取得あるいは作成したテクスチャ群の符号化データを取得する符号化データ取得手段と、
    ピクセル位置を指定するテクスチャ座標および前記条件を指定する条件パラメータを取得する指定データ取得手段と、
    前記符号化データの中から、前記テクスチャ座標および前記条件パラメータに対応するブロックデータを抽出するブロックデータ抽出手段と、
    前記抽出されたブロックデータを復号するブロックデータ復号化手段と、
    前記復号されたデータをもとにピクセルデータを算出するピクセルデータ算出手段と、
    前記算出されたピクセルデータを出力するピクセルデータ出力手段と、を具備し、
    前記ブロックデータ抽出手段は、前記条件を指定する条件パラメータが符号化されたテクスチャ群の中の取得条件または作成条件とちょうど適合するものが存在しない場合には、アクセスするべきブロックデータが2以上になり、
    ピクセル位置を指定するテクスチャ座標、前記条件パラメータ、前記テクスチャ座標や前記条件パラメータをもとにアクセスするべきブロックデータを決定するためのテーブルデータであるブロック指定データによって、いくつのブロックデータにアクセスするべきかを決定して、必要となる全てのブロックデータを抽出し、
    前記符号化データが、ブロック化されている場合には、一度に複数の条件のピクセルデータを抽出することを特徴とするテクスチャ復号化装置。
  23. テクスチャマッピングの対象となるグラフィックスデータ、および、テクスチャマッピングの手法を指定するマッピングパラメータを取得する取得手段と、
    前記マッピングパラメータを参照して、前記ピクセルデータを、前記グラフィックスデータにマッピングするマッピング手段と、
    前記マッピングされたグラフィックスデータを出力するグラフィックスデータ出力手段と、をさらに具備することを特徴とする請求項22に記載のテクスチャ復号化装置。
  24. 複数の異なる条件で取得あるいは作成したテクスチャ群のデータを取得し、
    前記テクスチャ群のうち、前記条件に対応する値がある第1範囲内にあり、かつ、ピクセル位置がある第2範囲内にある複数のピクセルデータを1つの集まりとしてブロック化して、前記テクスチャ群のデータを複数のブロックデータに分割し、
    前記分割されたブロックデータのそれぞれに対して、符号化を行い、
    前記符号化されたブロックデータのそれぞれの符号化誤差を算出し、
    ブロックデータごとに、前記算出された符号化誤差と、符号化誤差がある範囲内である許容条件とを比較し、
    前記算出された符号化誤差が前記許容条件を満たすブロックデータについては、前記符号化されたブロックデータのそれぞれを連結し、
    前記連結されたブロックデータをテクスチャ群の符号化データとして出力し、
    前記算出された符号化誤差が前記許容条件を満たさないブロックデータについては、該ブロックデータを前記分割されたブロックデータよりも小さいデータ量を有するブロックデータに分割することを特徴とするテクスチャ符号化方法。
  25. 複数の異なる条件で取得あるいは作成したテクスチャ群の符号化データを取得し、
    前記符号化データに含まれるブロックのサイズを固定ブロックサイズに変換し、
    ピクセル位置を指定するテクスチャ座標および前記条件を指定する条件パラメータを取得し、
    前記変換された符号化データの中から、前記テクスチャ座標および前記条件パラメータに対応するブロックデータを抽出し、
    前記抽出されたブロックデータを復号し、
    前記復号されたデータをもとにピクセルデータを算出し、
    前記算出されたピクセルデータを出力することを特徴とするテクスチャ復号化方法。
  26. コンピュータを、
    複数の異なる条件で取得あるいは作成したテクスチャ群のデータを取得するテクスチャ取得手段と、
    前記テクスチャ群のうち、前記条件に対応する値がある第1範囲内にあり、かつ、ピクセル位置がある第2範囲内にある複数のピクセルデータを1つの集まりとしてブロック化して、前記テクスチャ群のデータを複数のブロックデータに分割するブロック分割手段と、
    前記分割されたブロックデータのそれぞれに対して、符号化を行なうブロックデータ符号化手段と、
    前記符号化されたブロックデータのそれぞれの符号化誤差を算出する誤差算出手段と、
    ブロックデータごとに、前記算出された符号化誤差と、符号化誤差がある範囲内である許容条件とを比較する比較手段と、
    前記算出された符号化誤差が前記許容条件を満たすブロックデータについては、前記符号化されたブロックデータのそれぞれを連結するブロックデータ連結手段と、
    前記連結されたブロックデータをテクスチャ群の符号化データとして出力する出力手段として機能させ、
    前記算出された符号化誤差が前記許容条件を満たさないブロックデータについては、前記ブロック分割手段が、該ブロックデータを前記分割されたブロックデータよりも小さいデータ量を有するブロックデータに分割することを特徴とするテクスチャ符号化プログラム。
  27. コンピュータを、
    複数の異なる条件で取得あるいは作成したテクスチャ群の符号化データを取得する符号化データ取得手段と、
    前記符号化データに含まれるブロックのサイズを固定ブロックサイズに変換する符号化データ変換手段と、
    ピクセル位置を指定するテクスチャ座標および前記条件を指定する条件パラメータを取得する指定データ取得手段と、
    前記変換された符号化データの中から、前記テクスチャ座標および前記条件パラメータに対応するブロックデータを抽出するブロックデータ抽出手段と、
    前記抽出されたブロックデータを復号するブロックデータ復号化手段と、
    前記復号されたデータをもとにピクセルデータを算出するピクセルデータ算出手段と、
    前記算出されたピクセルデータを出力するピクセルデータ出力手段として機能させるためのテクスチャ復号化プログラム。
JP2005210318A 2005-07-20 2005-07-20 テクスチャ符号化装置、テクスチャ復号化装置、方法、およびプログラム Expired - Fee Related JP4444180B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2005210318A JP4444180B2 (ja) 2005-07-20 2005-07-20 テクスチャ符号化装置、テクスチャ復号化装置、方法、およびプログラム
CNA200680000717XA CN101010699A (zh) 2005-07-20 2006-03-24 纹理编码装置、纹理解码装置、方法及程序
EP06730720A EP1908018A1 (en) 2005-07-20 2006-03-24 Texture encoding apparatus, texture decoding apparatus, method, and program
PCT/JP2006/306772 WO2007010648A1 (en) 2005-07-20 2006-03-24 Texture encoding apparatus, texture decoding apparatus, method, and program
KR1020077004713A KR100903711B1 (ko) 2005-07-20 2006-03-24 텍스처 부호화 장치, 텍스처 복호화 장치, 방법 및 프로그램을 기록한 컴퓨터 독출가능한 매체
US11/490,149 US20070018994A1 (en) 2005-07-20 2006-07-21 Texture encoding apparatus, texture decoding apparatus, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005210318A JP4444180B2 (ja) 2005-07-20 2005-07-20 テクスチャ符号化装置、テクスチャ復号化装置、方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2007026312A JP2007026312A (ja) 2007-02-01
JP4444180B2 true JP4444180B2 (ja) 2010-03-31

Family

ID=37059896

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005210318A Expired - Fee Related JP4444180B2 (ja) 2005-07-20 2005-07-20 テクスチャ符号化装置、テクスチャ復号化装置、方法、およびプログラム

Country Status (6)

Country Link
US (1) US20070018994A1 (ja)
EP (1) EP1908018A1 (ja)
JP (1) JP4444180B2 (ja)
KR (1) KR100903711B1 (ja)
CN (1) CN101010699A (ja)
WO (1) WO2007010648A1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0504570D0 (en) * 2005-03-04 2005-04-13 Falanx Microsystems As Method of and apparatus for encoding data
JP4802676B2 (ja) * 2005-11-17 2011-10-26 大日本印刷株式会社 レンダリング用テクスチャデータの作成方法
JP4594892B2 (ja) * 2006-03-29 2010-12-08 株式会社東芝 テクスチャマッピング装置、方法およびプログラム
JP4224093B2 (ja) * 2006-09-25 2009-02-12 株式会社東芝 テクスチャフィルタリング装置、テクスチャマッピング装置、方法およびプログラム
JP4266233B2 (ja) * 2007-03-28 2009-05-20 株式会社東芝 テクスチャ処理装置
US8437563B2 (en) * 2007-04-04 2013-05-07 Telefonaktiebolaget L M Ericsson (Publ) Vector-based image processing
US8582908B2 (en) * 2007-08-07 2013-11-12 Texas Instruments Incorporated Quantization method and apparatus
US8791951B2 (en) 2008-12-01 2014-07-29 Electronics And Telecommunications Research Institute Image synthesis apparatus and method supporting measured materials properties
KR101159162B1 (ko) 2008-12-01 2012-06-26 한국전자통신연구원 측정 재질감을 지원하는 영상 생성 장치 및 방법
KR101874272B1 (ko) 2010-04-13 2018-07-03 지이 비디오 컴프레션, 엘엘씨 평면 간 예측
PL2559246T3 (pl) 2010-04-13 2017-02-28 Ge Video Compression Llc Łączenie obszarów próbek
BR122020007669B1 (pt) 2010-04-13 2022-07-12 Ge Video Compression, Llc Codificação de uma amostragem espacial de um sinal de informação bidimensional usando subdivisão
KR102388012B1 (ko) 2010-04-13 2022-04-18 지이 비디오 컴프레션, 엘엘씨 샘플 배열 멀티트리 세부분할에서 계승
CN102231155A (zh) * 2011-06-03 2011-11-02 中国石油集团川庆钻探工程有限公司地球物理勘探公司 三维地震数据管理及组织方法
US20140286406A1 (en) * 2011-11-08 2014-09-25 Samsung Electronics Co., Ltd. Method for determining quantization parameters on basis of size of conversion block, and device for same
US20150117514A1 (en) * 2012-04-23 2015-04-30 Samsung Electronics Co., Ltd. Three-dimensional video encoding method using slice header and method therefor, and three-dimensional video decoding method and device therefor
EP2670140A1 (en) * 2012-06-01 2013-12-04 Alcatel Lucent Method and apparatus for encoding a video stream
JP5926626B2 (ja) * 2012-06-11 2016-05-25 キヤノン株式会社 画像処理装置及びその制御方法、プログラム
KR101477665B1 (ko) * 2013-04-04 2014-12-30 한국기술교육대학교 산학협력단 불균일한 텍스쳐 표면의 불량 검출방법
US9141885B2 (en) * 2013-07-29 2015-09-22 Adobe Systems Incorporated Visual pattern recognition in an image
US10332277B2 (en) 2016-04-13 2019-06-25 Samsung Electronics Co., Ltd. Low complexity optimal decimation grid selection in encoding applications
US10075716B2 (en) 2016-04-21 2018-09-11 Samsung Electronics Co., Ltd. Parallel encoding of weight refinement in ASTC image processing encoders

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5467136A (en) * 1991-05-31 1995-11-14 Kabushiki Kaisha Toshiba Video decoder for determining a motion vector from a scaled vector and a difference vector
US5889891A (en) * 1995-11-21 1999-03-30 Regents Of The University Of California Universal codebook vector quantization with constrained storage
US6097394A (en) * 1997-04-28 2000-08-01 Board Of Trustees, Leland Stanford, Jr. University Method and system for light field rendering
US6459433B1 (en) * 1997-04-30 2002-10-01 Ati Technologies, Inc. Method and apparatus for compression of a two dimensional video object
US6762768B2 (en) * 1998-06-01 2004-07-13 Ati Technologies, Inc. Method and apparatus for rendering an object using texture variant information
US6243081B1 (en) * 1998-07-31 2001-06-05 Hewlett-Packard Company Data structure for efficient retrieval of compressed texture data from a memory system
US6298169B1 (en) * 1998-10-27 2001-10-02 Microsoft Corporation Residual vector quantization for texture pattern compression and decompression
GB2343599B (en) * 1998-11-06 2003-05-14 Videologic Ltd Texturing systems for use in three dimensional imaging systems
JP3350654B2 (ja) * 1999-12-03 2002-11-25 株式会社ナムコ 画像生成システム及び情報記憶媒体
US6452602B1 (en) * 1999-12-13 2002-09-17 Ati International Srl Method and apparatus for storing compressed data
US6959110B1 (en) * 2000-08-17 2005-10-25 Nvidia Corporation Multi-mode texture compression algorithm
US7649947B2 (en) * 2001-06-05 2010-01-19 Qualcomm Incorporated Selective chrominance decimation for digital images
JP3920849B2 (ja) * 2001-06-29 2007-05-30 株式会社エヌ・ティ・ティ・ドコモ 画像符号化装置、画像復号装置、画像符号化方法、及び画像復号方法
US6700585B2 (en) * 2001-08-03 2004-03-02 Hewlett-Packard Development Company, L.P. System and method for synthesis of parametric texture map textures
US7136072B2 (en) * 2001-08-03 2006-11-14 Hewlett-Packard Development Company, L.P. System and method for performing texture synthesis
US6968092B1 (en) * 2001-08-21 2005-11-22 Cisco Systems Canada Co. System and method for reduced codebook vector quantization
JP4220182B2 (ja) * 2002-05-31 2009-02-04 株式会社東芝 高次元テクスチャ描画装置、高次元テクスチャ圧縮装置、高次元テクスチャ描画システム、高次元テクスチャ描画方法並びにプログラム
US6940511B2 (en) * 2002-06-07 2005-09-06 Telefonaktiebolaget L M Ericsson (Publ) Graphics texture processing methods, apparatus and computer program products using texture compression, block overlapping and/or texture filtering
US6891548B2 (en) * 2002-08-23 2005-05-10 Hewlett-Packard Development Company, L.P. System and method for calculating a texture-mapping gradient
JP2004172689A (ja) * 2002-11-18 2004-06-17 Tomoyasu Kagami 本画像用画面の周囲に残像もしくは先駆画像を表示できるテレビモニタ
JP3901644B2 (ja) * 2003-01-30 2007-04-04 株式会社東芝 テクスチャ画像圧縮装置及び方法、テクスチャ画像抽出装置及び方法、データ構造、記憶媒体
SE0401850D0 (sv) * 2003-12-19 2004-07-08 Ericsson Telefon Ab L M Image processing
US20060075092A1 (en) * 2004-10-06 2006-04-06 Kabushiki Kaisha Toshiba System and method for determining the status of users and devices from access log information
JP4282587B2 (ja) * 2004-11-16 2009-06-24 株式会社東芝 テクスチャ・マッピング装置

Also Published As

Publication number Publication date
CN101010699A (zh) 2007-08-01
WO2007010648A1 (en) 2007-01-25
JP2007026312A (ja) 2007-02-01
US20070018994A1 (en) 2007-01-25
KR100903711B1 (ko) 2009-06-19
KR20070069139A (ko) 2007-07-02
EP1908018A1 (en) 2008-04-09

Similar Documents

Publication Publication Date Title
JP4444180B2 (ja) テクスチャ符号化装置、テクスチャ復号化装置、方法、およびプログラム
CN103703779B (zh) 使用次分辨率图像的图像压缩
KR20180122947A (ko) 2차원 포인트 클라우드들을 인코딩 및 디코딩하기 위한 방법 및 장치
JP4199170B2 (ja) 高次元テクスチャマッピング装置、方法及びプログラム
US20220414940A1 (en) Information processing apparatus and method
EP3373585A1 (en) Method for inverse tone mapping of an image with visual effects
JP2007116725A (ja) データアレイの予測符号化方法およびシステム
JP2014039257A (ja) デコーダおよび復号方法
Würmlin et al. 3D Video Recorder: a System for Recording and Playing Free‐Viewpoint Video
US20190373278A1 (en) Video Encoding Methods and Systems for Color and Depth Data Representative of a Virtual Reality Scene
JP7501372B2 (ja) 情報処理装置および情報処理方法
JP2000348213A (ja) 三次元画像生成装置、三次元画像生成表示装置、及びその方法並びに記録媒体
Mekuria et al. MP3DG-PCC, open source software framework for implementation and evaluation of point cloud compression
Kämpe et al. Exploiting coherence in time-varying voxel data
JP4224093B2 (ja) テクスチャフィルタリング装置、テクスチャマッピング装置、方法およびプログラム
Eickeler et al. Adaptive feature-conserving compression for large scale point clouds
KR20230174246A (ko) 동적 메시 정렬에 대한 병렬 접근 방식
US8013862B2 (en) Texture codec
WO2023172703A1 (en) Geometry point cloud coding
CN116940965A (zh) 用于网格压缩的片时间对齐解码
Božič et al. Neural assets: Volumetric object capture and rendering for interactive environments
JP2008301373A (ja) 画像符号化装置及び画像復号装置及びそれらの制御方法
Koniaris et al. GPU-accelerated depth codec for real-time, high-quality light field reconstruction
KR100803216B1 (ko) 3차원 그래픽 데이터를 저작하는 방법 및 장치
JP2004538728A (ja) オブジェクト・ベース映像符号化における自動マスク選択

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090714

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090909

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091118

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: 20091215

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130122

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130122

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140122

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees