JP4448692B2 - データ圧縮及び圧縮データを解凍する方法及び装置 - Google Patents

データ圧縮及び圧縮データを解凍する方法及び装置 Download PDF

Info

Publication number
JP4448692B2
JP4448692B2 JP2003550156A JP2003550156A JP4448692B2 JP 4448692 B2 JP4448692 B2 JP 4448692B2 JP 2003550156 A JP2003550156 A JP 2003550156A JP 2003550156 A JP2003550156 A JP 2003550156A JP 4448692 B2 JP4448692 B2 JP 4448692B2
Authority
JP
Japan
Prior art keywords
data
block
elements
modulation
representative
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 - Lifetime
Application number
JP2003550156A
Other languages
English (en)
Other versions
JP2005525616A (ja
Inventor
シモン フェニー
Original Assignee
イマジネイション テクノロジーズ リミテッド
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
Priority claimed from GBGB0128888.5A external-priority patent/GB0128888D0/en
Application filed by イマジネイション テクノロジーズ リミテッド filed Critical イマジネイション テクノロジーズ リミテッド
Publication of JP2005525616A publication Critical patent/JP2005525616A/ja
Application granted granted Critical
Publication of JP4448692B2 publication Critical patent/JP4448692B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • H04N1/393Enlarging or reducing
    • H04N1/3935Enlarging or reducing with modification of image resolution, i.e. determining the values of picture elements at new relative positions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/148Wavelet transforms

Landscapes

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

Description

本発明は、データを圧縮し、データを解凍するための方法及び装置に関する。本発明は、コンピュータグラフィックスシステムに使用され、特に3D面に対してテクスチャ画像データを適用するテクスチャリングを使用して、三次元画像を形成するコンピュータグラフィックスシステムに使用される。
3Dコンピュータグラフィックスにおいて、通常、対象物の表面詳細は、画像ベースのテクスチャを使用して追加される。これは、1975年にEd Catmall(1975年5月号、IEEEコンピュータ部会会報、Graphics, Pattern Recognition and Data Structures、「曲面のコンピュータディスプレイ」)によって最初に導入された。例えば、木材シートの画像を椅子の3Dモデルを表す多角形セットに適用して、対象物を木製の外観に3Dレンダリングすることができる。
複雑な3D場面では、多数の前述の「テクスチャ」が必要になるが、これにより2つの関連する問題が生じる。最初の問題は、単純にこれらのテクスチャをメモリに保存するコストである。特に、民生用3Dシステムではテクスチャの保存に利用できるメモリ量は比較的少なく、すぐにいっぱいになる可能性がある。これは、典型的にテクスチャの単位ピクセル毎に32ビットの、即ち、赤色、緑色、青色、及びアルファ(半透明)成分の各々に対して8ビットの「トゥルーカラー」と呼ばれるテクスチャを使用することよって著しく悪化する。
第2の問題は帯域幅であり、これは大変重要である。3D場面のレンダリング時には、相当量のテクスチャデータにアクセスする必要がある。このことは、リアルタイム・システムにおいては大きな性能上の障害となる。
前述の2つの問題点を改善する1つの方法は、画像圧縮形式を使用することである。JPEG規格等の多数の方式が画像の処理及び送信に使用されているが、リアルタイム式3Dコンピュータグラフィックスに適合するものは殆どない。多くの圧縮スキームの主要な問題は、圧縮スキームが圧縮形式の範囲内でピクセルデータの直接的な「ランダムアクセス」を許可しないことであり、高速の任意アクセスがテクスチャリング処理の要求であることである。このランダムアクセスは実現できない場合が多く、その理由は、ピクセル毎の保存速度が画像全体にわたって変化するので、通常、テクスチャデータを圧縮するために使用及び/又は実行したスキームが固定速度の符号化の制限を受けるためである。
テクスチャを解凍するいくつかの方法には、ハードウエア上で解凍処理を高速で安価に行う必要があるという別の要求がある。このことはJPEGで使用される離散コサイン変換(DCT)等の「変換符号化」方式を除外する。
頻繁に使用される方式はカラーパレットに基づく方式であり、これは本来メモリとビデオフレームバッファ帯域幅のコストを低減する方法として使用されたものである。Kajiya、 Sutherland、 Cheadleによる「ランダムアクセスのビデオフレームバッファ」、IEEEコンピュータ部会会報1975年5月号Graphics, Pattern Recognition and Data Structuresを参照されたい。本スキームでは、各々のピクセルは、典型的に4又は8ビットの小さなビット数で表され、カラーテーブル又はパレットにそれぞれ16又は256項目の索引を保存する。おそらく最も有名なP.Heckbertの「フレームバッファ表示のためのカラー画像の量子化」(Computer Graphics、1982年7月号、297−307頁)を含む、元の「トゥルーカラー」画像をこのパレット形式まで縮小するための多数の方法が存在する。
パレットシステムにはいくつかの欠点がある。第1の欠点は、テクセルとも呼ばれる各々のテクスチャピクセルの符号化に伴う間接レベルが存在することである。テクセルの索引は、最初にメモリから読み出し、次に、カラーテーブルの対応する項目にアクセスする必要がある。カラーテーブルを「オンチップ」にするか、又は専用RAMを使用することによって、二重読み出しの時間遅れを「隠蔽」することができるが、これは単なるゲートコスト以外の別のペナルティを生じる。例えば、新しいテクスチャがアクセスされる度に、専用パレットテーブルをリロードする必要がある。もしくは、全てのテクスチャに対して汎用パレットを使用できるが、これは圧縮画像の品質を大幅に低下させるであろう。最終的に、8ビット/ピクセル(即ちbpp)のテクスチャに対する保存及び帯域幅の節約は顕著ではなく、4bppの品質は一般に劣る。
更に、テクスチャのフィルタリングに起因するコストの問題が発生する。通常、表面にテクスチャを適用する場合、テクスチャの「濃淡むら」を避けるために、複数のサンプルテクセルに対して加重フィルタが適用される。双一次フィルタリングは、特定の高度な方法に対する基礎をなす一般的に使用される方法である。例えば、図1は、双一次フィルタリングを使用してテクスチャ「2」を適用した三角形の面「1」を示す。「3」のような三角形によって囲まれた各々のスクリーンピクセルの位置は、テクスチャの座標系に逆にマッピングされ、この位置を囲む4つのテクセルは「4」と識別される。この4つのテクセルの加重平均は、次に、適用されたテクスチャ値を計算するために使用される。
リアルタイム方式において、テクスチャ処理を最大速度で実行するためには、テクセル取込み方式がこの2×2ブロックの全てのテクセルを並列に供給できることが望ましい。カラーパレットテクスチャを組み込むテクスチャ方式において、これらの段階は、4つのテクセル全ての索引を取込み、次に、テーブル内の各々のテクセルに対応するカラーを見出す段階を含むであろう。マルチポート化されてなければ、パレット/カラーテーブルRAMが障害になることは理解できるであろう。これは追加のコストを意味する。(複数の索引を並列にアドレス指定する問題は、非圧縮テクスチャを使用することと同じであり、従来、種々の方法ですでに「解決」されているので、本明細書では考慮する必要はない)。
パレット化テクスチャは、ベクトル量子化圧縮、即ちVQの形式であり、3Dコンピュータグラフィックスには、より複雑な形式が使用されている。Beerらは(1996年8月、Computer Graphics会報、SIGGRAPH、373−378頁の「圧縮テクスチャからのレンダリング」において)、VQテクスチャを使用するハードウエアレンダリング手段をシミュレートした。これは、単一の索引を有する各々2×2又は4×4ブロックのピクセルを大きな参照テーブルに置き換えることで、約2bppから等価の1/2bppに至る保存コストを与える。2、1、及び1/2bppの圧縮テクスチャのデータレータを与える単純なVQ方式は、SEGAのDREAMCAST(商標)ゲームコンソールのハードウエアで実行される。興味深いことに、本方式の2つの高い圧縮レートは、2つのベクトル量子化レベルを組み合わせることによって実現される。
前述のVQ形式は、高レベルの圧縮を適切な品質で提供するが、依然として2つのメモリアクセスを必要とする。更に、索引テーブルのサイズはパレット化テクスチャのテーブルよりも非常に大きいので、参照テーブルの何れの内部保存又はキャッシングもコストがかかる。また、広範囲に及ぶデータ構造によりフィルタリングコストも高くなる。
Delp及びMitchellによるブロックトランケーション符号化(1979年9月のIEEE Trans. Commun. vol.COM−27の「ブロックトランケーション符号化を使用した画像圧縮」)、即ち、BTCをベースにした多数の別の圧縮方法が存在する。BTCでは、モノクロム画像は、例えば、4×4ピクセルのサイズの非オーバーラップ矩形ブロックに再分割され、次に、各々のブロックは単独で処理される。各々8ビットの2つの代表値は、ブロック単位で選択され、ブロック内の各々のピクセルは、2つの値のいずれかに量子化される。従って、本例の各々のブロックの保存コストは、2つの代表値に対して16*1ビット+16ビットであり、全体レートは2bppである。ブロックは独立しているので、これは圧縮及び解凍アルゴリズムを単純化するが、ブロック境界にわたってアーティファクトをもたらす場合もある。
Cambellらは(Computer Graphics会議会報、SIGGRAPH’86 19986年8月、第20巻第4号、215−223頁、「2ビット/ピクセルフルカラーエン符号化」)、カラー画像を2bppで符号化するための拡張BTCカラーセル圧縮、即ち、CCCを提案している。残念ながら、これは外部パレットを要求し、本例の画像はいくぶんカラーバンディングの徴候を示した。これらの欠点にも関わらず、Knittelらは(第10回Eurographics Workshop on Graphics Hardware、33−39、1995会報、「優れたテクスチャ特性のためのハードウエア」)、これらの画像圧縮スキームのテクスチャ方式を使用することを提案している。
また、米国特許第5,956,431号において、Iourchaらはカラー符号化のためにBTC法を利用している。S3TC又はDXTCと呼ぶ場合が多いIourchaの方式において、各々のブロックは、通常各々16ビットの2つの代表カラーを保存する。ブロックの各々のピクセルは、典型的に2ビットを使用して符号化されるので、4つの異なる値を参照することができる。これらの内の2つの値は2つの代表カラーを参照し、他の2つの値は、直接2つの代表値から導出された2つのカラーを参照する。通常、2つの導出カラーは、主要な代表カラーの線形ブレンドではあるが、完全に透明なピクセルを表示するために他の1つの値が選択される場合もある。BTCと同様に、各々のブロックは、他の全てのブロックから独立している。
一般に、S3TC形式の品質はCCC形式よりも高くカラーパレットを必要としないが、これらの利点は、4bppの保存コストの約2倍でもたらされる。更に、この圧縮方法ではブロックあたり4つのカラーに限定されるので、特定のテクスチャはバンディングを表示することが知られている。また、BTCと同様に、ブロック境界においてアーティファクトをもたらす場合がある。
S3TC形式で圧縮されたテクスチャの双一次フィルタリングを検討すると、加重フィルタに必要な2×2セットのテクセルは単一の4×4ピクセルのブロックから取込まれる場合が多いが、多数のブロックを必要とする場合もあることが分かった。図2に示すように、2×2ピクセルのセット10が別の4×4のブロック11に属する場合に最悪の状況になる。1つの双一次フィルタリングされたスクリーンピクセルをクロック毎にテクスチャすることができるリアルタイム方式は、並行式で4つのブロックにアクセスして符号化できることが必要である。
ブロックベース方式をパレット式手法と組み合わせる別のスキームがIvanov及びKuzmin(Eurographics 2000「カラー分散−テクスチャ圧縮に対する新しいアプローチ」)によって示されている。ここでは、各々のブロックが少なくとも1つの基本カラーを保存するが、隣接ブロックの特定セットの基本カラーにアクセス可能にすることによってローカルパレットが暗示的に定義される。例示的な方式において、特定ブロックのローカルパレットは、追加された3つの隣接ブロックから基本カラーにアクセスでき、例えば、選択範囲は、右のブロック、下のブロック、そして「右下」のブロックの基本カラーを使用することである。従って、ブロック内の各々のテクセルは、4つの使用可能な基本カラー選択肢の1つにアクセスする2ビットの索引によって表すことができる。本方式は、隣接するカラーに繰り返してアクセスすることは依然としてコストがかかるので、それが有効になるように基本カラーのキャッシュを必要とする。本スキームにおける双一次フィルタリングの最悪の状況は、9つの異なるブロックのいずれかにアクセスすることを含み、図3に示すように、ピクセル20を符号化するためには、ブロック21、22、23、及び24の基本カラーブロックの1つにアクセスすることが必要であるが、ピクセル25を符号化するためには、ブロック24、26、27、及び28の1つにアクセスすることが必要であることに留意されたい。
1999年に3dfx Interactive社からFXT1と呼ばれる別のテクスチャ圧縮スキームが発表された。このスキームは8×4ブロックを使用し、各々のブロックが4つの別々の方法で圧縮される。このブロックモードの1つはS3TC(CC_MIXED)と類似しているが、別のブロックモード(CC_CHROMA)は、直接索引付けできる4つのローカルカラーパレットを保存する。
テクスチャ圧縮には直接適用できないが、複数解像度画像解析とウエーブレット法は(例えば、Stollnitz、DeRose、及びSalesinによる「コンピュータグラフィックス用ウエーブレット、理論と応用」、ISBN1−55860−375−1に記載)、画像圧縮に適用され、ある程度成功を収めている。この方法は、その後に拡大される画像の低解像度バージョンが、元の画像に非常に近似する場合が多いことを利用している。
図4aはグレースケール画像(モノクロム印刷の制約による)を用いたこのプロセスを示す。ソース画像40はx及びyの両方向に1/4だけフィルタ縮小を行い、1/16のデータをもつ低解像度バージョン41を形成する。本例において、線形ウエーブレットはx及びyの両方向に2回適用し、差信号を除去する。次に、これを双一次拡大して低周波数画像42を形成する。この信号と元の信号との差は43で示す(図示の目的で拡大されている)。
拡大バージョンから元の信号を復元するのに必要な差信号は、ピクセルあたり非常に少数のビットを必要とする場合が多い。実際には、非可逆圧縮形式をもたらすために多数のデータが除去される。これは自然画像に対しては効果があるが、線図やテキスト等の画像はデルタ信号に非常に多くの情報を有する場合が多いので、この方法では、この種の画像に対して良好な圧縮レートを実現できない。(これは、JPEGで圧縮した線図のテキストの周りによく見られる、紛れもないアーティファクトに類似している)。
米国特許第5,956,431号公報 Ed Catmall著「曲面のコンピュータディスプレイ」、IEEEコンピュータ部会会報1975年5月号、Graphics, Pattern Recognition and Data Structures Kajiya、 Sutherland、 Cheadle著「ランダムアクセスのビデオフレームバッファ」、IEEEコンピュータ部会会報1975年5月号、Graphics、 Pattern Recognition and Data Structures P.Heckbert著「フレームバッファ表示のためのカラー画像の量子化」、Computer Graphics、1982年7月号、297−307頁 Beer他著「圧縮テクスチャからのレンダリング」、1996年8月、Computer Graphics会報、SIGGRAPH、373−378頁 Delp及びMitchell著「ブロックトランケーション符号化を使用した画像圧縮」、1979年9月、IEEE Trans. Commun. vol.COM−27 Cambell他著「2ビット/ピクセルフルカラーエン符号化」、Computer Graphics会議会報、SIGGRAPH’86 19986年8月、第20巻第4号、215−223頁 Knittel他著「優れたテクスチャ特性のためのハードウエア」、第10回Eurographics Workshop on Graphics Hardware、33−39、1995会報 Ivanov及びKuzmin著「カラー分散−テクスチャ圧縮に対する新しいアプローチ」、Eurographics 2000 Stollnitz、DeRose、及びSalesin著「コンピュータグラフィックス用ウエーブレット、理論と応用」、ISBN1−55860−375−1
本発明は、S3TCよりも優れた圧縮データ/ビット品質の圧縮方式を提供することを意図している。この圧縮方式は、適度に単純な解凍アルゴリズムと共に固定レートの符号化又は圧縮を使用する。CCC又はVQ方式とは異なり、本発明は、カラー索引テーブル等の二次的なデータ構造を必要としない。
ウエーブレットの関連画像処理フィールドの作動から得ると、縮小フィルタリング、その後に拡大が行われた画像は、元の画像に適度に近似することが分かっている。このような信号は、低周波信号と呼ぶことにする。本発明者は、隣接ピクセルのグループ又はブロックに関連するデータを共有することによって、このような信号が効率よく構成できることを理解している。
低周波信号と元の信号との差を計算して、差分データとして、即ちデルタ信号として参照することができる。更に、本発明者は、多数のテクスチャに関して、データ信号、即ち低周波信号と元の信号との間の差は、局所的には比較的単色性であることを理解している。例えば、1つのデルタ画像の局所領域のピクセルは大部分が青−黄(即ち補色)である。
デルタ信号及び低周波信号を使用することによって、2つの新しい低周波信号A及びBを形成することができるので、元の画像の各々のピクセルは、A及びB信号のピクセル毎の線形ブレンドによって非常に近似されるはずである。図4aに戻ると、画像50は低周波数A信号によって形成された画像を表し、この画像は本例では画像上の近似下限であり、一方で51は低周波数B信号によって形成された画像を表し、近似上限を与える。本例でA及びB信号は、元の画像に比べて少なくとも1/16の情報しかもっていないことに留意されたい。A信号及びB信号を使用して、2セットの縮小サイズデータA’及びB’をそれぞれ形成でき、縮小サイズがデータA’及びB’のセットが圧縮データとして保存される。
また、線形ブレンドを実行するためには変調信号が必要となる。これは図4bの画像52によって表される。この画像の各々のピクセル(x,y)は、端数値0≦αy,x≦1を表し、(1−αy,x)+αy,xy,xが元の画像の対応ピクセルとほぼ等しくなるように選択される。
解凍されることになるピクセルの特定、及びその変調値53の取得に続いてテクスチャの解凍が行なわれる。また、そのピクセルにおける低周波数A及びB信号を形成するために必要なデータは、A(54)及びB(55)に対応するピクセルを形成するために取得され使用される。これらはブレンドされ(56)、解凍ピクセルが形成される(57)。このプロセスを全てのピクセルに適用して全体画像を解凍する(58)。
A及びB信号は、拡大の前には、比較的低解像度のはずである。例えば、元の画像の1/4から1/8の解像度は、通常、良好な品質の画像を形成する。更に、典型的にはピクセル毎に1又は2ビットの、非常に少数のピクセル毎の変調データが必要とされる。このことは、人間の目がある程度、輝度が大幅に変化する範囲のノイズをマスクする傾向にあることに起因する(Delp及びMitchellによる)。
本発明は、BTC及びその変形例に由来する単純なアドレス指定の利点をもち続け、更に、そのスキームのブロック境界で頻繁に発生する多数の不連続性の問題を回避する。また、本発明は、双一次フィルタリング作動に必要な4ピクセルを並行して解凍するように最適化される。
A及びB信号は多数の関数によって形成できるが、双一次関数又は双三次関数といったテンソル積の面は、拡大手段として提案される。この選択は、品質対実行コストのトレードオフを意味する。
典型的に、変調データは、「保存」ブロックのアレイ内に保存され、各々の「保存」ブロックは、N×Mの変調値を形成するための情報を保存するが、N及びMは典型的に低周波信号に対して使用されるスケーリング係数に対応する。A及びB信号を再構築するために必要な低解像度情報は、別のアレイ内に保存されるか、又は、別の方法として、一組のA及びBの低解像度は、各々の「保存」ブロック内に保存される。前者の方式は、補間を行うために多数のデータ制御点を必要とする双三次関数のような拡大機能である場合に好都合である。後者の方式は、典型的に少数のデータ制御点を必要とする双一次関数のような単純な拡大機能に対して有用である。
システムが前者の「個別のデータ保存」形式を使用し、同様にその時点で取得した変調及びA及びB値のキャッシュを保持する場合、帯域幅の理由で、所要ブロック変調データを用いて、テクセルの特定のセクションを解凍するのに必要なA及びBの値が「位相を外れる」ように、拡大機能の挙動を取り決めるのが効果的である。換言すれば、連続したテクセルにアクセスする場合、キャッシュは、一般に、外部メモリに対する要求のバランスを取る必要があるので、変調データ、次にA及びBの値を交互に取込むことになる。このことは図4cに示されている。本例では、A及びBデータの双一次拡大を使用している。図4cは、画像に属する一組のテクセル(70)を示し、テクセル71が解凍されることになる。テクセル71に関連する変調値を保存する「保存」ブロックは、4×4の隣接テクセル72に対する変調値を保存する。双一次関数を使用したので、テクセル71に対する低周波信号A及びBを形成するために、4組(まで)のA及びB代表値(73a)、(73b)、(73c)、及び(73d)が必要となる。隣接テクセル(74)は同じ組の変調値72を使用するが、若干異なる組のA及びBの値、即ち(73c)、(73d)、(73e)、及び(73f)を必要とする。テクセル71に対して使用した前述の値は、依然としてキャッシュ内に存在することが想定される。A及びBに対する代表値がコーナ(72)に整列されている場合、データアクセスの平均速度が同じであっても、新しい変調値とA及びB値が同時に取込まれるので、ピークデータ速度は高いことが必要であることを理解されたい。位相外れの構成が好ましい第2の理由は、変調情報のブロックをブロックサイズの整数倍で整列させるのが自然だからである。また、A及びBの値が前述のように整列される場合、左上の端部に優先傾向があるという理由で、テクスチャの端部の代表値の分散に不均一が存在する。
また、本発明は、多数の信号の使用にまで拡張することができる。例えば、追加のピクセル毎の変調値と一緒に第3のチャンネル「C」を導入することができる。従って、信号をブレンドするために重心座標が使用される。
本発明により、例えば双一次拡張によって、又はテンソル積の面を使用して、4つの隣接する要素が並列に拡張される。これは四分区間を循環的に特定し、単純な90度の回転を利用して、4つの四分区間の各々のケースを単一なケースに至るまでマッピングする。計算は、低い精度で実行して最大精度まで高めることができる。
本発明は、m次元アレイに配列されたn次元のソースデータを符号化する手段を提供する。装置は、Pデータ信号Rを形成する手段を必要とし、Pは2又はそれ以上であり、各々の信号はm次元アレイに配列されたn次元のデータから構成される。各々のR信号は、元のデータソースよりも少ない代表値データ要素を有する。また、変調情報Mを取得又は形成する手段を備える。また、変調データは、元のソースデータと同数の要素を有するn次元アレイに配列される。Mの各々のデータは(P−1)のスカラー値で構成される。M及びRのデータを保存する手段を備える。P個の個別のRデータ信号の各々を元のソースデータに対応するものに挿入する手段と、挿入されたRデータに対してMを適用する手段を備える。元のソース画像の各々のデータに対して、(P−1)スカラー値で構成される対応するMデータを使用して、重心座標によって、対応する補間R信号のPデータのアイテムを補間するようになっている。また、Mデータの補間Rデータへの適用に関して結果が対応する元のデータに近くなるように、保存されたR及びMデータを最適化する手段を備える。
種々の態様における本発明は、請求範囲に定義され以下に説明する。有利な特徴は請求範囲に記載されている。
本発明の実施形態の適応及び用途を以下に説明する。
図面を参照して本発明の実施形態を詳細に説明する。
本発明には2つの好適な実施形態がある。第1の実施形態は、テクスチャを4ビット/ピクセル(bpp又はBPP)の速度で保存するが、第2の実施形態は、画像品質では劣るが、2ビット/ピクセルの高い圧縮をもたらす。最初に4bppの改良例を示し、保存データのフォーマット、次に解凍プロセス、最後に圧縮アルゴリズムを説明する。
4BPPデータフォーマット
本実施形態において、A及びBの低周波信号は、双一次拡大の低解像度画像によって形成され、最終的なテクスチャマップが1/4×1/4の解像度で保存される。A及びBデータとピクセル変調データとを別個に保存することができるが、好適な実施形態において、これらはブロックの変調情報を有する局所A及びBデータが融合したものとしてブロック内に配置される。好適な実施形態の各々のブロックは、64ビットの記憶容量を必要とし、そのフォーマットを図に示す。
データ(100)の各々のブロックは、4つの主情報フィールドから成り、各々、局所「カラーB」信号情報(101)を表す16ビットのフィールド、15ビットの「カラーA」フィールド(102)、1ビットの変調モードフラグ(103)、及び32ビットの変調データ(104)である。
カラーA及びBのフィールドの各々は、完全に不透明なカラー(110)か、又は透明度が変化するカラー(111)のいずれかを表すように独立に解釈される。各々の「カラーA」及び「カラーB」フィールドの1ビットのフラグ(112)は特定のモードを決定する。完全不透明モードにおいて、黒色は「1」に設定されるが透明モードでは「0」に設定される。
不透明モードにおいて、カラーA及びカラーBに関して、赤色チャンネル(113)及び緑色チャンネル(114)は5ビットで符号化される。Bのカラーデータフィールドにおいて、青色チャンネル(115)は同様に5ビットで表されるが、容量の理由からカラーAに関するフィールドは4ビットに低減される。不透明モードの場合、最大値に設定されることが想定されるアルファチャンネルに関するデータを明示的に符号化する要求はなく、これは、後ほど与えられることになるという理由から、完全に1sで構成されるビット値である。
透明モード(111)において、カラー精度は低減され、明示的なアルファ値(116)を保存する3ビットを専有する空間を割り当てることができる。A及びBのデータ信号に関して、赤色チャンネル(117)及び緑色チャンネル(118)の各々は4ビットを使用する。透明なカラーBの場合には、同様に、4ビットの精度で青色チャンネル119を使用するが、やはり容量の理由からカラーAに対しては3ビットに低減される。
これらのカラーチャンネルは、5ビット/チャンネルでもって「標準」32ビットARGBカラーデータ信号に再変換することができる。本技術分野で広く使用される方法としては、8ビットの完全な補集合を形成するのに十分な数の低精度の数の最上位ビットの追加を挙げることができる。例えば、元の5ビットを8ビット値の最上位ビットにし、次に3つの最上位ビットをコピーし、これらを、結果として得られたものの3つの最下位ビットとして使用することによって、5ビットのチャンネル値は等価な8ビット値に変換される場合が多い。ハードウエアの経済性の観点から、むしろ「C」コードで示される以下の変形例が使用される。
Figure 0004448692

Figure 0004448692

Figure 0004448692
図6を参照すると、変調データ(104)は、4×4ブロックのピクセル(130)の変調情報を符号化する。各々のピクセル値は、最下位の位置(132)に保存される、厳密に2ビットの左上ピクセルの値(131)を使用して符号化される。続くピクセルは、列順に、各々の列内の左から右に、ビット有効桁の昇順で保存され、右下ブロックのピクセルが2つの最上位ビットに保存される。
変調モードフラグ(103)は、2ビットの変調値を解釈する方法を決めるために使用される。このフラグがゼロの場合、2つのビットパターンは、以下の表のように解釈される。
符号化表0
Figure 0004448692
この選択の理由は2つある。第1に、変調値の分布は、約1/2に中心とする正規分布の形に従うので、分布を中心方向に僅かに偏らせることが好都合である。第2に、分子が小さいので、ブレンド操作はハードウエアで実現するのが低コストである。
フラグ(103)が1に設定される場合、パンチスルー・アルファテクスチャの形態がピクセルのブロックに対して有効になる。次に、変調値は以下の表のように解釈される。


符号化表1
Figure 0004448692
00、01、及び11コードは、01の多少異なる変調値以外は他の変調モードと同様に作用する。10のコードに対して、赤色、緑色、及び青色成分の値は同じ方法で計算されるが、最終ピクセルのアルファ値は、拡大されたA及びBの低解像度信号のアルファ値に無関係に強制的にゼロにされる。
全テクスチャに関する64ビットのブロックは、第1列の全ブロックが左から右に配列されて次の列に続く、標準的な列順でメモリ内に配列することができる。しかしながら、好適な実施形態において、これらのブロックは、インターリーブした順番のアドレスビットに保存される。この方法は、本出願者による米国特許第6313846号にピクセルアドレスに関連して説明されているが、ブロック構成に対しても容易に適用できる。本構成には、例えばメモリのページ区切りの低減及びデータキャッシュ設計の簡略化等の大きな実施効率の利点がある。
4BPPの解凍方法及び装置
好適な実施形態において、本発明は、双一次テクスチャのフィルタリング用に構成された4ピクセルの解凍グループに対して最適化される。また、図4cに関連して前述した理由で、変調保存データを用いて、AB信号は「位相が外れた」状態に最適化される。図7を参照すると、双一次テクスチャフィルタリング作動に必要とされる、任意の2×2テクセルの組は、同様に2×2アレイに配列された特定の組の4つの4×4ピクセルブロック(150)を一意的に決定できることに注目されたい。これは、図1の(5)で示すように、2×2構成の左上テクセル(即ちTLT)を検討することで理解できる。このテクセルは、一様なグレー領域(151)によって示される、画像内の一意的な4×4のピクセル領域を一意的に決定する。残りの3つのテクセルは、グレー領域(151)と、クロスハッチング領域152との和集合のどこかに入る。
テクスチャ境界での複雑性を避けるために、「ブロック」は無限に繰り返されるものと想定する。これは当業者にはよく知られているテクスチャの「ワープモード」とは多少異なる問題であり、その態様は以下に説明する。
グループ内の左上ブロックの座標は、TLT座標から直接決定することができる。テクセルの座標を(y,x)、テクスチャの寸法をYsize×Xsizeと仮定すると、ブロック座標(i,j)は以下の式によって与えられる。
Figure 0004448692
好適な実施形態において、テクスチャの寸法は2の累乗に制限され、これにより、当業者が正しく認識する場合には、コンピュータハードウエアで前述の計算を低コストで実行できる。
グループ内の他のブロックは隣接しているので、これらの座標は、それぞれのテクスチャの境界を通り過ぎる全ての座標値を「取り囲む」(ゼロを割り当てる)ことに注意して単純に足し算すること、即ち(i,j+1)、(i=1,j)、及び(i+1,j+1)とすることによって決定できる。好適な実施形態において、元のソーステクスチャは、繰り返されるように、即ちタイル張りされるように設計されることが想定される。このようなテクスチャにおいて、上端及び下端と同様に、左端と右端とは「類似」している。この仮定により、画像の右下のブロックアドレスの取り囲みを除いて、所要ハードウエアは単純化され、他の特別な処理は必要ない。別の実施形態において、追加の信号を発生して境界を横切ったこと(即ち、左右に及び/又は上下)ことを随意的に示すようになっている。これらの信号は、説明予定の双一次拡大ハードウエアに、それぞれのブロック内の代表値を局所的に繰り返すように指示するであろう。
要求された4つのテクセルの解凍に関して、今後は検討を4つの対応するピクセルグループに限定することができる。
TLTは、ブロックグループのピクセルに関連して配置する必要がある。左上(160)のテクセル(x=0,y=0)から列順に右下のピクセル(7,7)(161)までの領域のピクセルに番号付けを行うと、TLTの局所位置は、その座標の各々のy値及びx値から2つの最下位のビットを取得し、以下の表を用いてマッピングすることで見出すことができる。
表2
Figure 0004448692
この表は主として例示を目的としており、この機能は自明であり単一ビットでは機能せず、実際上ハードウエアには必要ない。
従って、局所ピクセルの座標値は、要求された変調情報を形成するために使用できる。このことは図8に示す。識別された4つのピクセルブロック、{(i,j)、(i,i+1)、(i+1,j)、(i+1,j+1)}から、4つの対応する変調フィールド(104)がグループ化され(200)、マルチプレクサ(201)に送られる。TLT座標(202)の2組の最下位ビットに応答して、マルチプレクサは、4つの双一次テクセルの変調符号化に対応する4組のビットを出力する。
各々の変調フィールド(104)は32ビットを保存するが、これら全てをマルチプレクサ(201)に送る必要がないことを理解されたい。図7を参照すると、ブロック(i,j)の4つだけが対象領域、即ち、領域(151)及び(152)の和集合に含まれるので、32ビットの8ビットだけをマルチプレクサに供給する必要があることが分かる。
同様に、4つのブロックに対応する4つの変調モードフラグ(103)のセット(203)は、マルチプレクサユニット(204)に供給され、マルチプレクサユニット(204)は、再度TLT座標(202)に応答して、4つのテクセルの要求された変調モードを示す、4つの単一ビットのフラグを出力する。
最終的に、マルチプレクサ(201)及び(204)の出力はテクセルによってグループ化され、3ビットの4つの組の各々は、4つのテクセル{(y,x)、(y,x+1)、(y+1,x)、(y+1,x+1)}に対応する4つの変調符号化ユニット205の1つに供給される。各々の符号化ユニットは前述の符号化表0及び1を実行して5ビットを出力する。これらの5ビットの内の4ビットは符号化表から分子の値、即ち0、3、4、5、又は8の内の1つを表すが、残りのビットはテクセルのアルファ値が強制的に0にする必要があるか否かを表す。
また、A及びBカラー信号は、双一次ブロックの4つのテクセルに対する補間値を形成するために拡大する必要がある。この拡大を行う方法は、効率の点で重要であり、「自明の」選択は最善ではない。例えば、低周波数の項を形成するために、「標準」線形ウエーブレットフィルタ(例えば、University of South California、Department of Mathematics、Industrial Mathematics Initiative、Technical Report 1995年5月、Swldens及びShroeder著「あなた自身のウエーブレットを自宅で構築する」を参照)を使用する場合、代表カラーを各々のブロックの左上ピクセルの「中央」に置く。これは図9に示される。低解像度データ(230)は、元の画像(231)から形成した。低解像度画像からのデータ要素(232)は、4×4ピクセルのブロック(233)の左上ピクセルに対応することになる。同様に、別の(240)は、ブロック(241)の左上ピクセルに対応することになる。各々のブロックの左上ピクセル以外の全てのピクセルは、左上ピクセルからの双一次補間によって取得する。
これは品質に関しては(前述の画像端部での可能性のあるアンバランスの除去によって)適度な結果をもたらすが、効率の問題がある。図4cに関連して前述したように、代表値A及びBは変調データに関して位相から外れることが望まれる。この目的を達成するために、図7からの対象領域(151)とクロスハッチング領域(152)の和集合、図9の(242)は、変調データブロックとオーバーラップするように定義される。この領域の全テクセルを形成するために、4つの包含ブロックの代表カラーのみならず、(243)に示す5つの追加ブロックの代表カラーも必要である。
もしくは、本発明は、代表カラーが各々のブロックのセンタの直下で右側のテクセルに方向付けされた変形例を使用する。このようなテクセルの2つが(244)で示されている。このテクセルは、代表「位置」を表すのでブロック代表テクセル又はBRTと呼ばれる。本スキームは、対象領域(242)の全ピクセルを形成するために、4つの包含ブロックからの代表カラーだけをいつも要求することを保証する。(本変形例は、シフト画像に標準の双一次画像を適用することによって実行される)。
図7に説明した局所ピクセルの座標スキームを使用して、対象領域(151)と領域(152)の和集合における任意のピクセルでの、信号A又はBのいずれかの拡大信号のカラーは、以下の双一次方程式によって与えられる。
Figure 0004448692

Figure 0004448692

Figure 0004448692

Figure 0004448692

Figure 0004448692
ここで、(Y,X)は4つの4×4ブロックに対するピクセルの座標であり、
Figure 0004448692
は4つのブロック、即ちA値又はB値のいずれかに関する低周波数代表カラー(ベクトル)であり、
Figure 0004448692
は結果として得られるピクセルに関する拡大カラー(ベクトル)である。
これらの方程式は、4つのテクセルの各々に関して推定する必要があることに留意されたい。更に、前記の方程式において、
Figure 0004448692
のカラーセットは、前述の保存値の32ビットカラー等価値を参照することに留意されたい。
解凍プロセスは前記の方程式を実行できるが、本発明者は、2つの独立した最適化を高く評価している。第1の最適化は、データ構造に保存された低精度の値に対して殆ど直接的に補間を実行し、次に、これらの補間結果を完全な32ビット精度に変換する方法である。第2の重要な革新は、4つの拡大ピクセルを並行に非常に効率よく形成する方法である。この方法は、2値再分割を使用して3D曲面を形成する方法に関連する。
好適な実施形態においては、これらの2つの方法を組み合わせたものを使用し、以下に図10に関連して説明する。赤色チャンネルのみを示すが、青色及び緑色チャンネルに関する処理も同一である。全体的に1ビットだけ精度が劣る、アルファチャンネルに対するわずかな違いは当業者には明らかである。同様に、「A」信号だけを説明するが、「B」信号に関する処理もほとんど同じである。以下の好適な実施形態の説明において、この機能として1つの角度計算ハードウエアの具体例が必要とされるが、A信号及びB信号に含まれる全てのチャンネルに関して同一であることに留意されたい。
4つのブロックの代表値Aからの4つの赤色成分の各々は、5ビット精度で供給される(250)。特定のカラーが(フラグ(112)で)透明として記録された場合、前述したように、保存された4ビット値は、最初に5ビット精度に変換される。TLTのx及びy座標の2つの最下位ビットから、x及びyからのより上位のビットを抽出し(251)、「XY角度化」ユニット(252)に送る。このユニットは、2ビットを検査して、0、90、180、又は270度の内の1つの回転角度を特定する。角度1と呼ぶこの角度は、2ビットで符号化され、回転ユニット(253)に送られる。カラー代表値は、正方形のコーナに位置すると見なすことができ、回転ユニットは、単に入力角度に応じて正方形を「回転させる」。回転後、正方形のコーナは、左から右にP、Q、R、Sの列順に呼び出される。
第1の回転ユニットの出力は、次に双一次ユニット254に送られ、ユニットは、PとQの平均値(av PQ)、PとRの平均値(av PR)、及び4つの入力値全ての平均値(av PQRS)を計算して、P、av PQ、av PR、及びav PQRSを出力する。出力値は、分数精度以上の精度を要求することに留意されたい。
TLTのx及びy座標の各々の最下位ビット(260)は、(252)の機能と同一の第2の角度計算ユニット(261)に供給される。計算された角度は角度2と呼ぶ。ユニット(262)において、角度1は角度2から減算され、「モジュロ360度」、第2の回転ユニット(263)に供給される差分が形成される。これは同様に4つの入力成分値を回転させ、結果P1、Q1、R1、S1を第2の双一次ユニット(264)に出力する。このユニットは、入力ビットの精度が高いので作動精度がわずかに高くなる以外は、(254)と同様に作動する。
最終的に、角度2はユニット(270)の否定「モジュロ360」であり、出力は最後の回転ユニット(271)に供給される。この出力(272)は、等価な8ビットフォーマットに変換する必要がある、拡大信号Aの赤色成分の中間形態である。
「XY角度化」ユニット(252)及び(261)は非常に単純で、これらの機能は以下に示す「疑似Cコード」機能によって厳密に記述することができる。これはハードウエアでの実行のためにVHDLに変換できることは自明である。
Figure 0004448692
また、「回転」ユニット(253)、(263)、及び(271)は、非常に単純であり、小数のマルチプレクサセットで実行することができる。同様に、機能は「疑似Cコード」で記述される。


Figure 0004448692
効率の理由から、マルチプレクサの入出力ビットの数は、完全な精度を維持するために必要な最小のビット数に設定する必要があることに留意されたい。例えば、回転ユニット(253)はわずか5ビット値で作動する。一方で、(263)は「Pin」に関する5つのビット、「Qin」及び「Rin」の各々に関する6ビット、及び「Sin」に関する7つの「有効」ビットを受信するであろう。出力値の各々は7つの有効ビットを有する。双一次ユニット(254)及び(264)の説明におけるこれらの数は、コンピュータ計算の当業者であれば理解できるはずである。
双一次ユニット(254)及び(264)は、「疑似Cコード」を使用して同様に説明できる。
Figure 0004448692
全ての出力値に同じ2進固定小数点を与えるために、Pout値には「4を乗算」する、即ち、最下位の位置に2つのゼロビットを追加する必要があり、一方で、avPQ×2及びavPR×2には「2を乗算」する、即ち、単一のゼロビットを追加する必要がある。ハードウエアでは、この精度の正規化処理は、実質的に後続の回転ユニット(263)及び(271)でそれぞれ実行されるので、これらユニット内のマルチプレクサのサイズが最小化される。経済性の理由から、ユニット(264)の出力精度は、9ビットのはずが、切り捨てられて8ビットになるが品質の大きな劣化はない。
双一次拡大に関する残りの1つの作動は、中間チャンネルの結果(272)を8ビット等価に変換することである。R、G、Bの信号に関し、これらの値は、目下「5.3」フォーマットで8ビット精度、即ち、2進小数点よりも大きい5ビット表示値及び分数3ビットである。以下の作動はフォーマットを変換するために使用される。
Figure 0004448692
また、アルファ成分の場合、(272)における最終的な中間精度は8ビットの結果であるが、「4.4」フォーマットである。これは以下のように変換される。
Figure 0004448692
解凍プロセスの最終ステップは、4つの変調値をそれぞれのA信号及びB信号値とブレンドして、所要であれば、アルファを強制的にゼロにすることである。図11は、アルファチャンネルだけを示している4つの双一次ピクセルの1つに関するハードウエアを示す。図6で決定された5ビット変調情報(205)は、4ビット変調値(280)と、「アルファを強制ゼロにする」フラグ(281)とに分割される。8ビットのアルファ値(282)及び(283)は、信号A及びBの双一次拡張の出力に対応し、減算ユニット(284)に供給されて符号付き9ビット結果を形成する。この結果は、0から1の範囲の値を表す4ビット値(280)に乗算され(285)、「9.3」フォーマットの12ビットの符号付き結果を形成するようになっている。(280)の範囲が制限されているので、これは12ビットであり13ビットではない。最終的に、これは(286)において(A)値(282)に加算され、分数3ビット及び単一の符号ビットが切り捨てられて8ビット結果を与える。数学的計算を含むので、結果は、正値であり、0から255までの範囲に包含されることが保証される。最終的に、実際に(281)フラグによってテクセルがパンチスルーであるとマークされた場合、計算値は強制的にゼロにされる(287)。結果(288)は、所定テクセルに関するアルファ値を表す。
赤色、緑色、及び青色チャンネル用ハードウエアは、「強制ゼロ」ユニット(288)が存在しない以外はアルファのハードウエアと同一である。
また、主要なグラフィックスライブラリ基準において、テクスチャの繰り返しに関する特別な作動に対する要求がある。この作動は、x及びyの寸法に対して独立に適用することができるが、テクスチャの無限の繰り返しを含み、テクスチャの毎秒の繰り返しに対して方向を反転させるか、又は単純にテクセルを境界に固定する。これらの作動は、選択された繰り返しモードに関する元のピクセル位置の計算からの1組の信号を送ることによって実行され、x及びyの寸法に対して独立して利用可能な3つのオプションのうちの1つを指示する。x方向に関するオプションは図12に示す。これらは出力を変更しない(300)か、左側ペアを右側ペアにコピーする(301)か、又は出力テクセルの左側ペアと右側ペアとを交換する(302)かである。y寸法に関するオプションも類似している。
4BPP圧縮方法
解凍処理は比較的簡単であるが、圧縮処理は非常に複雑である。図4aに戻ると、好適な実施形態の圧縮プロセスは、前述の修正線形ウエーブレット変換、即ち、代表値をBRT上の「中央に置く」変換を使用して、元の画像(40)を両方向に4倍だけダウンフィルタリングすることから始まる。ウエーブレット変換からの高周波数情報は、低周波数タームを残して捨てる(41)。次に、これを、双一次拡張を使用して拡大する(42)。低周波信号と元の画像との差分を計算する(43)。
図13は残りの処理の概要を示す。本方法は、ステップ(310)において、入力として元の画像(40)、低周波数バージョン(42)、及びデルタ画像(43)を取得し、この信号から「軸」画像を形成する。これはデルタ信号の最大成分のフィルタリング方向を表す。この信号、元の信号、及びデルタ信号から初期のA及びB信号が形成される。
ステップ(311)において、各々のピクセルに関する変調値は、元の画像と初期のA及びB信号から計算し、次に、この信号は、量子化セットに分割され、初期の信号A及びBを最適化するために使用される。
ステップ(312)において、変調値は、更新されたA及びB信号から再計算し、これらは各々のブロックの最適変調モードを選択して量子化する。
ステップ(313)において、選択された量子化変調値を使用して、A及びB信号は、特異値分解SVDを使用することでピクセルのオーバーラップ領域の最小の最小二乗誤差を「解決する」ことによって「最適」値に設定される。この方法は、線形代数学及び数値代数学によってもたらされる。単一値解凍の検討は、Press他の「C数値方法」(Cambridge University Press、ISBN 0−521−43108−5)に示されている。
更新されたA及びB信号から新しい変調値を計算して、ステップ(312)と同じ方法で量子化する(314)。ステップ(315)では、(313)及び(314)の最適化ステップを複数回繰り返す。最後に、カラーを量子化して保存する(316)が、随意的なステップにより、元の画像のより良い代表値を取得するために保存値を僅かに「調整」することができる。
図14及び図15は、ステップ(310)で実行される作動を説明する。図14に関して、データの全体的な主軸を見出すためにデルタ信号(43)を解析する(321)。この種の解析は、例えば、Wuによって説明されるように(「動的プログラミング及び主解析によるカラー量子化」Xiaolin Wu、ACM Transactions onGraphics、1992年10月号、第11巻4号、348−372頁)、又はIourchaによって説明されるように(米国特許第5,956,431号)、最初に入力データの共分散マトリックスを計算し、次に、そのマトリックスの主ベクトルを見出す。従って、主固有ベクトルはデータを貫く主軸を表すことになる。
本発明は、前述の手法に対して2つの小さな変更点を有する方法を使用する。第1の変更点は、三次元ではなく、カラーベクトルが、該カラーベクトル及び主軸を四次元の共分散マトリックス4×4にするアルファ要素を含む点である。第2の変更点、即ち、より重要な違いは、デルタベクトルが起点の周りで対称であると想定されることである。これは、共分散の評価において各々のデルタ値を2度使用することによって実現でき、2度目の使用で各成分が否定される。しかしながら、非常に安価な方法は、単に各々の成分の平均値がゼロであると仮定することである。これは以下のように表現できる。
Figure 0004448692

Figure 0004448692
ここで、Mcovarは、要求された共分散マトリックス、
i、Gi、Bi、Aiは、ピクセルiのカラー成分、
iは、サンプルのピクセル(この場合1)の重み又は重要度、
nは、サンプル数、
φ及びθは、(潜在的に等しい)カラーチャンネルの選択を表し、
φθは、φ、θの共分散である。
圧縮方法は、起点の周りで対称であると仮定されているので、前述の共分散方程式の平均値はゼロと仮定でき、推定が簡単になる。マトリックスの固有ベクトルが計算されこれが全体的な軸となる。位置合わせステップ(322)において、元のデルタデータ(43)のピクセルの各々は、そのピクセルと軸とのドット積を取ることによって、全体的な軸と比較される。スカラー結果が負の場合、各々の成分を否定することによってデルタピクセルは「反転」される。
「軸が位置合わせされた」デルタデータは、次に、オーバーラップする7×7のピクセルブロック(330)に分割される。これらの寸法は(2.PixelBlockHeight−1)(2.PixelBlockWidth−1)に対応する。これらのオーバーラップブロックの各々は、BRT上に中心が置かれ、代表カラーに直接影響を受ける領域を表す。各々の局所領域についての主軸は、加重フィルタを使用して計算される(331)。ピクセル毎の重みは(332)に示し、中心の最上位の重みは、BRT上に位置合わせされる(333)。これらの重みは、拡大されたその領域の代表カラーに関する双一次フィルタ重みに対応するので、重みの合計値は1である。主ベクトル計算の他の態様(即ち、共分散マトリックスの作成及び固有ベクトルの計算)も同様である。
結果として得られた主ベクトルを再構築してx及びyで解像度が1/4の低解像度画像334を形成する。次に、これを双一次拡大して(335)フィルタ処理された軸画像を形成する(336)。
(310)の次の部分では、A及びB信号に対する初期推測値を計算する。図15に関して、この処理は、画像の各々のピクセルまで(350)のステップを繰り返す。デルタ画像(43)から対応するピクセルを選択して低周波信号(42)から減算することによって、画像の各々のピクセルから代わりの「他の」ピクセルを計算する(351)。(これら2つのピクセルを追加することで、元の画像からのピクセルが生じることに留意されたい)。この「他の」ピクセルは「一時的」であり、ピクセル毎の「A」値に割り当てられ、元の画像からのピクセルは、ピクセル毎の「B」値に割り当てられる(352)。
また、デルタ画像(43)からの対応ピクセル及びフィルタ処理された軸信号(336)のドット積を計算する(360)。この結果(361)の符号が負の場合、ピクセルに対して割り当てられた「A」及び「B」値を交換し(362)、負でない場合はそのままにする。個々のピクセル毎のA及びBカラーは、2つの画像に再構築し(363)、縮小して(364)、各々のブロックに関する開始A及びB代表値を形成する。この値は保存して後で使用する。また、この値は双一次拡大されて低周波数の「初期A」及び「初期B」信号を形成する。
第1のステップ(311)は、初期の低周波数推定値「初期A」及び「初期B」からの画像に関する変調値の第1のセットを計算する。以下の方程式は、各々のピクセルの変調スカラー値mを取得するために使用される。
Figure 0004448692
ここで、
Figure 0004448692
は、元のテクスチャの対応ピクセル(ベクトル)であり、
Figure 0004448692
は、(初期)低周波数(拡大)A及びB(ベクトル)信号の対応ピクセルである。
分母がゼロの場合、結果はゼロと仮定する。変調値は、モノクロム画像として取り扱かうことができる。
この変調値の初期セットを使用して、ブロック毎の最適なA及びB代表値信号を送る。再度、(332)で規定されるフィルタカーネルを使用して、BRT上に中心を置く7×7のオーバーラップ領域に分割する。図16に関して、7×7の変調値及び関連の重み対は(390)、変調値の昇順に保存される(391)。次に、これらの保存された要素は、以下に示すように、PとQの2セットに分割される。
Figure 0004448692
及び
Figure 0004448692
、pmod<qmodであり、ここで誤差Eは、
Figure 0004448692
が最小である。この方程式において、
Figure 0004448692
は、加重平均である。
誤差を最小にする分割処理を計算で求めることは、
Figure 0004448692
を観察して線形時で計算でき、絶えず追加的に更新できることに留意されたい。つまり、分割点がセット値を通して掃引される際に、各々の分割に起因する誤差を素早く更新することができる。
初期の分割セットを計算した状態で、このセットは、主要な4つの変調量子化レベル、即ち、0.0、3/8、5/8、及び1.0に対応する4つに再分割する。速度の理由から、単純な汎用Lloydアルゴリズム、GLAを使用する(393)。
このアルゴリズムの第1のステップ(394)は、0及び1に対する代表値を計算する等価物から構成され、この値は単純に加重平均pwav及びqwavであり、明らかな線形ブレンドである2つの暗示的な分数代表値の「等価値」を求める。変調値は、これらの新しいカテゴリに再分割される(395)。(13/16)(pwav)+(3/16)(qwav)よりも小さい任意の値は、新しい「0」(即ちp)セットに割り当てられ、(13/16)(pwav)+(3/16)(qwav)よりも大きい任意の値は、新しい「1」(即ちq)セットに割り当てられる。目下、他の2つのセットは必要ない。次に、新しいセットに対応するpwav及びqwavの値を計算する。
所定回数の繰り返しが未実行の場合(396)、GLAは、ステップ(394)及び(395)を繰り返す。十分作動した後に、ステップ(397)でセット「0」及びセット「1」の最終的な代表値、即ち、pwav及びqwavを使用して、以下の方程式を用いてこの領域に関する代表値A及びBを修正する。
Figure 0004448692

Figure 0004448692
ステップ(312)において、ステップ(311)の最初の部分に説明した方程式を使用して変調値を再度計算する。画像の各々の4×4ブロックに関して、変調値の計算値は、{0,3/8,5/8,1}の値セット及び{0,1/2,1}の値セットに対して量子化される。最小量子化誤差を生じる量子化レベルセットは、ブロックモードに対して選択される。(しかしながら、パンチスルーピクセルを含むブロックの場合、後者のモードは自動的に選択される)。変調値は、それらの量子化レベルに設定される。
ステップ(313)において、次に、選択された量子化変調値は、特異値分解、即ちSVDを用いて、最適化されたA及びB値を再計算するために使用される。この段階では、任意セットを、好適には隣接するA及びB代表値セットを最適化するためにSVDを使用する。これは、圧縮結果がA及びBの組の選択セットによって決定されるピクセルを選択し、元のピクセルカラー及び選択された量子化変調値を検索することによって行われる。理論的には、この方法は、単一ステップで画像全体に対して適用できるであろう。しかしながら、SVDアルゴリズムの実行時間は、O(n3)である。nはピクセル数なので非常にコストがかかる。好適な実施形態において、最適化は、一度に4つの組のA及びB値セットに対して繰り返して実行され、このようなセットの1つは、図17に示されている。
11×11のピクセル領域(420)は、4組のA及びB値によって直接影響を受け、その位置は黒塗りの菱形によって示す。これらのうちの左上のものは(421)で示す。このピクセル領域のサイズは、式(3PixelBlockHeight−1)(3PixelBlockwidth−1)で求めることができる。参考のために、(421)を含む4×4ピクセルブロックは(422)によって示す。グレー円で示す更に12組のABは、その領域に影響を与える。この組の1つは(423)である。4組のABに対応するグループに対して新しい最適値を計算する場合、外側の12組は一定に保たれる。
(430)で表すマトリックスMAは、121行と8列で構成される。各々の行(431)は、領域(420)の固有ピクセルに対応し、各々の列(432)は「影響」に対応し、各々の8つのAB値、即ち、4組は、そのピクセルに置く。この実施例において、ABの組(421)に対応する値は、最初の2つの列(433)に割り当てた。特定の値の影響は、ピクセル及びABの位置に関連する双一次重み、及び、ピクセルに割り当てられた変調値によって決定される。例えば、ピクセル(435)は、割り当てられた量子化変調値m1をもつと仮定する。MAには以下の対応行がある。
〔(1−m1)(3/16),m1(3/16),0,0,(1−m1)(9/16),m1(9/16),0,0〕
左側のAB組だけがピクセル(435)に影響を与えること、及び、変調値m2をもつピクセル(436)に関しては、対応行は以下の通りであることに留意されたい。
〔(1−m2)(4/16),m2(4/16),(1−m2)(4/16),m2(4/16),(1−m2)(4/16),m2(4/16),(1−m2)(4/16),m2(4/16)〕
また、第2のマトリックスMBも構築され、121行と4列を有し、列は赤色、緑色、青色、及びアルファチャンネルに対応する。このマトリックスは、領域420のピクセル値を含み、(423)等の外側の12組に起因するピクセルの任意の成分以外は減算によって取り除かれる。
8つの未知のA及びBの最適値は、8成分列ベクトル
Figure 0004448692
によって表す。
Figure 0004448692
を決定するためには、最小二乗誤差が最小になるように以下の一次式を「解く」必要がある。
Figure 0004448692
この連立方程式が与えられると、SVD法は最適ベクトル
Figure 0004448692
を戻すことになる。新しいA及びB値が抽出され、この領域に関する元の値を置き換える。このステップは、ABの4組のグループの全部又はサブセットに対して繰り返される。
ステップ(316)において、A及びBのカラー値を量子化する。圧縮画像の全体的な精度が改善されたか否かを調べるために、遺伝的アルゴリズム等によって随意的な機能を実行して、量子化レベルの僅かな違いを検証する。
最終的な量子化A及びB値、変調値、及びブロック毎の変調モードは、前述のフォーマットに圧縮され、解凍システムが使用できるように保存される。
2BPP法
2BPP法は、4BPPスキームに対する変形例であり、2つの主たる差異のみを説明する。
図18に示すように、「ブロック」は4×8(Y*X)ピクセルのサイズまで拡張する(450)。各々のブロックのBRT(451)の位置は、再度、ブロック中央の直下で右側のテクセルに設定される。双一次拡大は、x方向の2倍の追加的な拡張により明らかに実行される。
4BPPモードと同様に、各々のブロックは、図5の(100)に示すように、各々が同じ4つのデータフィールドをもつ64ビットを使用して保存される。カラー代表値(110)及び(111)は、4BPPモードと同一である。唯一の違いは、32ビットの変調データ(104)及び変調モードフラグを解釈する方法である。
変調モードフラグ(103)がゼロに設定されている場合、各ビットは、図19に示す方法で解釈される。ブロック(460)の32ピクセル変調値の各々は、単一ビットを使用して符号化される。前述のように、左上ピクセルは最下位の位置(461)に保存され、右下ピクセルは最上位の位置462に保存される。保存されたゼロの値は0.0の変調値を表し、1の値は1.0を表す。
モードフラグ(103)が1に設定されている場合、図20に示す、1つおきのピクセルのみが明示的に符号化される。ピクセルグループ(470)において、「白」とマークされたテクセルに関する変調値のみが、2ビット/テクセルにて保存される。これらのテクセルの符号化は、4BPPモードの場合と同一であり、符号化した場合の4つの可能性のある変調値は{0,3/8,5/8,1}である。前述のように、左上ピクセルの変調値は、最下位の2ビット(471)に保存され、右下の値は最上位の各ビットに保存される。
チェッカーボードパターンの残りの「グレー」テクセルは、隣接して取り囲んでいる4つの「白」テクセルの平均値によって暗示される変調値を有する。例えば、(475)で表されるテクセルT2,5は、テクセルT1,5、T2,4、T2,6、及びT3,5の平均値によって暗示された変調値を有する。ブロック端部の「グレー」テクセルは、隣接ブロックの「白」テクセルの変調値を使用する。
後続の変調作用のコストを最小化するために、計算された平均値は、最も近い1/8の値に丸められる。正確には、ma、mb、mc、及びmdが「グレー」テクセルを取り囲んでいる「白」変調値の場合、「グレー」テクセルは以下の式によって求められる。
Figure 0004448692
別の実施例
別の実施形態は、単位、平均値としてブロック毎に2つのカラーと、2つの元のカラーの差分を保存でき、平均値に対しては高いビット精度を割り当て、差分に対しては低いビット精度を割り当てる。この方式は、一般に自然の画像には適切に機能するが、図表には劣るであろう。YUV+アルファのような別のカラー空間は、ブロック毎のカラーを表すために使用できるであろう。
更に別の実施形態は、DCT、アダマール変換、あるいは1つ又は2つのウエーブレットパス等を使用するような、変換符号化方法で変調値を保存できるであろう。幾つかの低位の高周波数タームは捨て去ることができる。この場合も同様に、この方法は、自然の画像に対しては適切に機能するが、線図に対しては上手く機能しない場合が多い。
追加のメモリアクセスと推定コストを要求するが、双二次方程式又は双三次方程式補間を使用して圧縮画像の品質を改善できる。この方式において、全てのベースカラーを別個に変調情報に保存するのが有利である。
記述の実施形態において、ハードウエアは非圧縮テクスチャをサポートする必要がありそうなので、3Dハードウエアの後半段階でテクスチャ化フィルタリングが行われることが想定されている。別の実施形態では、テクスチャ解凍の一部としてフィルタリングを組み込むことによって、ハードウエアを簡略化できる。これは、最初に変調値をフィルタリングし、次にフィルタ処理された変調値を、拡大A及びB信号に適用することによって、双一次フィルタ又は更に複雑なフィルタを近似する、安価なフィルタリングモードまで更に拡張できる。変調値はスカラーであり、即ち、元来出力されたテクセルよりも低次元なので、全体的なハードウエアコストが低減される。
高い圧縮レートが必要な場合、この方式は、二次的な参照テーブルを使用するようにできる。これは2つの独立した方法で実行できる。保存されたカラーは、テーブルへの索引を用いて置換するか、及び/又は、変調情報は別のテーブルへの索引に縮小することができる。
2BPPの別の実施形態は、追加の変調モードを実行できる。ブロックのモードフラグ(103)が1に設定された場合、ブロックのT00テクセル変調値の精度は、2ビットから1ビットに低減するであろう。次に、「未使用」ビットは別のモード選択フラットSel1になる。Sel1が0の場合、図20のグレーテクセルは、前述の方法と全く同じ方法で形成される。しかしながら、Sel1が1の場合、T24の変調値の精度も1ビットに低減するであろう。次に、「未使用」ビットは、別のモード選択フラットSel2になる。Sel2が0の場合、暗示的な「グレー」ピクセルの変調値は、直近の2つの水平方向の隣接値だけを平均することによって形成される。Sel2が1の場合、垂直方向の隣接値を平均する。
別の実施形態では、他のエン符号化を使用するために追加のモードのビットを使用でき、結果的に全部で4つのモードを与える。2つのモードは既に説明した2つの変調モードであるが、残りの2つのモードは、モードをエミュレートするために使用できる。例えば、1つのモードは、ブロック内で解凍がS3TCの作動を近似するように使用できるので、むしろブロックからブロックへのA及びBカラーを補間するのではなく、A及びBカラーがブロック内で一定に保たれるようにする。別の追加モードは、各カラー値の局所隣接値への索引として変調値を直接使用する。同一ではないが、これは「カラー分散」又はFXT1「CC_CHROMA」テクスチャ圧縮法と類似の画像特性をもつであろう。
別の用途
本方法は、三次元(又は高次)テクスチャをサポートするように拡張できる。低周波信号は、二次元ではなく三次元(又はそれ以上)にわたって簡単に補間され、ピクセルの矩形ブロックは拡張されて矩形プリズムになる。
A&B信号を代表カラー画像として説明したが、本発明はこれに限定されるものではない。例えば、A及びB代表値は、グレースケール画像に対して単色性であってもよく、又はUV摂動テクスチャのマッピングに関する二次元マップを保存することもできる。もしくは、A&B値は、(x,y,z)又は本出願人のEPO特許出願98 939 751.8に記載されている二次元最適化のいずれかによって符号化された、バンプマップベクトル正規形として解釈することもできる。
更に、A&B信号は、二次元画像と考える必要はない。例えば、一次元を捨て去り、例えば双一次ではなく線形補間を使用することにより、本方法は音声圧縮に適用できる。
本方法は、3Dモデリング等の関連分野にも適用できる。本方法は、境界面及び低精度モデル化テクスチャマップを使用して、曲面(例えば、双三次面で表れる)を変位マッピングと組み合わせることによって、複雑な表面モデルの圧縮/保存/再構成の手段を提供する。
特定の図面を参照して明細書の別の部分で説明した特徴は、特に説明又は図示したもの以外と組み合わせて使用できることに留意されたい。このような修正は全て請求範囲に記載した本発明の範囲内に包含される。
前述の説明に関連して、当業者であれば均等の装置及び方法を容易に考えることができ、図面に示し明細書に記載した均等の装置及び方法の全ては、本発明に含まれることが意図されている点を理解されたい。従って、前述のものは本発明の原理を例示するのみである。更に、当業者であれば、種々の修正及び変更を容易に行うことができ、本発明は、図示及び説明した構成及び作動に限定することは意図されておらず、従って、全ての修正及び均等物は本発明の範囲に属するものである。
双一次フィルタリングを使用した、表面へのテクスチャの適用を示す。 S3TCを用いた双一次フィルタリングの最悪のケースを示す。 「カラー分散」テクスチャ圧縮の双一次フィルタリングを用いた最悪のケースを示す。 画像の低域フィルタリング及びデルタ信号の計算に含まれる各ステップを示す。 本発明の、全体的なテクスチャ解凍処理を示す。 変調データを有する位相を外れたA値及び/又はB値を概略示す。 圧縮テクスチャデータブロックのフォーマットを示す。 4BPPブロックの変調情報のレイアウトを示す。 特定のテクセルセットを解凍するのに必要なブロックデータを示す。 変調情報の選択及び変換を示すブロック図である。 単純な双一次拡大を示す。 並列双一次拡大のために最適化されたハードウエアを説明する。 A及びB信号を変調するハードウエアのブロック図である。 テクスチャの繰り返しモードを実行するのに必要な交換モードを示す。 圧縮処理の概要である。 圧縮処理の「軸画像」の計算ステップである。 圧縮処理の初期A及びBを計算するステップのブロック図である。 圧縮処理における変調とA及びB値の初期最適化である。 入力マトリックス表示で、SVDステップによって最適化された典型的な領域を示す。 2BPPフォーマットのブロック構成を示す。 2BPPフォーマットで使用される1つの変調モードを示す。 2BPPフォーマットの他の変調モードを示す。 複数の変調値の2つの補間低解像度データセットへの適用を示す。 図21aで使用した変調値を示す。

Claims (80)

  1. アレイの複数の要素を表すデータを圧縮する方法であって、
    (a)フィルタリング手段が元のデータをフィルタリングすることによって、各々の要素が元のデータの複数の要素を表す、少なくとも2つの縮小サイズのデータセットを生成する段階と、
    (b)変調生成手段が前記元のデータを使用して変調データを生成する段階であって、前記変調データの要素の各々が、縮小サイズデータの組み合わせ方法を特定して、前記元のデータに対する近似値を生成するようになっている段階と、
    (c)記憶手段が縮小サイズデータセット及び変調データを圧縮データとして保存する段階と、
    を含むことを特徴とする方法。
  2. 前記縮小サイズデータセットを生成する前記段階が、
    (a)複数の前記要素を、中間縮小サイズデータを形成する代表要素セットに縮小するために、フィルタリングによって前記元のデータサイズを縮小する段階と、
    (b)前記元のデータに近似し前記元のデータと同数の要素を有する第1のレベルの低解像度データを形成するために、前記中間縮小サイズのデータを拡大縮小する段階と、
    (c)前記元のデータと前記第1のレベルの低解像度データとから差分データを生成する段階と、
    (d)前記第1のレベルの低解像度データと前記差分データとを使用して、少なくとも2つの第2のレベルの低解像度データセットを生成する段階と、
    (e)前記第2のレベルの低解像度データセットの各々のサイズを縮小して、前記縮小サイズデータセットを形成する段階と、
    を含むことを特徴とする請求項1に記載の方法。
  3. 前記変調データを生成する段階が、前記元のデータと前記第2のレベルの低解像度データを使用して複数の変調値を生成する段階を更に含み、各々の変調値が、前記元のデータを近似するために、前記元のデータの各々の要素に対して前記第2のレベルの低解像度データの組み合わせ方を表し、各々の変調値が、前記変調データの要素として保存されることを特徴とする請求項2に記載の方法。
  4. 前記変調データを生成する段階が、
    (a)前記元のデータと前記第2のレベルの低解像度データを使用して、複数の変調値を生成する段階であって、各々の変調値が、前記元のデータを近似するために、前記元のデータの各々の要素に対して前記第2のレベルの低解像度データの組み合わせ方を表すようになっている段階と、
    (b)前記縮小サイズデータと同数の要素を有する変調データを生成する段階であって、前記変調データの各々の要素が複数の変調値を表すようになっている段階と、
    を更に含むことを特徴とする請求項2に記載の方法。
  5. 各々の変調値が、2ビットで保存されることを特徴とする請求項4に記載の方法。
  6. 他の全ての変調値が保存され、各々の保存された変調値が2ビットを専有し、前記変調値の残りが、隣接の保存された前記変調値の平均値によって暗示的に表されることを特徴とする請求項4に記載の方法。
  7. 各々の変調値が、1ビットで保存されることを特徴とする請求項4に記載の方法。
  8. 2つの縮小サイズデータセットのみが生成されることを特徴とする請求項1から7のいずれか1項に記載の方法。
  9. 前記差分データの最大成分方向を表す主軸データを計算する段階を更に含むことを特徴とする請求項2から7のいずれか1項に記載の方法。
  10. 前記主軸データを計算する段階が、
    (a)前記差分データの各々の要素の平均値がゼロであると想定して、前記差分データの共分散マトリックスを求める段階と、
    (b)前記共分散マトリックスの主固有ベクトルを求める段階と、
    (c)主固有ベクトルを使用して、差分データの主軸データを配置する段階と、
    を更に含むことを特徴とする請求項9に記載の方法。
  11. (a)前記主軸データを用いて差分データの各々の要素のドット積を計算する段階と、
    (b)前記段階(a)が負のスカラー結果を生成した場合、前記差分データの要素を否定することによって位置合わせされた差分データを生成する段階と、
    (c)前記位置合わせされた差分データをオーバーラップするブロック要素に分割する段階と、
    (d)各々のブロックの前記共分散マトリックスから主固有ベクトルを計算する段階と、
    (e)結果として得られた主固有ベクトルを構築して、第3のレベルの低解像度データを形成する段階と、
    (f)前記第3のレベルの低解像度データを拡大縮小して、フィルタ処理された軸データを生成する段階と、
    によって、フィルタ処理された軸データを計算する段階を更に含むことを特徴とする請求項9又は請求項10に記載の方法。
  12. 前記第2のレベルの低解像度データの第2のセットが、前記第1のレベルの低解像度データと実質的に同じであり、前記第2のレベルの低解像度データの第1のセットが、前記第1のレベルの低解像度データから差分データを減算することで計算され、
    (a)前記フィルタ処理された軸データの対応する要素を用いて前記差分データの各々の要素のドット積を計算する段階と、
    (b)前記段階(a)で計算された前記ドット積が負の場合、前記第2のレベルの低解像度データの第1のセットと、前記第2のレベルの低解像度データの第2のセットとに対応する要素の値を交換する段階と、
    を更に含むことを特徴とする請求項11に記載の方法。
  13. 前記変調データを生成する段階が、データの各々の要素に関する変調値mを、次の関数、
    Figure 0004448692
    ここで、
    Figure 0004448692
    は、元のデータの要素、
    Figure 0004448692
    は、第2のレベルの低解像度データの第1のセットに対応する要素、
    Figure 0004448692
    は、第2のレベルの低解像度データの第2のセットに対応する要素
    を使用して推定する段階を含むことを特徴とする請求項2に記載の方法。
  14. オーバーラップする局所領域の変調値を少なくとも2つのセットのグループ化する段階と、
    前記グループ化された変調値を使用して、前記第2のレベルの低解像度データセットを改善する段階と、
    前記改善された第2のレベルの低解像度データセットから新しい変調値を計算する段階と、
    を更に含むことを特徴とする請求項2に記載の方法。
  15. 前記データを繰り返して改善することによって、最適化された第2のレベルの低解像度データ及び変調データのセットを形成することを特徴とする請求項14に記載の方法。
  16. 請求項1のステップ(a)が、前記元のデータに対してウエーブレット変換を適用する段階と、高周波数情報を捨てる段階と、縮小サイズデータ内に低周波数データを保持する段階とを含むことを特徴とする請求項1から15のいずれか1項に記載の方法。
  17. 前記ウエーブレット変換が、修正線形ウエーブレット変換であることを特徴とする請求項16に記載の方法。
  18. 前記中間の縮小サイズデータの拡大縮小段階が、双一次拡張によって実行されることを特徴とする請求項2に記載の方法。
  19. 前記縮小サイズデータセットが、保存前に量子化されることを特徴とする請求項1から18のいずれか1項に記載の方法。
  20. 縮小サイズデータの1つのセットが16ビットで保存されるように量子化され、縮小サイズデータの別のセットが15ビットで保存されるように量子化されることを特徴とする請求項19に記載の方法。
  21. 縮小サイズデータセットの各々の要素が、赤色、緑色、青色、及びアルファ成分データを有し、前記要素データのそれぞれのサイズが、前記要素が半透明か又は不透明かによって決定されることを特徴とする請求項20に記載の方法。
  22. 不透明要素に関して、1ビットの不透明フラグ、5ビットの赤色成分、5ビットの緑色成分として成分データが保存され、青色成分は、縮小サイズデータの1つのセットに関して5ビットで、縮小サイズデータの別のセットに関して4ビットで保存されることを特徴とする請求項21に記載の方法。
  23. 半透明要素に関して、1ビットの不透明フラグ、3ビットのアルファ成分、4ビットの赤色成分、4ビットの緑色成分として成分データが保存され、青色成分は、縮小サイズデータの1つのセットに関して4ビットで、縮小サイズデータの別のセットに関して3ビットで保存されることを特徴とする請求項21に記載の方法。
  24. 前記データがテクスチャデータであることを特徴とする請求項1から23に記載の方法。
  25. 各々の縮小サイズデータセットの各々の要素が、前記元のデータの4×4個の要素から成る1つのブロックの要素を表すことを特徴とする請求項1から25のいずれか1項に記載の方法。
  26. 前記縮小サイズデータセットの4つの要素が、原寸データの単一要素に対してテクスチャを適用するように要求されることを特徴とする請求項25に記載の方法。
  27. 圧縮データを解凍する方法であって、前記圧縮データは、少なくとも2つの縮小サイズデータと変調データとを備え、前記変調データは、非圧縮データに対する近似値を生成するために前記縮小サイズデータの組み合わせ方を定義するようになっており、前記方法は、
    (a)入力装置が元のデータである前記非圧縮データのN個の要素セットの各々に関して、各々の縮小サイズデータセットの対応する要素の少数セットを識別する段階と、
    (b)補間手段が縮小サイズデータの少数セットを使用し、各々の縮小サイズデータセットを拡張して、N個の要素の低周波数データセットを生成する段階と、
    (c)分割手段が前記変調データの対応する要素を識別して、前記変調データの前記要素をN個の変調値に分割する段階と、
    (d)重み付け手段が前記変調値を使用して、N個の要素の低周波数データセットの各々の対応する要素の重み付けを行い、N個の重み付け低解像度データセットを形成するする段階と、
    (e)結合器がN個の重み付け低解像度データセットの対応する要素を組み合わせて、前記元のデータのN個の要素部の近似値を生成する段階と、
    を含むことを特徴とする方法。
  28. 前記段階(a)、(b)、(c)、及び(d)が、各々の縮小サイズデータセットの全ての要素と、前記変調データの全ての要素上で実行され、前記元のデータ全ての近似値を生成することを特徴とする請求項27に記載の方法。
  29. 前記段階(a)、(b)、(c)、及び(d)が、各々の縮小サイズデータセットのP個の要素ブロックと、前記変調データの対応するP個の要素ブロック上で実行され、前記元のデータのP×N個の要素のブロックの近似値を生成することを特徴とする請求項27に記載の方法。
  30. 前記縮小サイズデータの要素と前記変調データの要素が、前記元のデータの16個の要素に対応することを特徴とする請求項27から29のいずれか1項に記載の方法。
  31. 前記縮小サイズデータの要素と前記変調データの要素が、4×4要素アレイに配列された前記元のデータの要素のブロックに対応することを特徴とする請求項27から29のいずれか1項に記載の方法。
  32. Pが4でNが16であり、前記元のデータの要素が、縮小サイズデータセットと変調データの4つの要素を処理することによって推定され、前記縮小サイズデータセットと変調データの各々の要素が、元のデータの4×4の要素から成る1つのブロックに対応し、その4×4の要素のブロックは、非オーバーラップ2×2アレイに配列されることを特徴とする請求項29に記載の方法。
  33. 前記元のデータが画像データであることを特徴とする請求項27から32のいずれか1項に記載の方法。
  34. 前記画像データがテクスチャデータであることを特徴とする請求項33に記載の方法。
  35. 圧縮テクスチャデータを解凍する方法であって、前記圧縮テクスチャデータの各々の要素は、元のデータである非圧縮テクスチャデータの4×4の要素のブロックを表し、前記圧縮テクスチャデータは、少なくとも2つの縮小サイズデータセット、変調データ、及び変調フラグデータを有し、各々の縮小サイズデータセットの各々の要素は、前記元のテクスチャデータの4×4の要素の対応するブロックの代表値のブロックを保存し、前記変調データの各々の要素は、前記縮小サイズデータセットから非圧縮テクスチャデータを再生するための16個の成分の変調値を有し、前記変調フラグデータの各々の要素は、前記変調データの解釈を修正するようになっており、前記方法は、
    (a)第1の要素識別手段が対象物の要素をテクスチャ化するのに必要な原寸データの2×2要素のブロックを識別する段階と、
    (b)別の要素識別手段が各々の縮小サイズデータセット、変調データ、及び原寸データの2×2要素を生成するのに必要な変調フラグデータの4つの要素を識別する段階と、
    (c)解凍手段が前記4つの識別された要素を同時に解凍して、元のテクスチャデータの所要の4×4要素を形成する段階と、
    を含むことを特徴とする方法。
  36. 前記段階(c)が更に、
    (a)前記要素が4×4ブロックから成るブロック要素に位置するか否かを判定するために、前記2×2ブロックのテクスチャデータの各々の位置をマッピングする段階と、
    (b)ブロックを表する以外の場所に位置する前記2×2ブロックのテクスチャデータの各々の要素に関して、前記4×ブロックの前記代表値を隣接する4×4ブロックの少なくとも1つの代表値と組み合わせて、修正代表値を生成する段階と、
    (c)ブロックを表すブロックに位置する前記2×2ブロックのテクスチャデータの各々の要素に関して、前記ブロックの前記代表値に対して修正代表値を設定する段階と、
    (d)前記修正代表値を前記修正データと組み合わせて、2×2テクスチャデータを生成する段階と、
    を含むことを特徴とする請求項35に記載の方法。
  37. 前記4つの識別された要素を解凍する段階が更に、
    (a)前記識別された変調データ要素から4つの関連要素変調値を分離する段階と、
    (b)識別された変調データ要素の各々に関する前記4つの関連要素値を、前記変調フラグデータの対応する要素と組み合わせて、4つの変調デコードデータセットを形成する段階と、
    (c)変調デコードデータセットの各々を、前記識別された縮小サイズデータの前記関連要素に適用して、元のテクスチャデータの所要の2×2要素を生成する段階と、
    を含むことを特徴とする請求項35に記載の方法。
  38. 前記解凍されたテクスチャデータが、対象物をテクスチャ化するために適用されることを特徴とする請求項27から37のいずれか1項に記載の方法。
  39. データを圧縮する方法であって、
    (a)圧縮のためのデータを受け取る段階と、
    (b)圧縮のためのデータを非オーバーラップ均一ブロックに分割する段階と、
    (c)第1のブロックの中心を見つける段階と、
    (d)前記第1のブロックの中心に最も近い前記第1のブロック内の要素を識別する段階と、
    (e)前記第1のブロックの前記識別要素から第1のブロックの代表要素を選択する段階と、
    (f)前記第1のブロックの代表値に対応する位置で前記ブロックの前記要素を選択することによって、他のブロックの各々に関するブロック代表要素を選択する段階と、
    (g)各々のブロックの前記代表要素を圧縮データとして保存する段階と、
    を含むことを特徴とする方法。
  40. 前記非オーバーラップ均一ブロックが、4×4の要素であり、各々のブロックの前記代表要素が、前記ブロックの局所の3列3行の要素であることを特徴とする請求項35に記載の方法。
  41. (a)複数の変調値を生成する各々のブロックに関して、各々の変調値がブロック代表要素を圧縮のためにデータのブロックの要素に対応させる段階と、
    (b)前記代表要素と併せて前記変調データを保存する段階と、
    を含むことを特徴とする請求項39又は40に記載の方法。
  42. 圧縮のためのブロックのデータの各々に関する少なくとも2つの代表要素セットが生成され保存されることを特徴とする請求項41に記載の方法。
  43. 各々の変調値が、圧縮用データに近似する推定値の代表要素セットの各々に対して適用される重み付けを特定することを特徴とする請求項41に記載の方法。
  44. 保存するために圧縮されたデータ要素にアクセスする方法であって、
    (a)アクセスされることになる要素の位置を使用して、前記圧縮データの第1の要素を識別する段階であって、前記第1の要素が、アクセスされることになる前記要素が圧縮されているブロックを表すようになっている段階と、
    (b)前記圧縮データの3つの別の要素を識別する段階であって、前記3つの別の要素が、アクセスされることになる要素が圧縮されている前記ブロックに隣接する3つのブロックに対応し、前記3つの別の要素が、アクセスされることになる要素に対する近似値を生成するために前記圧縮データの前記第1の要素を解凍することを要求されるようになっている前記段階と、
    (c)圧縮データの前記第1の要素と3つの他の全て要素までを使用して、アクセスされることになる前記元のデータの前記要素に対する第1の近似値を生成する段階と、
    を含むことを特徴とする請求項1から5のいずれか1項に記載の方法。
  45. (a)アクセスされることになる前記要素が、前記第1のブロックの前記代表要素に対応する場合、前記元のデータの前記要素の前記近似値は、単に前記第1のブロックの前記代表要素であり、
    (b)アクセスされることになる前記要素が、前記第1のブロックの前記代表要素と同じ行にある場合、アクセスされることになる前記要素に対する前記近似値は、水平方向に隣接する前記ブロックの前記代表要素を使用して、前記第1のブロックの前記代表要素を補間することによって生成され、
    (c)アクセスされることになる前記要素が、前記第1のブロックの前記代表要素と同じ列にある場合、アクセスされることになる前記要素に対する前記近似値は、垂直方向に隣接する前記ブロックの前記代表要素を使用して、前記第1のブロックの前記代表要素を補間することによって生成され、
    (d)アクセスされることになる前記要素が、前記第1のブロックの前記代表要素とは異なる行及び列にある場合、アクセスされることになる前記要素に対する前記近似値は、垂直方向に隣接する前記ブロックと水平に隣接する前記ブロックの前記代表要素を使用して、前記第1のブロックの前記代表要素を補間することによって生成されることを特徴とする請求項44に記載の方法。
  46. 前記元のデータの2×2アレイの4つの要素は、同時にアクセスされる必要があり、2×2アレイの左上要素は、前記第1のブロックを識別するために使用され、前記請求項45の段階(a)、(b)、(c)、及び(d)に記載の作動を実行する方法であって、
    (a)データ(P0、Q0、R0、S0)を第1の回転ユニットに入力する段階であって、P0は前記第1のブロックの前記代表要素であり、Q0は前記第1のブロックに水平方向に隣接する前記ブロックに対応する前記代表要素であり、R0は前記第1のブロックに垂直方向に隣接する前記ブロックに対応する前記代表要素であり、S0は残りの識別された前記ブロックに対応する前記代表要素である段階と、
    (b)アクセスされることになる2×2アレイの左上要素の座標から第1の回転角度と第2の回転角度とを求める段階と、
    (c)前記第1の回転ユニット内で前記データ(P0、Q0、R0、S0)を前記第1の回転角度により回転させ、第1の双一次ユニットに結果として得られた前記データ(P0、Q0、R0、S0)を出力する段階と、
    (d)前記第1の双一次ユニット内で、
    Pout=P
    Qout=(P+Q)/2
    Rout=(P+R)/2
    Sout=(P+Q+R+S)/4
    の計算を実行し、第2の回転ユニットにPout、Qout、Rout、及びSoutを出力する段階と、
    (e)前記第2の回転角度から前記第1の回転角度を減算して、第3の回転角度を求める段階と、
    (f)前記第2の回転ユニット内で、(P1、Q1、R1、S1)を生成するために前記第3の回転角度に基づいてデータを回転させて、前記第2の双一次フィルタリングユニットに前記データを出力する段階と、
    (g)前記第2の双一次フィルタリングユニット内で、
    Pout=P1
    Qout=(P1+Q1)/2
    Rout=(P1+R1)/2
    Sout=(P1+Q1+R1+S1)/4
    の計算を行い、第3の回転ユニットにPout、Qout、Rout、及びSoutを出力する段階と、
    (h)360度から前記第2の回転角度を減算して、第4の回転角度を生成する段階と、
    (i)第3の回転ユニット内で、前記第4の回転角度に基づいてデータを回転させ、結果としてアクセスされことになる要素の前記2×2アレイを出力する段階と、
    を含むことを特徴とする請求項45に記載の方法。
  47. 前記回転角度は、アクセスされることになる要素の前記2×2アレイの左上要素の前記第1のブロックに局所の前記座標の前記最下位ビットによって決定されることを特徴とする請求項46に記載の方法。
  48. 前記第1のブロックに局所の前記座標は、アクセスされることになる前記要素の前記2×2アレイの左上要素の大域座標から、x及びy座標の2つの前記最下位ビットを取得して、それらを関連の局所座標にマッピングすることによって計算されることを特徴とする請求項47に記載の方法。
  49. 前記圧縮データの前記要素は保存前に量子化され、アクセスされることになるデータの前記元の要素の前記近似値は、出力前に最大精度に変換されることを特徴とする請求項44から48のいずれか1項に記載の方法。
  50. 前記圧縮データは付加的に変調データを有し、変調データの要素は、前記元のデータ内の前記ブロックの各々の要素に対する、前記圧縮データの前記対応代表要素に関連する複数の変調値を有し、これによりアクセスされることになる前記元のデータの前記要素に対する前記第1の近似値が、適切な変調値を使用して修正され、アクセスされることになる元のデータの前記要素に対する第2の近似値を生成することを特徴とする請求項44から49のいずれか1項に記載の方法。
  51. 圧縮データを受信するための入力装置を有するプロセッサと、請求項39から40に記載された方法を実行するための命令セットと、圧縮データを出力するための出力装置とを備えることを特徴とするデータ圧縮装置。
  52. (a)圧縮のためのデータを受け取る入力装置と、
    (b)前記入力装置に接続され、圧縮のためのデータを非オーバーラップ均一ブロックに分割するための分割手段と、
    (c)前記分割手段に接続され、第1のブロックの中心位置を見つけて、前記第1のブロックの前記中心に最も近い前記第1のブロック内の前記要素を識別するための第1のブロック識別手段と、
    (d)前記分割手段と前記第1のブロック識別手段に接続され、前記第1のブロックの前記識別要素から第1のブロック代表要素を選択するための第1の選択手段と、
    (e)前記分割手段と前記第1のブロック識別手段に接続され、前記第1のブロック代表要素に対応する位置の別のブロックの要素を選択することによって、前記別のブロックの各々に関するブロック代表要素を選択するための複数の別の選択手段と、
    (f)各々のブロックの前記代表要素を圧縮データとして出力するための出力装置と、
    を備えることを特徴とするデータ圧縮装置。
  53. 各々の選択手段に接続され、各々のブロックの前記代表要素を圧縮データとして記憶するための記憶装置を更に備えることを特徴とする請求項52に記載の装置。
  54. 前記分割手段が、圧縮のためのデータを4×4の要素の非オーバーラップ均一ブロックに分割するように構成され、前記選択手段が、前記ブロック代表要素として前記ブロックに局所の3行3列の前記要素を選択するように構成されることを特徴とする請求項53に記載の装置。
  55. 各々のブロックのために複数の変調値を生成するように構成された変調データ生成手段を更に備え、各々の変調値が、前記ブロック代表要素を圧縮のためのデータの前記ブロックの要素に関連付けすることを特徴とする請求項53又は54に記載の装置。
  56. 各々の選択手段が、各々のブロック圧縮のためのデータに関する少なくとも2つの代表要素セットを生成するように構成されることを特徴とする請求項55に記載の装置。
  57. 前記変調データ生成手段が、圧縮のためのデータの近似値を生成するために、各々の変調値を、前記代表要素セットに適用されることになる重み付け値に対して関連付けるように構成されることを特徴とする請求項55に記載の装置。
  58. 前記請求項39から43のいずれか1項に記載の方法により圧縮されたデータから元のデータの要素を推定する装置であって、
    (a)推定されることになる元のデータの前記要素の位置を入力するための入力装置と、
    (b)前記入力装置に接続され、前記圧縮データの第1の要素を識別するように構成され、前記第1の要素が、元のデータの前記要素が圧縮されている前記ブロックを表すようになっている第1の要素識別手段と、
    (c)前記入力装置と前記第1の要素識別手段とに接続され、前記圧縮データの3つの別の要素を識別するように構成され、前記3つの別の要素が、元のデータの前記要素が圧縮されている前記ブロックに隣接する3つのブロックに対応して、前記3つの別の要素が、前記圧縮データの前記第1の要素を解凍するように要求され、元のデータの前記要素に対する近似値を生成するようになっている別の要素識別手段と、
    (d)前記要素識別手段に接続され、圧縮データの前記第1の要素と前記3つの別の要素の全てまでを使用して、前記元のデータの前記要求された要素に対する近似値を生成するように構成された処理手段と、
    を備えることを特徴とする装置。
  59. 前記処理手段が、
    (a)アクセスされることになる前記要素が前記第1のブロックの前記代表要素に対応する場合、前記要求された要素に対する近似値として前記第1のブロックの前記代表要素を生成する段階と、
    (b)アクセスされることになる前記要素が前記第1のブロックの前記代表要素と同じ行にある場合、水平方向に隣接するブロックの前記代表要素を使用して、前記第1のブロックの前記代表要素を補間することによってアクセスされることになる前記要素に対する近似値を生成する段階と、
    (c)アクセスされることになる前記要素が前記第1のブロックの前記代表要素と同じ列にある場合、垂直方向に隣接するブロックの前記代表要素を使用して、前記第1のブロックの前記代表要素を補間することによって前記要求される要素に対する近似値を生成する段階と、
    (d)アクセスされることになる前記要素が前記第1のブロックの前記代表要素と異なる行及び列にある場合、前記垂直方向に隣接するブロックの前記代表要素と前記水平に隣接するブロックの前記代表要素とを使用して、前記第1のブロックの前記代表要素を補間することによってアクセスされることになる前記要素に対する近似を生成する段階と、
    によって元のデータの要素を推定するように構成されていることを特徴とする請求項58に記載の装置。
  60. 前記元のデータの2×2アレイの4つの要素が同時にアクセスされるように要求される装置であって、前記装置が更に、
    (a)前記2×2アレイの左上要素を使用して前記第1のブロックを識別するための手段と、
    (b)アクセスされることになる前記2×2アレイの前記左上要素の座標から第1の回転角度を求めるための第1の回転推定手段と、
    (c)アクセスされることになる前記2×2アレイの前記左上要素の座標から第2の回転角度を求めるための第2の回転推定手段と、
    (d)前記第1の回転推定手段及び前記第2の回転推定手段に接続され、第3の回転角度を求めるために、前記第2の回転角度から前記第1の回転角度を減算するための第3の回転推定手段と、
    (e)前記第2の回転推定手段に接続され、第4の回転角度を生成するために、360度から前記第2の回転角度を減算するための第4の回転推定手段と、
    (f)P0が前記第1のブロックの要素であり、Q0が前記第1のブロックに水平方向に隣接する前記ブロックに対応する要素であり、R0が前記第1のブロックに垂直方向に隣接する前記ブロックに対応する要素であり、S0が残りの識別されたブロックと前記第1の回転推定手段に対応する要素である、(P0、Q0、R0、S0)を受信するために前記識別手段に接続され、前記第1の回転角度に基づいて前記(P0、Q0、R0、S0)を回転させて、結果として得られるデータ(P、Q、R、S)を出力するように構成された第1の回転ユニットと、
    (g)前記第1の回転ユニットの出力に接続され、
    Pout=P
    Qout=(P+Q)/2
    Rout=(P+R)/2
    Sout=(P+Q+R+S)/4
    の計算を実行して、Pout、Qout、Rout、Soutを出力するように構成された第1の双一次ユニットと、
    (h)(Pout、Qout、Rout、Sout)を受信するために、前記第3の角度回転推定手段と前記第1の双一次ユニットの出力とに接続され、(P1、Q1、R1、S1、)を出力するために前記第3の回転角度に基づいて前記データを回転させるように構成された第2の回転ユニットと、
    (i)前記第2の回転ユニットの出力に接続され、
    Pout=P1
    Qout=(P1+Q1)/2
    Rout=(P1+R1)/2
    Sout=(P1+Q1+R1+S1)/4
    の計算を実行して、Pout、Qout、Rout、Soutを出力するように構成された第2の双一次フィルタユニットと、
    (j)前記第4の回転推定手段と前記第2の双一次フィルタの出力とに接続され、前記第4の回転角度に基づいてデータを回転させ、結果として、アクセスされることになる要素の2×2アレイを出力するように構成された第3の回転ユニットと、
    を備えることを特徴とする請求項59に記載の装置。
  61. 前記第1の回転推定ユニット及び前記第2の回転推定ユニットが、アクセスされることになる要素の2×2のアレイの左上要素の前記第1のブロックに局所の座標の最下位ビットを使用して、回転角度を求めるように構成されることを特徴とする請求項60に記載の装置。
  62. 前記圧縮データの前記要素は装置に入力される前に圧縮されており、前記装置が、出力の前に前記要求された要素に対する前記近似値を最大精度で変換するように構成された変換手段を更に備えることを特徴とする請求項51から61のいずれか1項に記載の装置。
  63. 前記圧縮データは追加的に変調データを有し、変調データの要素は前記元のデータの前記ブロックの各々の要素に対する前記圧縮データの前記対応代表要素に関連する複数の変調値を有し、前記装置が、前記変調データを受信し、前記変調値の適切な前記要素から前記要求された要素に関する適切な前記変調値を識別し、適切な前記変調値を使用して前記第1の近似値を前記要求された要素に変調して、前記要求された要素に対する第2の近似値を生成する変調手段を更に備えることを特徴とする請求項51から62のいずれか1項に記載の装置。
  64. 請求項1から50に記載のいずれかのプロセスをコンピュータに実行させるプログラム命令を備えることを特徴とするコンピュータプログラム。
  65. 記録媒体に組み込まれたことを特徴とする請求項64に記載のコンピュータプログラム。
  66. コンピュータメモリに保存されたことを特徴とする請求項64に記載のコンピュータプログラム。
  67. 読み出し専用メモリ組み込まれたことを特徴とする請求項64に記載のコンピュータプログラム。
  68. 電気搬送信号上で搬送されることを特徴とする請求項64に記載のコンピュータプログラム。
  69. (a)アレイの複数の要素を表す、圧縮されることになるデータを受信するための入力装置と、
    (b)前記入力装置に接続され、前記受信データをフィルタリングして、少なくとも2つの縮小サイズデータセットを生成し、各々の縮小サイズデータセットの各々の要素が前記受信データの複数の要素を表すようになっているフィルタリング手段と、
    (c)前記入力装置に接続され、前記受信データに対する近似値を生成するために、前記縮小サイズデータセットの組み合わせ方を特定する変調データを生成するための変調生成手段と、
    (d)前記フィルタリング手段と前記変調生成手段とに接続され、前記縮小サイズデータセットと変調データを圧縮データとして出力するための出力装置と、
    を備えることを特徴とするデータ圧縮装置。
  70. 前記変調生成手段と前記フィルタリング手段とに接続され、前記縮小サイズデータセットと変調データを圧縮データとして記憶するための記憶装置を更に備え、前記出力装置が、前記圧縮データを出力するため記憶装置に直接接続できることを特徴とする請求項69に記載の装置。
  71. 前記フィルタリング手段が、
    (a)中間縮小サイズデータを形成するために前記受信データをフィルタ処理し、
    (b)第1のレベルの低解像度データを形成するために前記中間縮小サイズのデータを拡大し、
    (c)前記受信データと第1のレベルの低解像度データから差分データを生成し、
    (d)少なくとも2つの第2のレベルの低解像度データセットを生成するために、前記第1のレベルの低解像度データと前記差分データを使用し、
    (e)縮小サイズデータセットを生成するために、前記第2のレベルの低解像度データセットの各々のサイズを縮小する、
    ように構成されることを特徴とする請求項69又は70に記載の装置。
  72. 前記フィルタリング手段に接続され、前記元の受信データを推定するために、圧縮データの解凍に使用する変調データを生成するための変調データ生成手段を更に備えることを特徴とする請求項69から71に記載の装置。
  73. 前記変調データ生成手段と前記フィルタリング手段とに接続され、前記縮小サイズデータセットと前記変調データを繰り返して改善するための最適化手段を更に備えることを特徴とする請求項69から72に記載の装置。
  74. 圧縮データを解凍するための装置であって、前記圧縮データは少なくとも2つの縮小サイズデータセットと変調データを有し、前記変調データは非圧縮データに対する近似値を生成するために、前記縮小サイズデータセットの組み合わせ方を定義し、前記装置は、
    (a)前記圧縮データを受信するための入力装置と、
    (b)前記入力装置に接続され、元のデータである前記非圧縮データの各々の要素に対する少なくとも2つの第1の近似値を生成するために、各々の縮小サイズデータセットを補間するための補間手段と、
    (c)前記入力装置に接続され、変調データの要素を複数の変調値に分割するための分割手段と、
    (d)前記補間手段と前記分割手段とに接続され、前記変調値を使用して、補間された各々の縮小サイズデータセットに対応する要素に重み付けするための重み付け手段と、(e)前記重み付け手段に接続され、非圧縮データ要素に対して第2の近似を生成するために、対応する前記重み付け補間縮小サイズデータを結合するための結合器と、
    を備えることを特徴とする装置。
  75. 縮小サイズデータの4つの要素を同時に解凍するように構成されることを特徴とする請求項74に記載の装置。
  76. 第2のレベルの低解像度データセットは、最新変調データと対応する元のデータのウインドウを選択し、局所化された第2のレベルの低解像度データセットに関する方程式の線形システムを計算し、単一値の分解を使用して最小二乗誤差を形成する第2のレベルの低解像度データセットを解くことによる、各々の繰り返しの間に改善されることを特徴とする請求項14に記載の方法。
  77. 縮小サイズデータセットの要素と変調データの要素が、前記元のデータの32の要素に対応することを特徴とする請求項27から29に記載の方法。
  78. 縮小サイズデータセットの要素と変調データの要素が、4×8要素のアレイに構成された前記元のデータの要素のブロックに対応することを特徴とする請求項77に記載の方法。
  79. 2×2ブロックのピクセルを表す画像データを第1の解像度から第2の解像度まで拡大する装置であって
    (a)前記第1の解像度でピクセルの各々のブロックに関するカラー要素データセットを受信すると共にピクセルの前記ブロックに関する対応する位置データを受信するための手段と、
    (b)前記位置データからのデータに関する少なくとも第1の回転角度と第2の回転角度を導出するための手段と、
    (c)前記カラー要素データと前記第1の回転角度を受信し、前記回転角度に基づいて前記カラー要素から第1の値セットを形成するための手段と、
    (d)前記第1の値セットと第1の回転角度及び第2の回転角度を受信し、前記第1の回転角度及び第2の回転角度に基づいて第1の値セットの後続の値セットを形成するための手段と、
    (e)前記後続の値セットと前記第2の回転角度を受信する手段と、前記後続の値セットを前記第2の回転角度に基づいて前記ブロックのピクセルに割り当てる手段と、
    を備えることを特徴とする装置。
  80. 後続の値セットを受信するための少なくとも2つの手段があり、各々は別の回転角度を受信し、前記第2の回転角度に基づいて前記ブロックのピクセルに次に別の後続の値セットを割り当てる手段に先行して、前記回転角度に基づいて別の後続の値セットを形成することを特徴とする請求項79に記載の装置。
JP2003550156A 2001-12-03 2002-12-03 データ圧縮及び圧縮データを解凍する方法及び装置 Expired - Lifetime JP4448692B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GBGB0128888.5A GB0128888D0 (en) 2001-12-03 2001-12-03 Method and apparatus for compressing data and decompressing compressed data
GB0213998A GB2382736B (en) 2001-12-03 2002-06-18 Method and apparatus for compressing data and decompressing compressed data
PCT/GB2002/005454 WO2003049037A2 (en) 2001-12-03 2002-12-03 Method and apparatus for compressing data and decompressing compressed data

Publications (2)

Publication Number Publication Date
JP2005525616A JP2005525616A (ja) 2005-08-25
JP4448692B2 true JP4448692B2 (ja) 2010-04-14

Family

ID=26246826

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003550156A Expired - Lifetime JP4448692B2 (ja) 2001-12-03 2002-12-03 データ圧縮及び圧縮データを解凍する方法及び装置

Country Status (4)

Country Link
EP (1) EP1461772B1 (ja)
JP (1) JP4448692B2 (ja)
GB (1) GB2417384B (ja)
WO (1) WO2003049037A2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6775417B2 (en) 1997-10-02 2004-08-10 S3 Graphics Co., Ltd. Fixed-rate block-based image compression with inferred pixel values
GB2445008B (en) * 2006-12-20 2008-12-31 Sony Comp Entertainment Europe Image compression and/or decompression
JP4964084B2 (ja) * 2007-10-15 2012-06-27 三菱電機株式会社 画像符号化装置および画像復号化装置
GB2457646B (en) 2007-10-30 2010-03-03 Imagination Tech Ltd Method and apparatus for compressing and decompressing data
GB201122022D0 (en) 2011-12-20 2012-02-01 Imagination Tech Ltd Method and apparatus for compressing and decompressing data
US9607574B2 (en) 2013-08-09 2017-03-28 Apple Inc. Video data compression format
JP6235926B2 (ja) * 2014-02-14 2017-11-22 株式会社スクウェア・エニックス 情報処理装置、生成方法、プログラム及び記録媒体
KR101952246B1 (ko) * 2016-12-27 2019-02-26 홍익대학교 산학협력단 근사 기반 하드웨어 메모이제이션을 이용한 에너지 효율적인 이미지 암호화 시스템 및 방법
CN107203767B (zh) * 2017-05-24 2020-01-14 深圳市神视检验有限公司 一种辅助实现自动化无损检测的方法及装置
CN115622570B (zh) * 2022-12-14 2023-02-21 山东融汇通达网络科技有限公司 一种数据高效存储方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2030823B (en) * 1978-10-02 1982-11-03 Ibm Image data manipulation apparatus
DE4309471A1 (de) * 1993-03-24 1994-09-29 Miro Computer Prod Ag Verfahren zur Wiedergabe von Videobildern
US5956431A (en) * 1997-10-02 1999-09-21 S3 Incorporated System and method for fixed-rate block-based image compression with inferred pixel values
CN1253008C (zh) * 2001-10-26 2006-04-19 皇家飞利浦电子股份有限公司 空间可分级压缩的方法和设备

Also Published As

Publication number Publication date
GB0523596D0 (en) 2005-12-28
JP2005525616A (ja) 2005-08-25
GB2417384B (en) 2006-05-03
EP1461772A2 (en) 2004-09-29
EP1461772B1 (en) 2012-11-07
GB2417384A (en) 2006-02-22
WO2003049037A3 (en) 2003-11-27
WO2003049037A2 (en) 2003-06-12

Similar Documents

Publication Publication Date Title
US7242811B2 (en) Method and apparatus for compressing data and decompressing compressed data
US10291926B2 (en) Method and apparatus for compressing and decompressing data
Fenney Texture compression using low-frequency signal modulation
EP2204045B1 (en) Method and apparatus for compressing and decompressing data
EP2005393B1 (en) High quality image processing
US8644627B2 (en) Using resolution numbers to determine additional component values
JP4448692B2 (ja) データ圧縮及び圧縮データを解凍する方法及び装置
US8837842B2 (en) Multi-mode processing of texture blocks
US8942474B2 (en) Method and system for interpolating index values of associated tiles in an image
Ivanov et al. Color Distribution for Compression of Textural Data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081027

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090127

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090608

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090908

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090915

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

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

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

Free format text: PAYMENT UNTIL: 20130129

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4448692

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130129

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term