説明

画像処理

複数の画像要素(610)を含む画像ブロック(600)は、少なくとも1つの基準符号語(720;750)、間隔符号語(710;740)及びインデックスシーケンス(730;760)に圧縮される。結果として得られる圧縮ブロック(700)の合計のビット長は一定であるが、それら符号語(710;720;730;740)及びインデックスシーケンス(730;760)のうち少なくとも2つのそれぞれのビット長は、画像要素(610)の元のベクトル成分に基づいて動的に規定される。基準符号語(720;750)は基準値(10)を表し、間隔符号語(710;740)は間隔(20)を表す。この間隔(20)は、基準値(10)と相関する複数の成分値(50)を含む。インデックスシーケンス(730;750)は、複数の利用可能な値(50)から選択された1つの成分値を画像要素(610)毎に表す。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に画像処理に関し、特に、画像を符号化及び復号化する方法及びシステムに関する。
【背景技術】
【0002】
3次元グラフィックのリアルタイムレンダリングは、ゲーム、マンマシンインタフェース、メッセージング及びmコマースを含む移動端末上でのいくつかの魅力的な応用例を有する。3次元レンダリングは計算コストの高いタスクであるため、多くの場合、十分な性能を達成するために専用のハードウェアが構築される必要がある。従って、そのハードウェアアーキテクチャの複雑さを軽減し且つそのハードウェアアーキテクチャの帯域幅の使用量を低減する革新的な方法が非常に重要である。
【0003】
特に移動電話に対する主な障害はメモリ帯域幅である。メモリ帯域幅の使用量を低減する一般的な技術は、テクスチャ圧縮である。テクスチャリングとは、レンダリングされた三角形上に画像(ここでは、テクスチャと呼ばれる)を「貼り付ける」処理を示す。テクスチャがメモリにおいて圧縮され、アクセス中にそれらテクスチャが伸張される場合、大量の帯域幅の使用は回避される。
【0004】
殆どのテクスチャ圧縮方式は、写真等の画像形式のデータを重視している。しかし、プログラマブルシェーダの出現により、従来の写真画像だけでなく他の多くの種類のデータに対してもテクスチャが使用され始めた。従って、バンプマッピングは、安価な方法で幾何学的物体に細部の錯覚を与える技術として普及した。より詳細には、バンプマップ又は法線マップと呼ばれるテクスチャが面法線を摂動するために各画素において使用される。法線マップを生成する一般的な方法では、ポリゴンの総数が多いモデルから開始し、幾何学的単純化アルゴリズムを使用して複雑さの低いモデルを作成する。それら2つのモデル間の「差分」は、法線マップに「焼き付け」られる。リアルタイムレンダリングの場合、法線マップは複雑さの低いモデルに適用され、より緻密な外観を与える。例えば文献[1]は、法線マップを使用して、三角形の総数が非常に多いモデル(15000個のポリゴン)から品質を維持しつつ三角形の総数が非常に少ないモデル(1000個のポリゴン)にすることが可能な方法を示す。
【0005】
移動デバイス及び移動端末はPCシステムより低い計算性能を有するため、ポリゴンの総数が少ないモデルを使用できることは、当然移動デバイス及び端末にとって非常に魅力的である。
【0006】
しかし、1つの問題は、利用可能なテクスチャ圧縮方法が写真画像を念頭に作成されており、データが法線マップ等の他のデータである場合に適切に動作しないことである。例えば文献[1]を参照すると、S3TC(DXTCと同一)[2]が法線マップを圧縮するために採用されたが、その結果、ブロックアーティファクトが発生した。
【0007】
今日、殆どの場合、三角形等のレンダリング・プリミティブのローカル接空間(X,Y,Z)においてバンプマッピングが実行される。法線の長さは関係ないため、単位法線が採用される。従って、問題はトリプレット(X,Y,Z)を圧縮することである。ここで、X+Y+Z=1である。最も単純な方式は、X,Y,ZをRGB(赤色、緑色、青色)として処理し、S3TC/DXT1を使用して圧縮することであるが、品質は非常に低下する。
【0008】
別の方法は、X及びYのみを圧縮し、式1を使用してZを算出することである:
【0009】
【数1】

【0010】
X及びYに集中することにより、歪みを低下できる。品質を更に向上するために、DXT5が使用できる。通常、DXT5はアルファテクスチャ、すなわちRGBAテクスチャに対して使用されるバージョンのS3TCである。ここで、RGBは共に符号化され、アルファ成分(A)は個別に符号化される。従って、1つの方法では、アルファチャネルを使用してXを符号化し且つGチャネルを使用してYを符号化する。Gに最高の品質を与えるために、R及びBは使用されていない。しかし、これは依然として十分な品質を与えない。
【0011】
実際、滑らかな表面の場合、非圧縮のRGB888/XYZ888でさえもいくつかの物体に対しては十分な品質を与えないことが分かる。特に、滑らかな表面に対しては、8ビットより多くのビット数が必要とされる。従って、ATI Technologiesは、多くの場合にXYZ888より高い品質を可能にする圧縮形式である3Dc(登録商標)[1]を開発した。
【0012】
DXT5と同様に、X及びYのみが圧縮され、Zは計算される。X及びYは別個に圧縮される。X値は4×4画素のブロックにグループ化される。それらの値の範囲は、−127.000〜+127.000(あるいは、0〜255)であるが、多くの場合、それら値はある間隔でクラスタ化される。3Dcはそのことを利用し、16ビットを使用してその値を特定する。16ビットのうち8ビットは間隔の開始に対するものであり、8ビットは間隔の終了に対するものである。
【0013】
この間隔内において、各値は3ビットずつ使用して特定される。これは、間隔内の8つの再構成レベルが可能であることを意味する。多くの場合に間隔内の分布が略均等であるという仮定を反映して、再構成レベルは常に均等に離間される。
【0014】
合計すると、間隔を特定するのに16ビットが使用され、個々の画素に対する再構成レベルを特定する際に3×16=48ビットが使用される。従って、Xデータの4×4ブロックは64ビットに圧縮される。同一の符号化がYに対しても有効であり、合計で128ビット、すなわち画素毎に8ビットが使用される。
【0015】
3DcはDXT1又はDXT5より非常に高い品質をもたらすが、その品質では依然として十分でない可能性がある。間隔は8ビットで特定され、可能な最小の間隔は、間隔の開始と終了との間に1だけ差分がある場合であり、例えば間隔[77,78]又は[−3,−4]である。この場合、それらの間に8つの再構成レベルが存在し、これは別の3ビットを意味する。従って、論理的には最大分解能は成分毎に8+3=11ビットである。これは、ゆっくりと変動する表面に対しては不十分だろう。
【発明の開示】
【課題を解決するための手段】
【0016】
従って、一般に、法線マップの形式の画像及び画像要素に関連する特性座標を有する他の種類の画像を圧縮及び伸張する時の品質を向上することに対する要求がある。
【0017】
本発明の一般的な目的は、画像符号化/圧縮方法及びシステム、並びに画像復号化/伸張方法及びシステムを提供することである。
【0018】
この目的及び他の目的は、添付の請求の範囲により規定されるような本発明により満たされる。
【0019】
簡単に説明すると、本発明は、画像を圧縮(符号化)し、圧縮(符号化)画像を伸張(復号化)する形式の画像処理を含む。
【0020】
本発明によると、圧縮される画像は、複数の画像要素(画素、テクスチャ要素すなわちテクセル、又は体素すなわちボクセル)を備える複数の画像ブロックに分解される。1つの画像ブロックは、16個の画像要素を含むのが好ましく、m=4−n及びn=0,1,2,3,4として画像要素2×2個分のサイズを有するか、あるいはm、n、pの全てがゼロではないという条件を伴ってm,n,p=0,1,2,3,4として画像要素2×2個分のサイズを有する。ブロック中の各画像要素は、2つ又は3つの特徴ベクトル成分を有する特徴ベクトルにより特徴付けられる。その後、画像ブロックは圧縮される。
【0021】
ブロック圧縮において、各ビット分解能は、各ベクトル成分毎に、並びに基準符号語、間隔符号語及びインデックスシーケンスのうちの少なくとも2つ毎に動的に規定される。このビット分解能又はビット長の選択がブロック毎に実行され、これは、第1の画像ブロックが所定の長さの第1の基準符号語を有し、第2の画像ブロックが別のビット長の第1の基準符号語を有してもよいことを意味する。この可変ビット長符号化にも関わらず、圧縮ブロックの各合計サイズは一定であり同等である。例えばこれは、間隔符号語に更に多くのビットを使用することにより、同一のベクトル成分に関係する基準符号語に使用されうるビット数が少なくなることを意味する。
【0022】
基準符号語は、ブロック中の画像要素のベクトル成分の少なくとも一部に基づいて基準値の表現として決定される。同様に、間隔符号語は、基準値と相関する複数の成分値を含む間隔の表現として決定される。この間隔符号語もまた、ブロック中のベクトル成分の少なくとも一部に基づいて決定される。インデックスシーケンスは、ブロック中の各画像要素に対して、複数の成分値から選択された1つの成分値を示すと決定される。
【0023】
各画像要素がX成分及びY成分等の少なくとも2つのベクトル成分と関連付けられるのが好ましいため、第1の(X)基準符号語及び第2の(Y)基準符号語、第1の(X)間隔符号語及び第2の(Y)間隔符号語、並びに第1の(X)インデックスシーケンス及び第2の(Y)インデックスシーケンスが生成され、共に圧縮画像ブロックを形成するのが好ましい。本発明の可変ビット長符号化により、第1の基準符号語及び第2の基準符号語のビット長は、所定のブロックに対して必ずしも同一である必要はなく、異なる画像ブロック間で異なってもよい。同様のことが、第1の間隔符号語及び第2の間隔符号語に当てはまる。
【0024】
本発明の伸張において、基準符号語及び間隔符号語のうち一方が、圧縮ブロックを構成するビットシーケンスの少なくとも一部のビットパターンに基づいて圧縮ブロックにおいて識別される。この識別は、所定のビットパターンに達するまでビットシーケンスの選択部分を解析することにより行なわれるのが好ましい。解析部分は、基準符号語又は間隔符号語の基礎を形成又は構成するのが好ましい。そして、基準符号語及び間隔符号語の他方は、識別された他方の符号語シーケンスに基づいて識別される。
【0025】
符号語が識別されると、基準値は基準符号語に基づいて決定され、間隔長は間隔符号語に基づいて決定される。現在のブロックに対して利用可能な複数の成分値は、間隔の位置を規定する基準値、及び間隔のサイズを規定する間隔長から計算される。インデックスシーケンスは、復号化される各画像要素に対して、複数の成分値のうち、その画像要素の元の(X又はY)ベクトル成分の表現として使用する成分値を識別するために使用される。
【発明を実施するための最良の形態】
【0026】
添付の図面と共に以下の説明を参照することにより、本発明は、本発明の更なる目的及び利点と共に最もよく理解されるだろう。
【0027】
複数の図面を通して、同一の図中符号は対応する要素又は同様の要素に対して使用される。
【0028】
本発明は、画像処理及びグラフィック処理に関し、特に、画像及び画像ブロックの符号化又は圧縮、並びに符号化(圧縮)画像及び符号化(圧縮)画像ブロックの復号化又は伸張に関する。
【0029】
一般に本発明によると、画像圧縮中、画像は複数の画像ブロック又はタイルに分解又は分割される。そのような各画像ブロックは、特性又は特徴に関連する特定の画像要素を有する、複数の画像要素を備える。画像ブロックは圧縮され、画像の圧縮表現を生成する。
【0030】
その後、符号化画像又は符号化された図形基本要素がレンダリングされる場合、例えば画面上に表示される場合、圧縮画像ブロックの関連画像要素は識別及び伸張される。それら伸張画像要素は、元の画像又は元の図形基本要素の伸張表現を生成するために使用される。
【0031】
本発明は、ゲーム、3Dマップ、3Dシーン、例えば動画メッセージのような3Dメッセージ、スクリーンセーバ、マンマシンインタフェース(MMI)等、3次元(3D)グラフィックを伴う使用に非常に適しているが、それらに限定されない。更に本発明は、1次元(1D)画像、2次元(2D)画像又は3D画像等の他の種類の画像又はグラフィックを圧縮するために採用できる。
【0032】
本発明は、バンプマップ、法線マップ又は画像を扱うのに特に適している。従来技術において周知のように、法線又は面法線は、面に対して垂直である(平面の場合)又は面の接平面に対して垂直である(平坦でない面の場合)、3Dベクトルを示す。
【0033】
3Dグラフィック処理において、一般にいくつかの三角形が作成され、それら三角形の角の対応する画面座標が決定される。画像(又は画像の一部)、すなわち所謂テクスチャは、各三角形上にマップされる(「貼り付けられる」)。しかし、グラフィックシステムの場合、テクスチャを格納するのに利用されるメモリと、及びテクスチャがメモリから取り出される時のメモリアクセス中のメモリ帯域幅との双方に関してテクスチャの管理のコストは高い。これは、特に移動ユニット及び電話機等の、メモリ容量及び帯域幅が制限されているシンクライアントにとって問題である。その結果多くの場合に、テクスチャ又は画像の符号化方式が採用される。そのような方式において、一般にテクスチャは複数のテクセルを含む複数の画像ブロックに分解又は分割される。画像ブロックは圧縮され、メモリに格納される。尚、圧縮画像ブロック(圧縮されたバージョンの画像ブロック)のサイズは、画像ブロックの非圧縮バージョンの対応するサイズより小さい。
【0034】
本発明において、表現「画像要素」は、画像ブロック又は画像ブロックの圧縮表現の要素を示す。そしてこの画像ブロックは、画像又はテクスチャの一部に対応する。従って本発明によると、画像要素は、(1D、2D、3D)テクスチャのテクセル(テクスチャ要素)、(1D又は2D)画像の画素(ピクセル)、又は3D画像のボクセル(体素)でありうる。一般に画像要素は、特定の画像要素の特性又は特徴により特徴付けられる。本発明において、各画像要素は、画像要素と関連付けられる特徴を表す特徴ベクトルを有する。この特徴は、画像要素の外観を制御してもよく、又は画像要素の外観に影響を及ぼしてもよい。そのような特徴ベクトルの好適な実施形態は面法線であり、更に好ましくは正規化面法線である。そのような面法線は3つのベクトル成分又は座標、すなわちX成分、Y成分及びZ成分を有する。しかし一般には、画像要素毎に、例えばX座標及びY座標の、2つの法線座標のみを特定するのみで十分である。これは、例えば上記式1を使用することで、残りの座標がそれらの座標から計算できるからである。
【0035】
更に以下において、用語「画像」は、本発明を使用して符号化及び復号化されうる、1D、2D又は3Dの、任意の画像又はテクスチャを示すために使用される。それら画像又はテクスチャは、バンプマップ、法線マップ、写真、ゲーム形式のテクスチャ、テキスト、図面、ダイナミックレンジの広い画像及びテクスチャ、等を含むがそれらに限定されない。
【0036】
本発明は、各画像要素が2次元特徴ベクトルを有する、画像及び画像ブロックを、圧縮及び伸張するのに特に適する画像処理を提供する。本発明の好適な実現例において、2つのベクトル成分は、正規化面法線の2つの座標、例えばX座標及びY座標(あるいは、X座標及びZ座標又はY座標及びZ座標)、を表す。以下において、X成分及びY成分を備える特徴ベクトルと共に本発明を説明する。しかし、X成分、Y成分、Z成分のうち2つの成分の他の任意の組み合わせが代わりに使用できるため、これは単なる説明としての例示と考えられるべきである。非正規化法線が採用される場合、第3の成分は、本明細書で説明されるように他の2つの成分と同様に単に追加及び処理される。
【0037】
本発明は、3Dc[1]等の従来の法線マップ圧縮技術と比較して根本的に異なる方法を利用する。本発明は、固定圧縮率圧縮システム内において動的な可変ビット長符号化を利用する。これは、画像ブロックを表すために使用される符号語のサイズ(ビット分解能又はビット長)がそれぞれ可変であるが、圧縮ブロック表現のビット数に関して、合計サイズは一定のままであることを意味する。このことは、複数の成分値を含む間隔の位置決めの精度に関して動的に適応することを考慮に入れるだけでなく、その間隔の分解能に関しても動的に適応することを考慮に入れている。その結果、本発明は、それら画像ブロックに対して位置決め精度を向上し(間隔分解能と引き換えに)、それにより画質が向上され、また他の画像ブロックに対して間隔分解能を向上する(位置決め精度と引き換えに)。従って、要約すると、最適な位置決め精度及び間隔分解能は画像ブロック毎に個別に決定でき、結果として得られる伸張画像の全体の品質を向上する。
【0038】
例えば3Dc[1]において、小さな間隔は、間隔の幅に関しては非常に粗い粒度を有する。3Dcの表現可能な最小の間隔の幅は1であり、次に最小の間隔の幅は2である。従って、次に大きい間隔になった時、サイズは2倍である。これは、例えば間隔の幅が100であり且つ次に大きい間隔の幅が101である状況と比較されるべきである。この場合、サイズは100%ではなく1%だけ大きくなる。
【0039】
3Dcにおいて小さい間隔に関する別の問題は、間隔の位置が高精度で特定できないことである。最小の間隔が移動した場合、例えば[3,4]から[4,5]のようにステップ全体が移動される必要がある。このステップのサイズは、間隔内の8つの成分値間の距離の約8倍である。一方、[3,103]のように間隔の幅が100の場合、[4,104]へのような最小の平行移動は、その間隔の8つの成分値間の距離より、大きさが1段階を超えて小さい。
【0040】
本発明は、可変符号語長符号化によるこの問題及び他の同様の問題を解決できる。例えばこれにより、間隔の幅が特定される粒度及び間隔の平行移動が特定される粒度の双方が、可能なベクトル値間の距離と同等に設定可能である。
【0041】
圧縮
図1は、本発明の1つの側面に係る、画像を圧縮する(不可逆的)方法を示す。第1のステップS1において、画像は複数の画像ブロックに分解又は分割される。そのような各画像ブロックは、複数の画像要素、すなわち少なくとも2つの画像要素を備える。本発明の好適な実施形態において、画像ブロックは16個の画像要素(画素、テクセル又はボクセル)を含み、m=4−n且つn=0,1,2,3,4である場合に画像要素2×2個分のサイズを有する。m及びnが双方とも2であるのが更に好ましい。m、n、pの全てが同時にゼロではないという条件の下、m、n、pがゼロ又は正の整数である場合、画像要素2×2個又は2×2×2個分のサイズの画像ブロックを利用可能である。図2は、本発明に係る16個の画像要素610を含む画像ブロック600の一例を概略的に示す。更に図2は、画像要素610と関連付けられた種々の特徴ベクトル615を概略的に示す。図1に戻ると、ステップS1において、画像ブロック全体は(重なり合わない)画像ブロックに分解されるのが好ましい。しかし、応用例によっては、画像の一部のみが圧縮されるため、その部分のみが画像ブロックに分解される。
【0042】
次のステップS2及びS5は、画像ブロックの圧縮を実行する。上述したように、画像ブロック中の各画像要素は、それぞれの特徴ベクトル、好ましくは2D特徴ベクトルを有する。それら特徴ベクトルの圧縮は、2種類の特徴ベクトル成分種類を個別に処理することにより実行される。換言すると、X成分の処理及びY成分の処理を平行して又は順次行う。以下において、ベクトル成分のうち1つ成分、例えばX成分、の圧縮について更に詳細に説明する。同一の手順が、Y成分等、他方のベクトル成分に対しても実行可能であり、またY成分及びZ成分等、他の複数のベクトル成分に対しても実行可能である。しかし、X及びYの組み合わされた処理を実行することが可能である。これについては、更に詳細に説明する。
【0043】
ステップS2において、決定される圧縮ブロック表現の包含成分の、それぞれのビット分解能が規定される。それらの包含成分は、X成分に対して、基準符号語、間隔符号語及びインデックスシーケンスを備える。このステップS2におけるビット分解能の規定は、ブロック中の特徴ベクトルのXベクトル成分の少なくとも一部、更に好ましくは全てのXベクトル成分に基づいて実行される。その結果、基準符号語、間隔符号語及びインデックスシーケンスのうち少なくとも2つのビット数に関して、それぞれのサイズが可変となることができ、ステップS2において規定される。しかし、そのような別々の符号語及びインデックスのうち少なくとも1つのビット長が、種々の画像ブロックに対して規定されるが、それら3つの成分の合計サイズ(ビット長)は固定される。従って、L(B)は基準符号語のビット長を示し、L(W)は間隔符号語の対応するビット長を示し、L(I)はインデックスシーケンスのビット長を示すものとする。第1の実施形態において、以下の式が与えられる:
L(B) + L(W) + L(I) = k (2)
式中、kは定数である。第2の実施形態において、以下の式が与えられる:
L(B) + L(W) = m (3)
L(I) = n
式中、m、nは定数である。好適な実現例において、k=64ビット、m=16ビット及びn=48ビットである。画像要素がX成分及びY成分の双方を含むため、これらの式2及び式3は以下のように書き換えられる:
L(B) + L(B) + L(W) + L(W) + L(I) + L(I) = p (4)
式中、添え字X又はYはインデックスシーケンスの符号語の特定のベクトル成分を示す。pは定数であり、好ましくはp=128ビットである。別の実施形態において、以下の式が与えられる:
L(B) + L(B) + L(W) + L(W) = q
L(I) = t (5)
L(I) = t
式中、q、t、tは定数である。tはtに等しいのが好ましく、好ましくはq=32ビット、t=t=48ビットである。好適な実現例において、L(B) + L(W) + L(I) = L(B) + L(W) + L(I)である。
【0044】
次のステップS3において、基準符号語は、(X)ベクトル成分の少なくとも一部に基づいて基準値の表現として決定される。このステップS3における決定は、基準符号語に対して規定されたビット分解能(L(B))に基づいて行なわれるのが好ましい。あるいは、基準符号語に対するビット分解能の規定及び実際のビット符号語の決定は、ベクトル成分の少なくとも一部に基づいて単一の手順で一括して行なわれてもよい。この基準値は、間隔符号語により規定される間隔の位置を規定する(X)値である。好適な実現例において、基準値は間隔の中間点を表す。他の実施形態において、基準値は間隔の開始点又は終了点を表すことができる。この概念は、基準値が実際には間隔内の任意の値でもよく、あるいは実際には[0,1]、[0,255]、[−1,1]、[−127,127]又は他の間隔のような、間隔を位置決めするのに使用されうる、許容される値の範囲内の任意の値でもよいように、更に拡張されることができる。
【0045】
ステップS4は、基準値と相関する複数の成分値を含む間隔の表現として間隔符号語を決定する。この符号語の決定は、(X)ベクトル成分の少なくとも一部に基づいて行なわれる。好適な実施形態において、このステップS4における決定はまた、ステップS2で間隔符号語に対して規定されたビット分解能(L(W))に少なくとも部分的に基づいて行なわれる。あるいは、間隔符号語に対するビット分解能の規定及び間隔符号語の実際の決定は、単一の手順で一括して行なわれてもよい。この間隔符号語は、間隔の開始(X)値及び終了(X)値を特定するために、基準符号語により表される基準値と共に使用される、間隔長の表現であるのが好ましい。この間隔はその際、複数の成分値、例えば8つの成分値、を含む。
【0046】
ステップS3及びS4を実行する順番は交換可能である。すなわち、最初に間隔符号語を決定し(ステップS4)、次に基準符号語を決定する(ステップS3)。更に、2つのステップS3及びS4は、代わりに並行して実行されてもよい。
【0047】
次のステップS5において、インデックスシーケンスが決定される。この決定は、ステップS2でシーケンスに対して規定されたビット分解能に少なくとも部分的に基づいて行なわれるのが好ましい。あるいは、インデックスシーケンスの決定及びインデックスシーケンスに対するビット分解能の規定は単一の手順で一括して行なわれてもよい。インデックスシーケンスは、ブロック中の各画像要素に対して、間隔に含まれる複数の成分値から選択される1つの成分値を示す。このステップS5において、1つの(X)成分値はブロック中の1つの画像要素に対して選択され、その画像要素の「真」の(X)ベクトル成分の表現として使用される。
【0048】
ステップS2〜S5の結果、画像要素の第1の(X)ベクトル成分が圧縮される。同一の手順が第2の(Y)ベクトル成分に対して順次又は並行して実行されるのが好ましい。ステップS2〜S5の符号化の結果、圧縮画像ブロック、更に正確には画像ブロックの圧縮表現、が得られる。そのような圧縮ブロック表現700を図3A〜図3Cに示す。表現700は、第1の(X)基準符号語720、第1の(X)間隔符号語710、第1の(X)成分インデックスシーケンス730、第2の(Y)基準符号語750、第2の(Y)間隔符号語740及び第2の(Y)成分インデックスシーケンス760を備える。尚、圧縮画像ブロック700の、符号語710、符号語720、符号語740、符号語750、インデックスシーケンス730、インデックスシーケンス760との相互の順番は、図示されるものとは異なってもよい。
【0049】
本発明の動的な可変ビット分解能の決定は、図3A〜図3Cの圧縮表現を比較すると明確に分かる。図3A及び図3Bにおいて、Xインデックスシーケンス730及びYインデックスシーケンス760は一定のビット長を有する。しかし、基準符号語720と、基準符号語750と、間隔符号語710と、間隔符号語740とのビット分解能は、種々の画像ブロックに対して、及び2つのベクトル成分に対しても、個別に規定される。図3Bを図3Aと比較すると、図3BのX間隔符号語710のビット分解能が図3Aより低いことが明らかである。一方、図3BのX基準符号語720のビット分解能は図3Aより高いことが明らかである。この逆のことがY符号語740、750に当てはまる。
【0050】
図3Cにおいて、Xインデックスシーケンス730及びYインデックスシーケンス740に対して使用されたビット数を選択してもよい。図3Aを図3Cと比較すると、図3Cの圧縮ブロックは、Xインデックスシーケンス730において、比較的多くのビットを使用する。
【0051】
しかし、図中、2つの圧縮ブロック表現700の合計サイズは同等である。このサイズは、128ビットであるのが好ましい。好適な実現例において、X符号語710、720及びXインデックスシーケンス730に使用されるビット数は、Y符号語740、750及びYインデックスシーケンス760の合計ビット数と同一であるのが好ましく、すなわち64ビットであるのが好ましい。
【0052】
図1に戻って、ステップS2〜S5はステップS1の分解工程で与えられる全ての画像ブロックに対して繰り返されるのが好ましい(線L1により概略的に示される)。尚、それぞれの圧縮ブロックのビット換算の合計サイズは同一であるが、本発明の動的なビット分解能の選択のために、結果として得られる別々の圧縮ブロックは、符号語とインデックスシーケンスとの少なくとも一方に対して別々のビット数を使用できる。その結果、圧縮画像ブロックのシーケンス又はファイルが得られる。結果として得られる圧縮画像ブロックは、ステップS1のブロック分解において分解された順番と同一の順番で左から右及び上から下へ、ファイル中に配列されてもよい。そして、本方法は終了する。
【0053】
圧縮画像は、後で画像がレンダリングされるまで、例えば表示されるまで格納しておくためにメモリに提供されることができる。更に圧縮画像は、別のユニットに(無線又は有線)送信するために圧縮ブロック表現の信号として送信機に提供されることができる。
【0054】
図4は、図1の規定ステップの一実施形態を更に詳細に示すフローダイアグラムである。本実施形態において、基準符号語、間隔符号語及びインデックスシーケンスのうち少なくとも2つに対するビット分解能の規定は、画像ブロック中の特徴ベクトルの(X又はY)ベクトル成分の分布に基づいて行なわれる。従って、第1の成分分布の結果、基準符号語、間隔符号語のそれぞれの第1のビット長が得られるだろう。第1の成分分布の結果、インデックスシーケンスの第1のビット長を得ることも自由である。また第2の成分分布により、符号語のそれぞれの異なる第2のビット長が与えられてもよく、インデックスシーケンスの第2のビット長を与えることも自由である。
【0055】
本方法は、図1のステップS1から継続する。次のステップS10において、ブロック中の特徴ベクトルの最小の(X又はY)ベクトル成分が識別される。それに対応して次のステップS11では、ブロック中の最大の(X又はY)ベクトル成分を識別する。それら2つのベクトル成分は、ブロック中の(X又はY)ベクトル成分の分布の表現として使用されることができる。従って、最小のベクトル成分と最大のベクトル成分との比較は、本発明に従って符号語とインデックスシーケンスとの少なくとも一方に対するビット分解能を規定するのに使用されることができる。
【0056】
好適な実現例において、まず間隔符号語に対するビット分解能はまず、ブロック中のベクトル成分に基づいて、更に好ましくはステップS10及びS11で識別された最小のベクトル成分及び最大のベクトル成分に基づいて、規定される。これをステップS12に示す。ステップS12の間隔符号語分解能の規定は、種々の事前定義済み間隔長の、セット又はルックアップテーブルを調査することにより実行される。ここで、そのような各間隔長は、所定の間隔符号語と関連付けられている。更に、セット/テーブル中の間隔符号語の少なくとも一部は、それぞれ異なるビット分解能を有する。そのような場合、最大の成分値と最小の成分値との差分が計算されるのが好ましい。計算された差分に最も近い、セット又はテーブルの中の事前定義済みの幅長が選択される。これにより、現在の画像ブロックに対して使用する間隔符号語及びその符号語のビット分解能が与えられる。これについては以下に更に説明する。従って、本方法において、間隔符号語の決定及び間隔符号語分解能の決定が組み合わせて行われる。
【0057】
別の方法において、最大のベクトル成分と最小のベクトル成分との差分は、関数に入力されるか、あるいは間隔符号語ビット分解能を決定するための、セット又はテーブルルックアップ手順への入力として使用される。そのような場合、関数又はテーブルは、差分のそれぞれの範囲に対するそれぞれの符号語分解能を特定できる。
【0058】
次のステップS13において、基準符号語に対するビット分解能は、ステップS12で間隔符号語に対して決定されたビット分解能及び事前定義済み最大分解能値から計算される。基準符号語分解能が、この最大値と、決定された間隔符号語分解能との差分として取得されることを、このことは意味する。好適な実施形態において、この事前定義済み最大分解能値は16である。従って、本実施形態において、間隔符号語分解能が高い(低い)場合に基準符号語のビット分解能は低く(高く)なる。その後、本方法は図1のステップS3に続く。
【0059】
図5は、座標空間におけるXY平面を示す図である。画像ブロックの各画像要素は、X座標及びY座標を有する特徴ベクトル615(面法線)をそれぞれ有する。図中、例えば図2に示すように、ブロック毎に16個の画像要素が存在すると仮定する。従って、図は画像要素のX座標及びY座標を表す、16個のマークされた点を備える。更に、図をより分かり易くするために特徴ベクトル615を2つのみ示している。図は、ブロック中の、最小(Xmin,Ymin)ベクトル成分及び最大(Xmax,Ymax)ベクトル成分を示す。
【0060】
図6は、図1の間隔符号語の決定の一実施形態を示すフローダイアグラムである。本方法は、図1のステップS3から継続する。次のステップS20において、画像ブロックの最小の(X又はY)ベクトル成分が識別される。このステップは、図4のステップS10に対応する。次のステップS21は図4のステップS11に対応し、最大の(X又はY)ベクトル成分を識別する。次のステップS22は、最大のベクトル成分と最小のベクトル成分との差分の表現として間隔符号語を決定する。
【0061】
このステップS22は、2つのベクトル成分間の差分を計算することにより実行されるのが好ましい。その後、ステップS23は、複数の事前定義済み間隔符号語の、セット又はテーブルから、適切な間隔符号語を識別する。更に、成分の差分は、ステップS23において所望の間隔符号語を出力する関数に入力されてもよい。その時、セット/テーブルは複数の異なる間隔符号語を含んでいる。又は、関数は複数の異なる間隔符号語へのアクセスを持っている。ここで、符号語の少なくとも一部は異なるビット長(分解能)を有する。以下のテーブルIは、間隔符号語用のそのようなルックアップテーブルの一例である。
【0062】
【表1】

【0063】
この例示するテーブルIにおいて、間隔に含まれる成分値間の距離は、間隔が移動できる最小の距離と等しい。例えば、最大の成分値と最小の成分値との間の距離が128と等しいか又はほぼ128である場合、128の間隔長が選択される。複数の成分値間の距離は、8つの成分値の場合128/8=16である。基準値及び間隔の位置を特定するのに4ビットが利用可能であり、256/2=16の精度で特定されることを意味する。従って、成分値間の距離は、間隔が移動できる最小の距離に等しい。このことは、テーブルIの全ての可能な間隔長に当てはまる。
【0064】
テーブルIは、本発明に従って使用される単なる例示のテーブルとして考えられるべきである。例えば基準値により高い精度が所望される場合、表現可能な最小間隔は1/16ではなく1/4であってもよく、そうすると基準符号語のビット分解能を向上するために使用されうる2ビットが解放される。
【0065】
別の可能性は、間隔における粒度を向上させるために解放されたビットを使用することである。通常、一般に間隔の開始値及び間隔終了値の線形結合として、決定された間隔中において等間隔の8つの成分値が利用可能である。基準値が間隔の中間点(M)を表す場合、8つの成分値は以下のように計算される:
【0066】
【数2】

【0067】
式6の括弧内に表される集合は別の集合と交換可能であり、解放されたビットは、使用されるべき特定の集合を信号伝送するために使用されることができる。その時、圧縮ブロックは、使用する特定の集合が使われるかを信号伝送するための符号語を含む。その符号語のための0binというビット値は、集合
【数3】

を表し、1bin
【数4】

を表す。これは、1ステップ毎ではなく2ステップ毎に間隔のサイズが2倍となることを意味する。信号伝送符号語が2ビットを備える場合、代わりに以下の集合がそれぞれの再構成レベルを計算するのに利用可能である:
【0068】
【表2】

【0069】
これは、間隔長が4ステップで2倍となることを意味する。実際には、テーブルIIはテーブルI又は別のそのようなテーブルと共に使用される。ここで、テーブルIは間隔長及び符号語を特定し、テーブルIIは、成分値が間隔長及び基準値から計算される方法を特定する。
【0070】
この技術は、同一の幅を有する異なる種類の集合を使用するように拡張可能である。テーブルIIにおいて、結果として得られる全ての成分値は間隔において均等に離間される。しかし、ガウス分布、ラプラス分布又はbiomodal等の、間隔内における他の成分値分布形式が代わりに使用されてもよい。好ましくは、間隔内における他の成分値分布形式は、均等に離間された分布を補完するものとして使用される。
【0071】
基準符号語により符号化される基準値が、代わりに間隔の開始点又は間隔の終了点を表す場合、式6は式7(開始点)又は式8(終了点)で示されるように書き換えられるだろう。
【0072】
【数5】

【0073】
【数6】

【0074】
テーブルIに存在する間隔符号語は任意に選択されない。その代わりに、それら符号語はいわゆる接頭符号である。これは、テーブルIの符号語が、テーブルIの他のどの符号語に対する接頭語でもないことを意味する。そのような接頭符号である間隔符号語の使用により、圧縮ブロック中の、間隔符号語及び基準符号語の、伸張及び識別が簡単になる。これについては以下に更に説明する。テーブルIで使用されうるそのような接頭符号である符号語の別の例は、以下のテーブルIIIに示されるような、開示された符号語のビット単位の反転である。
【0075】
【表3】

【0076】
利用可能な間隔長は必ずしも2又は1/2の因子である必要はない。間隔長が2又は1/2の因子である場合には、ステップ毎に間隔長が2倍になる。いくつかの画像において最も一般的な間隔の幅の統計を提供するためにそれら画像に対してテストを実行することが、例えば可能であるだろう。テーブルI及びテーブルIIIに載っている幅を、それら最も頻繁に出現する間隔長で置換できるだろう。
【0077】
テーブルI及びテーブルIIIにおいて、間隔長が小さい程、間隔符号語に対するビット分解能は低くなる。これは、間隔を位置決めする精度、すなわち基準符号語の分解能が、より短い間隔に対しては向上されることを意味する。その結果、一般に、処理される殆どの画像の画質は良くなる。しかし、特定の画像に対してはその逆のことが当てはまりうる。そのような場合、このことは、最短の間隔符号語が最大の間隔を表し、且つ最長の間隔符号語が最小の間隔を表すように、テーブルI及びテーブルIIIの間隔長の値の位置を切り替えることにより簡単に解決される。そのような場合、間隔の位置決めの精度は間隔長が長くなると共に向上する。
【0078】
上述したように、様々な画像にける様々な間隔長の出現頻度を推定するためにそれらの画像に対してテストが実行されてもよい。その統計は、テーブルI及びテーブルIIIのようなテーブルを設計する時に使用されうる。そのような場合、最も頻繁に出現する間隔長に最短の間隔符号語長が割り当てられるのが好ましい。これは、より多くのビットが最も頻繁に出現する間隔を正確に位置決めすることに対して使用されうることを意味する。その結果、画像処理の品質は向上するだろう。
【0079】
そのような場合、最も一般的な間隔の幅に対応する間隔符号語のサイズは、最小となる。テーブルIVはこの原理を示す。尚、テーブルにおいて、間隔符号語のサイズはより出現しにくい間隔長に対して大きくなる。更に、符号語長はある特定の長さに達するとそれ以上長くならない。これは、同一の符号語長がいくつかの異なる間隔の幅に対して使われることを意味する。その理由は、同一の符号語長を採用しないと、最も出現しにくい幅と関連付けられる間隔符号語が非常に長くなり、基準符号語に殆どビットが残らなくなるからである。
【0080】
【表4】

【0081】
間隔符号語が決定されると、基準符号語に対して利用可能なビット数は上述のように決定される。一般に基準符号語の決定は、ブロック中の最小のベクトル成分及び最大のベクトル成分を識別することを含む。それら成分の平均値が計算され、間隔の中間点を取得する。基準符号語は、N=L(B)の場合、一般には平均値に最も近いNビットの値を選択することにより、平均値と、符号語に対する利用可能なビット分解能とに基づいて決定される。基準値が間隔の開始点又は間隔の終了点である場合、基準符号語は、ブロック中の最小の成分値又は最大の成分値に最も近い、Nビットの値を選択することにより決定される。
【0082】
図7は、図1のインデックスシーケンス決定ステップの一実施形態を更に詳細に示すフローダイアグラムである。方法は、ステップS4から継続する。次のステップS30において、(X又はY)成分インデックスがブロック中の現在の画像要素に対して与えられる。この成分インデックスは、間隔符号語により表される間隔に含まれる複数の成分値から、選択された1つの成分値と関連付けられる。例えば成分インデックスは、式6、式7又は式8に従って取得可能な成分値のうちの1つと関連付けられる。選択された成分値は、画像要素の元の(X又はY)ベクトル成分と等しいか又は最も近い値であるのが好ましい。線L2により概略的に示されるように、ステップS30は画像ブロック中の全ての画像要素に対して繰り返されるのが好ましい。
【0083】
本発明の第1の実施形態において、Xインデックスシーケンス及びYインデックスシーケンスは、全ての画像ブロックに対して同一ビット数を含む。8つの異なる成分値が画像要素毎に利用可能である場合、これはX成分インデックス及びY成分インデックスが3ビットを備えることを意味する。ブロックには16個の画像要素が存在するのが好ましいため、Xインデックスシーケンス及びYインデックスシーケンスはそれぞれ16×3ビット含む。
【0084】
基準符号語及び間隔符号語に加えて、インデックスシーケンスに対しても可変ビット分解能を有すると、成分インデックス毎に4ビット以上必要となる場合に問題が起こるかもしれない。圧縮画像ブロックの合計サイズは一定であるべきであり、好ましくは128ビットである。例えば一実現例において、成分値に対して8つではなく12個の異なるレベルを有するのが有利であるかもしれない。画像要素が個別に処理される場合、結果的に4ビットの成分インデックス分解能を有することになるだろう。その結果、Xインデックスシーケンス及びYインデックスシーケンスを表すのに合計128ビット使用され、圧縮ブロックの合計サイズが128ビットに限定される場合、基準符号語及び間隔符号語に対してビットが残されない。
【0085】
本発明は、複数の画像要素の集合に対して合成成分インデックスを使用することによりその問題を解決する。図8はこの手順を示す。本方法は図1のステップS4から継続する。次のステップS40において、複数の利用可能な成分値のうち、画像要素のベクトル成分を最適に表す1つの成分値が選択される。これは、線L3により表されるように、ブロック中の全て(16個)の画像要素に対して実行される。
【0086】
図7の状況とは異なり、利用可能な成分値の数は他の画像ブロックとは異なるかもしれず、8個を上回るかもしれない。インデックスが複数の、例えば3つの、インデックスの集合に符号化される場合には、更に少ないビット数しか要求されない。例えば次のような、3つの画像要素の集合を使用する、12の異なったレベルを持つ組み合わせが可能である。すなわち、12×12×12 = 3×3×3×4×4×4 = 27×64 < 2×2 = 211である。これは、この集合に対しては、別個に符号化される場合に必要とされる12ビットではなく、11ビットのみが必要とされることを意味する。そこでルックアップテーブルが、テーブルVのように、可能な成分値の組合せ及び対応する合成成分インデックスを一覧表とするために使用されることができるだろう。
【0087】
【表5】

【0088】
テーブルVにおいて、viは成分値を表し、i=0〜11である。
【0089】
そして、画像要素の集合に対して使用する合成インデックスは、集合中の複数の画像要素に対して選択された複数の成分値に基づいてルックアップテーブルから識別される。この手順は、線L4により概略的に表されるように、ブロック中の画像要素の集合毎に繰り返される。結果として得られる合成インデックスは、本発明のインデックスシーケンスを形成する。合成インデックスは、端数であるいくつかの「普通の」成分インデックスと一緒に、本発明のインデックスシーケンスを形成することもあり得る。
【0090】
上述において、Xベクトル成分及びYベクトル成分の双方の処理を組み合わせて実行できることを説明した。第1のそのような例においては、間隔符号語W及びW(図3A〜図3Cを参照)がXY平面における半径及び角度を表す。2つの基準符号語B、Bは上述のように決定され、XY平面におけるX基準値及びY基準値をそれぞれ表す。従って、それら2つの値は平面において点を形成する。半径は、例えばこの点で発する、又はこの点に達することにより、平面中のこの点と相関する位置に位置付けられる。半径の方向は、角度により規定され、この角度はX軸に対する角度であっても、Y軸に対する角度であってもよい。(X,Y)点、半径及び角度が与えられると、複数のX成分値又はY成分値をそれぞれ含む、X間隔及びY間隔を計算できる。
【0091】
この組み合わされた符号化において、基準符号語及び半径を符号化している間隔符号語(W)のビット分解能は本発明に従って動的に規定されてもよく、一方角度を表す間隔符号語(W)は固定ビット長を有してもよい。
【0092】
別の方法においては、2つの基準符号語が上述のように基準値を表す。第1の間隔符号語は対角線を符号化し、第2の間隔符号語はX間隔又はY間隔の表現である。この第2の符号語は、間隔[0,1]における重みを表せるだろう。この重みは、伸張工程中で、第1の(X又はY)間隔長を与えるための第1の間隔符号語により表される対角線長と乗算される。第1の間隔の位置は、例えば間隔の開始点又は終了点を規定できる2つの基準値により規定される。第2の(Y又はX)間隔長は、ピタゴラスの定理
【数7】

を使用して第1の間隔長及び対角線から計算されうる。式中、l、lは第1の間隔長及び第2の間隔長を表し、dは対角線である。
【0093】
2つの基準符号語、及び対角線を符号化する間隔符号語のビット分解能は、本発明に従って動的に規定されうる。一方、重みを符号化する間隔符号語は固定ビット長であってもよい。圧縮画像ブロックは、対角線を重みと乗算することにより取得可能な間隔がX間隔であるか又はY間隔であるかを区別するために使用される、X/Yビットを更に含むのが好ましい。本実施形態の好適な実現例において、画像ブロック中の最大のXベクトル成分と最小のXベクトル成分との差分及び最大のYベクトル成分と最小のYベクトル成分との差分が比較される。X/Yビットは、その比較に基づいて規定される。例えば元のXベクトル成分における分布が対応するYベクトル成分の分布より小さい場合、X/Yビットは、重み及び対角線から直接計算可能な第1の間隔がX間隔、すなわち最小の分布を有する成分となるように設定される。より大きいY間隔は、X間隔及び対角線から計算可能である。
【0094】
本発明の教示は、従来の3Dcブロック処理と組み合わせ可能である。そのような場合、本発明は法線をゆっくり移動させるために使用されるのに対し、3Dcは法線を迅速に移動させるのに使用されることができる。従来の3Dcにおいて、圧縮ブロックは、X間隔の開始及び終了点であるX点を表す2つのX符号語(X,X)、並びにY間隔の開始及び終了点であるY点を表す2つのY符号語(Y,Y)を備える。以下において、説明はX成分のみに限定されるが、同一の説明がY成分にも適用可能である。3Dcの場合は、X<Xの場合及びX≧Xの場合の双方において、画像ブロックは従来に合致している。しかし、マルチモードの実施形態においては、X<Xの場合、ブロックは3Dc(デフォルト)モードを使用して符号化される。それは、ブロックが3Dcブロックと同様の方法で処理されることを意味する。しかし、X≧Xの場合、ブロックは本発明(補助モード)に従って処理される。
【0095】
尚、3Dcブロックは常にデフォルトモードで圧縮可能である。XfがXlより大きくなった場合でも、2つの符号語ビットシーケンスは単純に入れ替えられることが可能であり、X<Xが維持される。X=Xの場合、第2の符号語ビットシーケンスはX=X+1に設定されることができ、全ての画像要素の特徴値は第1の符号語ビットシーケンスに従って量子化される。あるいは、第1のビットシーケンスはX=X−1として設定されることができ、全ての画像要素値が第2の符号語ビットシーケンスに量子化される。これは、全ての現在の3Dc法線マップがデフォルトモードのみを使用して符号化されることを意味する。従って、補助モードは規定のペイロードビットを犠牲にすることなく、「無償」となる。
【0096】
最初、X≧X又はY≧Yの少なくとも一方として使用されるブロック符号語及び間隔符号語の実際の値に制限が課されるように思われるだろう。しかし、実際には3Dcにおける2つの(X又はY)符号語ビットシーケンスの合計16ビットのうち15ビットを自由に、すなわち基準符号語値及び間隔符号語値の制限なく使用可能である。使用する技術は、文献[3]及び文献[4]において詳細に説明される。その技術は、X≧X又はY≧Yの少なくとも一方を維持しながら、16ビットという最大の数を活用することを可能とする。基本的に以下の動作は、補助モードにおいて使用されうる15ビットを得るために使用される:
【0097】
int get_15bits_back(X,X

if MSB(Xl == 0)
return (Xl << 8) OR Xf;
else
return (NOT(X) << 8) OR NOT(X);

【0098】
尚、X≧X且つY<Yであるか、X<X且つY≧Yであるか、あるいはX≧X且つY≧Yであるかに依存して、3Dcに加えて最大3つの補助モードを有することができる。最初の2つの補助モードにおいて、128ビットのうち127ビットが自由に設定でき、第3の例においては126ビットが自由に設定できる。
【0099】
本発明のそのような補助モードにおいて、基準符号語は間隔の開始点となることが可能な基準値を表す。上述したものと同様に、間隔符号語は複数の成分値を含む間隔を表す。テーブルVIは、間隔符号語に使用可能なコードであり、異なるビット長を有し且ついわゆる接頭符号である、可能なコードを列挙する。
【0100】
【表6】

【0101】
このテーブルVIにおいて、基準値は整数ビット及び端数ビットの双方を有するだろう。従って、値の整数部を表すために8ビットが使用され、2〜5(実際のビット分解能に依存する)ビットが端数部を表す。これは、間隔が非常に高精度に位置決めされることを意味する。
【0102】
テーブルVIIは、間隔符号語及び符号語に対するビット分解能を含むテーブルの別の例である。
【0103】
【表7】

【0104】
テーブルVIIにおいて、基準値表現の精度は、間隔Wの最小幅と比較して4倍である。
【0105】
テーブルVIIIは、間隔符号語及び符号語に対するビット分解能を含むテーブルの更なる例である。
【0106】
【表8】

【0107】
テーブルVIIIにおいて、基準値の精度の各レベルにおいて、4つの異なる間隔の幅が利用可能である。
【0108】
テーブルIXは更に別の例である。
【0109】
【表9】

【0110】
テーブルIXは、間隔の最小幅と比較して4倍の基準値の精度を有する。
【0111】
テーブルXは、本発明に従って使用されうるテーブルの更なる一例である。
【0112】
【表10】

【0113】
上記のテーブルVI〜Xの全ては、いくぶん短い間隔長を表す間隔符号語を含む。これは、より長い間隔長が画質の点で適切な結果を与えるであろう場合に規定の3Dcモードが選択されるであろうことを意味する。その結果、圧縮ブロックの第1の(X又はY)符号語の8ビットが、後続する第2の(X又はY)符号語の8ビットよりも、整数として解釈される場合には小さいであろうことを、このことは意味する。しかし、より短い間隔長がよりよい品質となる結果を与えるであろう場合、ブロックは、例えば上記提示されたテーブルのいずれかを使用することにより本発明に従って圧縮される。そのような場合、最初の8ビットは後続する8ビットより、整数として解釈される場合には大きいだろう。
【0114】
伸張
図9は、本発明に係る圧縮画像を伸張する方法を示すフローダイアグラムである。圧縮画像は、基本的に画像ブロックのいくつかの圧縮表現を備える。それらブロック表現は、上述の画像圧縮方法により生成されるのが好ましい。
【0115】
一般に方法は、伸張する圧縮画像ブロックを識別することにより開始する。元の画像の伸張表現を生成するために、圧縮画像の全ての画像ブロックが伸張されるべきであってもよいだろう。あるいは、元の画像の一部のみがアクセスされる。その結果、選択された数の画像ブロックのみが伸張される必要がある(あるいは更に正確には、特定の画像ブロックの選択された数の画像要素が復号化される必要がある)。
【0116】
ブロック圧縮と同様に、本発明の伸張は、2つのベクトル成分X及びYに対してそれぞれ、並行して又は順次実行されうる。まず、この方法を以下に説明する。しかし、圧縮を組み合わせることに対応して、伸張を組み合わせて行うことも可能であるだろう。
【0117】
正確な圧縮画像ブロックが識別されると、基準符号語及び間隔符号語の一方が圧縮表現の少なくとも一部に係るビットパターンに基づいて識別される。基準符号語及び間隔符号語のうちの他方は、識別された基準符号語又は間隔符号語の一方に基づいて決定される。好適な実現例において、圧縮表現の規定されたビットパターンに基づいて、まず間隔符号語がステップS50において識別される。この実現例は、間隔符号語が接頭符号形式であるという知識を利用する。間隔符号語が圧縮ブロックを構成するビットシーケンスにおいて識別されると、現在のベクトル成分(X又はY)に対する対応する基準符号語が識別されうる。この識別は、識別された間隔符号語に後続するビットの集合を基準符号語として割り当てることにより行なわれるのが好ましい。この集合の合計のビット数+間隔符号語のビット数は、事前定義済み最大値と等しいのが好ましい。従って、この事前定義済みの値を認識し、ステップS50において間隔符号語のビット数を決定することにより、ステップ51で、基準符号語を共に形成する後続するビットの数を決定できる。
【0118】
次のステップS52は、ステップS51で識別された基準符号語に基づいて基準値を決定する。この基準符号語が8ビット未満を備える場合、例えば5ビットの場合、符号語は8ビットに拡張又は拡大される。これは、符号語の最上位ビットを複製し、それらを最下位ビットとして追加して8ビットを形成することにより実現されうる。基準符号語が8ビットを備える場合、それは基準値として直接使用されうる。同様に、基準符号語が8ビットを超えるビットを備える場合、例えば8.3という形式で、最初の8ビットが整数値を表し、残りのビットが端数値であることが好ましい。
【0119】
後続するステップS53は、ステップS52において決定された基準値と、間隔符号語とに基づいて複数の成分値を決定する。従って基準値は、例えば間隔の開始点、間隔の終了点、又は間隔の中間点を特定することにより、間隔が(X又はY)軸に沿って位置決めされる場所を特定する。例えば関数、事前定義済みルックアップテーブル、又はセットに対する入力として、符号語を使用することにより、使用する間隔長は間隔符号語から取得される。
【0120】
次のステップS54において、画像要素の元の(X又はY)ベクトル成分の表現として使用する成分値はインデックスシーケンスに基づいて選択される。このステップS54において、現在の画像要素に関連付けられた(X又はY)成分インデックスは、ステップS53で計算された複数の(X又はY)成分値から1つの成分値を選択するために使用される。
【0121】
ステップS54は、画像ブロックのいくつかの画像要素に対して実行される(線L5により概略的に示される)。いくつかの応用例においては、単一の画像要素のみが特定の画像ブロックから復号化されること、特定の画像ブロックの複数の画像要素が復号化されること、又は特定のブロックの全ての画像要素が復号化されること、このうちの少なくとも1つであることが、本発明により期待される。
【0122】
ステップS50〜S54の手順は、他のベクトル成分に対して同様の方法で実行できる。又は、2つの成分は同時に処理されてもよい。これは、基本的にステップS50〜S54の各々を2回実行することにより(1回は第1の(X)ベクトル成分に対して実行し、1回は第2の(Y)ベクトル成分に対して実行する)行われる。
【0123】
ステップS50〜S54は、復号化されるべき画像要素を備える全ての画像ブロックに対して繰り返されるのが好ましい(線L6により概略的に示される)。このことは、ステップS50〜S54のループが1回実行されることもあるが、殆どの場合は、このループが異なる圧縮画像ブロックに対して数回実行され、又は特定の圧縮画像ブロックに対して数回実行されることのうち少なくとも一方であることを意味する。尚、間隔符号語及び基準符号語のそれぞれのビット分解能(ビット長)は、図9に従って処理される異なる圧縮画像ブロック間で異なってもよい。また、インデックスシーケンスのビット分解能(ビット長)が、図9に従って処理される異なる圧縮画像ブロック間で異なっていることも自由である。
【0124】
任意のものであるステップS55において、元の画像の伸張表現又はその一部は、復号化画像要素及びブロックに基づいて生成される。尚、いくつかの応用例において、復号化表現の単一画素をレンダリングするために、いくつかの画像要素が復号化される必要がある。例えば、3次元線形補間の際には8つの画像要素が復号化され、2次元線形補間の場合には対応する数は4つの画像要素である。このことは、当業者には周知である。そして、本方法は終了する。
【0125】
図10は、図9の識別ステップの一実施形態を更に詳細に示すフローダイアグラムである。本実施形態において、基準符号語及び間隔符号語のうち識別された一方、好ましくは間隔符号語の決定されたビット長に基づいて、基準符号語及び間隔符号語のうちの他方、好ましくは基準符号語が識別される。
【0126】
本方法はステップS60で開始し、事前定義済みビットパターンに達するまで、圧縮表現の選択した部分が解析される。このステップS60の解析は、第1のベクトル成分に対する圧縮ブロックを構成するビットシーケンスの初めから開始し、第2のベクトル成分に対するビットシーケンスの中間から開始するのが好ましい。事前定義済みビットパターンに達するまで、解析は継続する。本実施形態は、特に接頭符号の使用に適している。そのような場合、複数ビットの組合せの定義済みビット値が識別されると、ビットシーケンスの先行する解析済みの部分、及び任意的ではあるが事前定義済みビット長の後続する部分は、基準符号語及び間隔符号語の一方、好ましくは間隔符号語を構成する。例えば、テーブルIで表されるような間隔符号語が使用される場合、圧縮ブロックの解析は、最初にゼロに達するまで又は12ビットが解析されるまで実行される。この解析部分は間隔符号語を構成する。テーブルIVにおいて、最初の1binの前に5つの0binがない限り、最初の1binを含む最初の1binまでの解析部分は間隔符号語を構成する。そのような場合、解析部分+後続する3ビットが間隔符号語を構成する。
【0127】
次のステップS61は、圧縮ブロックの解析部分(及び任意的ではあるが事前定義済み固定長の後続する部分)として間隔符号語を規定する。識別された間隔符号語に後続する圧縮ブロックの一部は、ステップS62において基準符号語として規定される。間隔符号語及び基準符号語のビット長は固定であり、事前定義済み最大値に等しい。その後、本方法は図9のステップS52に継続する。
【0128】
図11は、図9の成分値決定ステップを更に詳細に示すフローダイアグラムである。方法は、図9のステップS52から継続する。次のステップS70は、間隔符号語に基づいて(X又はY)間隔長を決定する。この決定は、符号語から長さを直接計算することにより実行される。別の方法において符号語は、関数及びルックアップテーブル等に対する入力として使用され、対応する間隔長を与える。複数の成分値は、この間隔長及び基準値に基づいて計算される。
【0129】
好適な実現例において、方法はステップS71に継続し、間隔の開始点が決定される。基準値が間隔の開始点を表す場合、この決定は基準値のみを使用して実行されうる。あるいは、決定は基準値及び間隔長の双方を使用して実行される。対応するステップS72は、基準値、あるいは基準値及び間隔長を使用して間隔の終了点を決定する。複数の圧縮値は、ステップ73において開始点及び終了点の線形結合として計算されるのが好ましい:
【0130】
【数8】

式中、XはX成分値を示し、Xminは間隔の開始点であり、Xmaxは間隔の終了点である。NはX成分値の数であり、i=0,1,...N−1である。Nは好ましくは8である。X基準値が間隔の開始点、間隔の中間点、間隔の終了点のいずれであるかに依存して、開始点及び終了点は式10〜式12のいずれかに従って計算されうる:
【0131】
【数9】

【0132】
【数10】

【0133】
【数11】

【0134】
その後、方法は図9のステップS54に継続する。
【0135】
図12A〜図12Cは、間隔符号語により規定される間隔20内の種々の成分値50の概念を示す図である。図12Aにおいて、基準値10は間隔20の中間点を表す。間隔の開始点30及び終了点40は、上記式11を使用して基準値10及び間隔長20から計算されうる。8つの成分値50は、上記式9を使用して端点30、40から取得される。尚、当然、成分値は基準値10及び間隔長20から、最初に端点30、40を計算することなく、直接計算されうる。例えば、式6を参照せよ。
【0136】
図12Bにおいて、間隔長20は図12Aより比較的大きい。更に、基準値10は間隔の開始点30である。端点40は式10から取得可能である。間隔20はここでは相対的に大きいため、成分値50間の距離も図12Aと比較して増加する。図12Cは、小さな間隔長20を含む図を示す。ここで、基準値10は間隔20の端点40を示す。
【0137】
本発明に従って、2つのベクトル成分の復号化が、組み合わせて実行されうる。例えば、2つの間隔符号語は角度及び半径を表すことができる。そのような場合、圧縮ブロックは半径を符号化する間隔符号語を見つけるために解析されるのが好ましい。その結果、2つの基準符号語の識別が可能になる。本実施形態の好適な実現例において、X基準符号語及びY基準符号語は同一のビット分解能を有する。更に、角度を符号化する間隔符号語は固定長を有する。rが第1の間隔符号語により表される半径であり、θが第2の符号語により表される角度である場合、X間隔長はr×cos(θ)として決定され、Y間隔長はr×sin(θ)である。上述したように、異なるX成分値及びY成分値は、X間隔長及びY間隔長、並びにX基準値及びY基準値から計算される。
【0138】
図12Dは、別の組み合わせ伸張を示す。図12Dにおいて、間隔符号語の一方は対角線25を表し、他方は間隔長20を計算するために対角線25と共に使用される重みを表す。X/Yビットは、間隔長20がX間隔であるべきか又はY間隔であるべきかを決定する。もう一方の間隔は、対角線25及び第1の間隔20から計算される。基準値10、15は、2つの計算した間隔20の位置を与える。図12Dにおいて、Y間隔の開始点35及び終了点45並びにY成分値55が、対応するX点30、40及び値50に加えて示される。
【0139】
伸張の例
本明細書において、図3A〜図3Cに示したようなビットシーケンスのレイアウトを使用する伸張の例を次に示す。
【0140】
圧縮画像ブロックは、以下のビットシーケンスにより表される:
1100110011110100 110 001 ... 001
1111111101011001 101 110 ... 010
【0141】
本明細書において、テーブルIは種々の間隔符号語を与えるために使用される。Xベクトル成分から開始し、圧縮ブロックの最初の64ビットは、X間隔符号語を見つけるために初めから終わりに向かって解析される。この場合、最初にゼロに到達した時に解析は終了される。このゼロ及び先行するビット、すなわち110binはX間隔符号語を構成する。テーブルIにおいて、その符号語は1/4という間隔の幅に対応する。
【0142】
後続する16−L(W)=13ビットは基準符号語を形成する。最初の8ビットは整数ビットであり、残りの5ビットは端数ビットを形成する。
【0143】
整数:01100111bin = 103
端数:10100bin = 1/2+1/8 = 0.625
【0144】
従って、X基準値は103.625であり、X間隔長は0.25である。
【0145】
同一の手順がY成分に対して実行され、64ビット目から開始して、最後の64ビットがまず解析される。この場合、Y間隔符号語は111111110binであり、これはテーブルIによると2=16の間隔長に対応する。後続する16−L(W)=7ビットはY基準符号語を形成する。符号語は、Y基準値が計算されうる前にまず8ビットに拡大される:
【0146】
1011001bin→10110011bin=179
【0147】
よって、Y基準値は179であり、Y間隔長は16である。
【0148】
この説明例において、基準値は間隔の中間点を表す。上記式6は可能なX成分値及びY成分値を与える:
【0149】
【数12】

【0150】
【数13】

【0151】
Value = (103.5, 103.536, 103.571, 103.607, 103.643, 103.679, 103.714, 103.75)
Value = (171, 173.286, 175.571, 177.857, 180.143, 182.429, 184.714, 187)
【0152】
第1の画像要素はX成分インデックス110bin及びY成分インデックス101binを有する。これは、X成分値103.714及びY成分値182.429が選択されるべきであることを意味する。間隔[−1,1]への再マッピングが使用される場合、それらの値は2×103.714/255−1=−0.187及び2×182.429/255−1=0.431となる。画像要素に対するZ座標表現は、式1を使用してそれら2つの再マッピング値から計算され、
【数14】

となる。従って、第1の画像要素に対する最終的な法線は、(X,Y,Z)=(−0.187,0.431,0.470)である。
【0153】
第2の画像要素は、X成分値103.536に対応するXインデックス001bin及び値184.714に関連付けられるYインデックス110binを有する。再マッピング後、値は−0.188及び0.449となる。Z座標は0.487となる。第2の画像要素に対する法線は、(X,Y,Z)=(−0.188,0.449,0.487)である。この手順は、復号化されるべきブロック中の残りの画像要素に対して継続される。
【0154】
実現例の様相
本発明に係る画像(ブロック)圧縮及び画像(ブロック)伸張方式は、汎用データ処理システム中で、例えばユーザ端末中で、あるいは画像の処理又はレンダリングの少なくとも片方をするように構成された他のユニット中で、提供されうる。そのような端末は、携帯情報端末(PDA)、移動ユニット及び電話機のような、コンピュータであってもよい。このコンピュータは、例えばPC、ゲームコンソール、又はシンクライアントである。
【0155】
ユーザ端末
図13は、移動ユニットにより表されるユーザ端末100を示す。しかし、本発明は移動ユニットに限定されず、データ処理ユニット及び他の端末において、例えばPCコンピュータ及びゲームコンソールにおいて、実現できる。本発明に直接関わる移動ユニット100の手段及び要素のみを図示する。
【0156】
移動ユニット100は、移動ユニット100内で画像データを含むデータを処理するための(中央)処理装置(CPU)200を備える。グラフィックシステム130は、画像及びグラフィックデータを管理するために移動ユニット100に提供される。特にグラフィックシステム130は、接続された画面120又は他の表示ユニット上に画像をレンダリング又は表示するように構成される。移動ユニット100は、データを格納するために記憶装置又はメモリ140を更に備える。画像データ、特に本発明に係る圧縮画像データがこのメモリ140に格納されてもよい。
【0157】
本発明に係る画像圧縮器210は、一般に移動ユニット100中で提供される。この圧縮器210は、画像又はテクスチャを画像の圧縮表現に圧縮するように構成される。上述したように、そのような圧縮表現は、複数の圧縮画像ブロックの、シーケンス又はファイルを備える。この画像圧縮器210は、図示されるように、CPU200上で実行するソフトウェアとして提供されてもよい。あるいは又はそれに加えて、圧縮器210は、グラフィックシステム130、又は移動ユニット100の他の場所に、配置されてもよい。
【0158】
ブロック圧縮器210からの画像の圧縮表現は、画像を後でレンダリングするまで格納するために、(メモリ)バス150を介してメモリ140に提供されてもよい。あるいは又はそれに加えて、圧縮画像データは、他の外部端末又はユニットに(無線又は有線)送信するために入出力(I/O)ユニット110に転送されてもよい。I/Oユニット110は、例えばユーザ端末の、一続きの送信機及び受信機を表してもよい。I/Oユニット110は、外部ユニットから画像データを受信するように構成されてもよい。この画像データは、画像圧縮器210により圧縮されるべき画像、又は伸張されるべき圧縮画像データであってもよい。更に、例えばグラフィックシステム130中で提供される、専用テクスチャメモリに圧縮画像表現を格納することも可能である。また、圧縮画像の一部が、例えばグラフィックシステム130中の、テクスチャキャッシュメモリにも(一時的に)格納されてよく、あるいはテクスチャキャッシュメモリに代わりに(一時的に)格納されてもよい。
【0159】
伸張画像表現を生成するために圧縮画像を伸張するために、一般には本発明に係る画像伸張器220は移動ユニット100に提供される。この伸張表現は、元の画像全体に対応しても良く、又はその一部に対応してもよい。画像伸張器220は伸張画像データをグラフィックシステム130に提供し、通常、レンダリング又は画面120上に提示される前に、グラフィックシステム130はデータを処理する。図示されるように、画像伸張器220はグラフィックスシステム130に配置されることができる。
【0160】
あるいは又はそれに加えて、CPU200、又は移動ユニット100の他の場所で実行されるソフトウェアとして、復号器200が提供されてもよい。
【0161】
図示するように、移動ユニット100は、画像圧縮器210及び画像伸張器220の双方を装備してもよい。しかし、いくつかの端末100については、画像圧縮器210のみを含むことが可能であるかもしれない。そのような場合、圧縮画像データは、画像の伸張、及び場合によってはレンダリングを実行する、別の端末に送信されてもよい。同様に、端末100は画像伸張器220のみを含むことが可能であるかもしれない。これはすなわち、圧縮器を有さないということである。そのような端末100は、別のエンティティからの圧縮画像データを備える信号を受信し、それを伸張して伸張画像表現を生成する。このように、圧縮画像信号は無線送信機及び無線受信機を使用して端末間で無線送信されてもよい。あるいは、本発明に従って端末間で画像及び圧縮画像表現を配信する他の技術が採用可能であり、例えばBLUETOOTH(登録商標)、赤外線ポートを使用する赤外線技術、及び端末間の画像データの有線転送が採用可能である。更に、接続可能であり且つ端末間で交換可能である、USBメモリを含むメモリカード又はチップが、この画像データ端末間配信に対して使用可能である。
【0162】
移動ユニット100のユニット110、130、200、210及び220は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。
【0163】
画像符号器
図14は、本発明に係る画像圧縮器210の一実施形態を示すブロック図である。一般に圧縮器210は、入力画像をいくつかの画像ブロックに分解又は分割する画像分解器215を備える。分解器215は、16個の画像要素(画素、テクセル又はボクセル)を備える画像ブロック、すなわち一般的に画像要素4×4個分のサイズを有する画像ブロック、に画像を分解するように構成されるのが好ましい。この分解器215は、異なる入力画像を異なるサイズの画像ブロックに分解するように構成されてもよい。そのような場合、分解器215は入力情報を受信するのが好ましく、それにより所定の画像に対して使用する画像ブロック形式の識別が可能になる。
【0164】
画像圧縮器210の本実施形態は、ブロック圧縮器300を備える。このブロック圧縮器300は、画像分解器から受信した画像ブロックを圧縮し、圧縮ブロック表現を生成する。ブロック表現の全体のサイズは、非符号化画像ブロックの対応するサイズより小さい。ブロック圧縮器300は、分解器215からの各画像ブロックを順次処理(符号化)するように構成されるのが好ましい。
【0165】
別の実現例において、圧縮器210は、画像分解器215からの複数の画像ブロックを並列処理する複数のブロック圧縮器300を含む。それにより、画像符号化時間の合計は短縮される。
【0166】
画像圧縮器210のユニット215及び300は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット215及び300は、画像圧縮器210に一緒に実装されてもよい。あるいは、いくつかのユニットが移動ユニットの他の場所に提供される、分散型の実装も可能である。
【0167】
ブロック符号器
図15は、図14の画像圧縮器のブロック圧縮器等の本発明に係るブロック圧縮器300の一実施形態を示すブロック図である。圧縮器300は、(X又はY)基準符号語、(X又はY)間隔符号語及び(X又はY)インデックスシーケンスのうち少なくとも2つに対する各ビット分解能を規定するように構成された分解能定義器310を備える。定義器310は、圧縮される画像ブロックの元のXベクトル成分及びYベクトル成分を受信し、それら成分の少なくとも一部に基づいてビット分解能の規定を行う。基準量子化器320は、(X又はY)基準値の表現として(X又はY)基準符号語を決定するように構成される。この符号語の決定は、(X又はY)ベクトル成分の少なくとも一部に基づいて、また好ましくは分解能定義器320により規定されるビット分解能、すなわちビット換算の符号語長にも基づいて、実行される。対応する間隔量子化器330は、ブロック符号器300において、(X又はY)基準値と相関する複数の(X又はY)成分値を含む(X又はY)間隔の表現として(X又はY)間隔符号語を決定するように構成される。量子化器330は、(X又はY)ベクトル成分の少なくとも一部に基づいて、また好ましくは定義器310により符号語に割り当てられたビット分解能にも基づいて、その符号語の決定を実行する。圧縮器300は、インデックス量子化器340を更に備える。この量子化器340は、(X又はY)間隔に含まれる(X又はY)値から選択された1つの(X又はY)成分値を、ブロック中の画像要素毎に示す、(X又はY)インデックスシーケンスを決定するように構成される。インデックス量子化器340は、複数の(X又はY)値のうち、ブロック中の画像要素の(X又はY)ベクトル成分を最適に表す(X又はY)成分値を識別するのが好ましい。この識別は、符号器に配置された誤差推定器350を使用して実行されるのが好ましい。識別された成分値と関連付けられる(X又はY)成分インデックスは、インデックス量子化器340により提供される。誤差推定器350は、その(X又はY)成分値を含む画像要素の(X又はY)ベクトル成分を表す誤差推定値を、複数の利用可能な(X又はY)値のうちの(X又はY)成分値毎に推定するように実装される。従って、提供される(X又はY)成分インデックスにより、その画像要素の特徴ベクトルの元の(X又はY)ベクトル成分を最適に表す(X又はY)成分値、すなわち最小の誤差と関連付けられる(X又はY)成分値の、識別が可能になる。異なるの(X又はY)成分インデックスが一緒に、(X又はY)インデックスシーケンスを形成する。
【0168】
ブロック圧縮器300は、画像ブロックの最大の(X又はY)ベクトル成分及び最小の(X又はY)ベクトル成分を識別するように構成された成分識別器360を更に備えるのが好ましい。この情報は、分解能定義器310、基準量子化器320及び間隔量子化器330により使用される情報であればよい。例えば、間隔量子化器330は、最大の(X又はY)ベクトル成分と最小の(X又はY)ベクトル成分との差分の表現として(X又はY)間隔符号語を決定するように構成されることができる。量子化器330は、関数、事前定義済みセット、又は図示するように複数の事前定義済み(X又はY)間隔符号語を備えるルックアップテーブル370への入力として、差分を使用するのが好ましい。従って、量子化器330は、最大の(X及びY)成分値と最小の(X及びY)成分値との差分に最も近い間隔長と関連付けられる(X又はY)符号語を選択する。テーブル370の少なくとも一部の符号語は異なるビット長を有し、本発明の動的可変ビット分解能を提供する。
【0169】
基準量子化器320は、(X又はY)間隔符号語により表される間隔の開始点、間隔の中間点又は間隔の終了点として、(X又はY)基準符号語を決定するのが好ましい。開始点の場合、基準量子化器320は、成分識別器360からの最小(X又はY)値の情報を使用し、その最小値の表現として(X又はY)基準符号語を生成する。同様に、(X又はY)値が終了点である場合、基準量子化器320は最大(X又はY)値の情報を使用する。(X又はY)基準値が間隔の中間点になる場合、双方の(X又はY)値が量子化器320により使用される。
【0170】
分解能定義器310は、(X又はY)ベクトル成分の分布に基づいて各ビット分解能を規定するのが好ましい。この分布は、識別器360からの最大の(X又はY)成分及び最小の(X又はY)成分に基づいて決定される。定義器310は、例えば最大の(X又はY)ベクトル成分と最小の(X又はY)ベクトル成分との差分に基づいてビット分解能を規定できる。
【0171】
ブロック圧縮器300のユニット310〜360は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット310〜370は、ブロック圧縮器300に一緒に実装されてもよい。あるいは、いくつかのユニットが画像圧縮器の他の場所に提供される分散型の実装も可能である。
【0172】
図16は、図15の分解能定義器310の一実施形態を更に詳細に示す概略ブロック図である。この定義器310は、(X又はY)ベクトル成分の少なくとも一部に基づいて、好ましくは最大の(X又はY)ベクトル成分及び最小の(X又はY)ベクトル成分に基づいて、(X又はY)間隔符号語に対するビット分解能を規定するように構成される。分解能計算器312は、この間隔符号語分解能及び事前定義済み最大分解能値から(X又はY)基準符号語の対応するビット分解能を計算するために定義器310に実装される。
【0173】
分解能定義器310のユニット312は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット312は、ブロック圧縮器の他の場所に実装されてもよい。
【0174】
図17は、図15のインデックス量子化器330の一実施形態を更に詳細に示す概略ブロック図である。量子化器330は、(X又はY)間隔に含まれる複数の(X又はY)値のうち1つの(X又はY)成分値を、ブロック中の画像要素毎に選択するように構成された値選択器332を具備する。この選択された(X又はY)値は、利用可能な値の最小の誤差を与える。インデックス識別器334は、選択器332により選択された(X又はY)成分値に基づいて、複数の画像要素の集合に対して合成(X又はY)成分インデックスを識別する。これは、1つの(X又はY)インデックスがいくつかの画像要素に対して一括して使用されることを意味する。識別器334は、複数のそのような成分インデックスを備えるルックアップテーブル336にアクセスできるのが好ましい。従って、識別器334は、このテーブル336から最適な合成インデックスを選択する。結果として得られる(X又はY)インデックスシーケンスは、本実施形態において、少なくとも1つのそのような合成インデックスを含む。また、結果として得られる(X又はY)インデックスシーケンスは、本実施形態において、単一の画像要素のみに対して割り当てられた少なくとも1つの従来の(X又はY)成分インデックスを含むことも自由である。
【0175】
インデックス量子化器330のユニット332及び334は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット332、334及び336は、代わりにブロック圧縮器の他の場所に実装されてもよい。
【0176】
画像復号器
図18は、本発明に係る画像伸張器220の一実施形態を示すブロック図である。画像伸張器220は、伸張のためにブロック伸張器400に提供されるべき符号化画像ブロックを、例えばメモリから、選択するように構成されたブロック選択器222を備えることが好ましい。ブロック選択器222は、例えばヘッダ又はレンダリングエンジンから、圧縮画像データと関連付けられた入力情報を受信するのが好ましい。所望の画像要素を有する圧縮画像ブロックのアドレスは、入力情報に基づいて算出される。この算出されたアドレスは、画像内の画像要素(画素、テクセル又はボクセル)の座標に依存するのが好ましい。ブロック選択器222は、アドレスを使用してメモリからの圧縮画像ブロックを識別する。この識別された圧縮画像ブロックは、記憶装置から取り出され、ブロック伸張器400に提供される。
【0177】
画像ブロックの画像要素への(ランダム)アクセスにより、必要とされる画像の部分のみを選択的に伸張することが可能となり、これは有利である。更に画像は、どのような順番でデータが要求されても、伸張されることが可能である。例えばテクスチャマッピングにおいて、テクスチャの一部のみが要求されるかもしれず、一般にはそれらテクスチャの一部は非連続的な順番で要求されるだろう。従って、本発明の画像伸張は、画像の一部又は一区分のみを処理するように適用されることで、有利となる。
【0178】
選択された圧縮画像ブロックは、ブロック伸張器400に転送される。画像ブロックに加えて、伸張器400は復号化されるべきブロックの画像要素を特定する情報を受信するのが好ましい。受信した情報は、画像ブロック全体、すなわち画像ブロック中の全ての画像要素が復号化されるべきであることを特定できるだろう。とはいえ、受信した情報は、復号化されるべき単一の画像要素又はいくつかの画像要素のみを識別できる。その後ブロック伸張器400は、ブロック中の画像要素の伸張表現を生成する。
【0179】
画像合成器224が、画像伸張器220に提供されることも自由である。この合成器は、ブロック伸張器400から復号化画像要素を受信し、それらを合成してレンダリングされうる、又は画面上に表示されうる画素を生成する。この画像合成器224は、代わりにグラフィックシステムに提供されてもよい。
【0180】
あるいは、画像伸張器220は複数のブロック伸張器400を備える。複数のブロック伸張器400へのアクセスを有することにより、画像復号器220は複数の符号化画像ブロックを並行して処理できる。それら複数のブロック伸張器400は、画像伸張器220の処理性能及び効率を向上する並列処理を可能にする。
【0181】
画像伸張器220のユニット222、224及び400は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット222、224及び400は、画像伸張器220に一緒に実装されてもよい。あるいは、いくつかのユニットがユーザ端末の他の場所に提供される、分散型の実装も可能である。
【0182】
ブロック復号器
図19は、本発明に係るブロック伸張器400の一実施形態を示す。ブロック伸張器400は、圧縮ブロックの少なくとも一部のビットパターンに基づいて、(X又はY)基準符号語及び(X又はY)間隔符号語の一方を識別するように構成された、符号語識別器410を備える。識別器410は、最初に識別した(X又はY)符号語に基づいて、(X又はY)基準符号語及び(X又はY)間隔符号語のの他方を更に識別する。好適な実現例において、識別器410は、(X又はY)基準符号語及び(X又はY)間隔符号語のうち最初の符号語を識別すると、その符号語のビット長を決定する。その長さ及び事前定義済み最大値を与えられると、識別器410は、圧縮ブロック中の後続する部分として(X又はY)基準符号語及び(X又はY)間隔符号語のうちの他方を見つけられる。
【0183】
上述したように、基準値生成器420は、(X又はY)基準値を決定するために識別された(X又はY)基準符号語を使用する。成分値生成器430は、決定された(X又はY)基準値及び識別された(X又はY)間隔符号語を、複数の(X又はY)成分値の生成のための入力として使用する。ブロック伸張器400は、生成された複数の成分値から、1つの(X又はY)成分値を、少なくとも1つの画像要素に対して選択するために、(X又はY)インデックスシーケンスを使用する値選択器440を更に備える。一般的な方法において、選択器440は、1つの成分値を選択するために、現在の画像要素と関連付けられた(X又はY)成分インデックスを識別する。合成インデックスの場合、選択器440は、複数の画像要素に対する(X又はY)成分値を一括して同時に選択できる。この選択は、上記テーブルV等のルックアップテーブル450を使用して行なわれるのが好ましい。
【0184】
ブロック伸張器400のユニット410〜440は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット410〜450は、ブロック伸張器400中に一緒に実装されてもよい。あるいは、いくつかのユニットが画像伸張器の他の場所に提供される、分散型の実装も可能である。
【0185】
図20は、図19の符号語識別器410の一実施形態を更に詳細に示す概略ブロック図である。符号語識別器410は、事前定義済みビットパターンに達するまで圧縮ブロックの選択部分を解析するように構成された、ビット解析器412を備える。一般に解析器は、第1の(X)ベクトル成分に対する圧縮ブロックの初めから、また第2の(Y)成分に対するブロックの中間から、解析を開始する。これについては、図3A〜図3Cを参照せよ。このビットパターンは、最初が0binであっても、最初が1binであっても、若しくは最初が0又は1の組合せであってもよい。更にビットパターンは、最長の圧縮ブロックの一区分であってもよい。識別器410の符号語定義器414は、事前定義済みビットパターンまでの、好ましくは事前定義済みビットパターンを含む、圧縮ブロックの解析部分を、(X又はY)基準符号語及び(X又はY)間隔符号語のうちの一方として、好ましくは(X又はY)間隔符号語として、規定するように構成される。定義器414は、圧縮ブロックの後続する部分を、(X又はY)基準符号語及び(X又はY)間隔符号語のうちの他方として、好ましくは(X又はY)基準符号語として、更に規定する。(X又はY)間隔符号語として識別された部分、及び(X又はY)基準符号語として識別された部分のビット長は、全ての画像ブロックに対して固定であり、事前定義済み最大値と等しい。
【0186】
符号語識別器410のユニット412及び414は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット412及び414は、ブロック伸張器400の他の場所に実装されてもよい。
【0187】
図21は、図19の成分値生成器430の一実施形態を更に詳細に示す概略ブロック図である。値生成器430は、間隔符号語に基づいて(X又はY)間隔長を決定するように構成された間隔生成器432を備える。この間隔長は、符号語から直接計算されうる。別の方法において生成器432は、値生成器430に配置されるか又はブロック復号器の他の場所に提供される、ルックアップテーブル又は関数を利用する(図19のテーブル450を参照)。値生成器430の値計算器434は、間隔生成器432からの(X又はY)間隔長と、基準値生成器からの(X又はY)基準値とに基づいて複数の(X又はY)成分値を計算するように構成される。
【0188】
好適な実現例において、値生成器430は、開始点生成器436及び終了点生成器438を更に備える。それら生成器436、438は、間隔長及び基準値を使用して(X又はY)間隔の開始点及び終了点を計算する。値計算器434は、一般には開始点及び終了点の線形結合として、複数の(X又はY)成分値を計算するために、この2つの端点の情報を使用できる。
【0189】
上述において、法線、好ましくは正規化面法線、を特徴ベクトルとして有する画像ブロックの処理を参照して本発明を説明した。別の実現例において、特徴ベクトルは、RGB(赤色、緑色、青色)空間等の色空間における色ベクトルであってもよい。そのような場合、圧縮画像ブロックは、RGB点等の、色空間における基本色を表す1つの基準符号語を備える。間隔符号語は、基本色に対して色空間におけるベクトルを表すことができる。すなわち間隔符号語は、間隔長及び方向の双方を規定する。基本色及びベクトルは、色空間において開始点及び終了点を有する間隔を共に規定する。この間隔は、間隔の2つの端点の線形結合として取得可能であることが好ましい、複数の色値を含む。圧縮ブロックは、画像要素毎に色インデックスを有するインデックスシーケンスを更に備え、色インデックスは複数の色値のうちの1つとそれぞれ関連付けられる。本発明によると、圧縮ブロックの合計のビット長が同一のままで、間隔符号語及び基準符号語に対するビット分解能が適応及び変動可能である。例えば間隔長が大きい場合、間隔符号語は相対的に長いビット長を有することができ、基準符号語に対して残されるビット数はより少なくなる。しかし、間隔長が短い場合、それに対応してより多くのビットが基準符号語に対して使用され、間隔符号語に対するビット数はより少なくなる。
【0190】
間隔符号語が、例えば角度表現部分及び半径表現部分の2つの部分から構成可能であることは、本発明から予想される。そのような場合、角度表現部分に使用されるビット数は固定であり、一方、半径表現部分のビット長は色空間の画像要素の元の色ベクトルの分布に依存して調整されうる。
【0191】
添付の請求の範囲により規定される本発明の範囲から逸脱せずに、種々の変形及び変更が本発明に対して行なわれてもよいことが当業者には理解されるだろう。
【0192】
<参考文献>
[1]http://www.ati.com/products/radeonx800/3DcWhitePaper.pdf ATI(登録商標) Radeon(登録商標) X800 3Dc(登録商標) White Paper
[2]米国特許第5,956,431号明細書
[3]Munkberg他「High quality normal map compression」,Graphics Hardware September 2006
[4]国際特許出願第PCT/SE2007/000053号
【図面の簡単な説明】
【0193】
【図1】本発明の一実施形態に係る画像圧縮方法及び画像ブロック圧縮方法を示すフローダイアグラムである。
【図2】本発明に係る画像ブロックの一実施形態を示す図である。
【図3A】、
【図3B】、
【図3C】本発明に係る画像ブロックの圧縮表現の種々の実施形態を示す図である。
【図4】図1のビット分解能を規定するステップの一実施形態を更に詳細に示すフローダイアグラムである。
【図5】X,Y平面におけるベクトル成分の分布を示す図である。
【図6】図1の間隔符号語を決定するステップの一実施形態を更に詳細に示すフローダイアグラムである。
【図7】図1のインデックスシーケンスを決定するステップの一実施形態を更に詳細に示すフローダイアグラムである。
【図8】図1のインデックスシーケンスを決定するステップの別の実施形態を更に詳細に示すフローダイアグラムである。
【図9】本発明の一実施形態に係る画像伸張方法及び画像ブロック伸張方法を示すフローダイアグラムである。
【図10】図9の符号語を識別するステップの一実施形態を更に詳細に示すフローダイアグラムである。
【図11】図9の成分値を決定するステップの一実施形態を更に詳細に示すフローダイアグラムである。
【図12A】、
【図12B】、
【図12C】第1のベクトル成分に対する成分値の計算を示す図である。
【図12D】第1のベクトル成分及び第2のベクトル成分に対する成分値の計算を示す図である。
【図13】本発明に係る画像圧縮器及び画像伸張器を有するユーザ端末の一例を概略的に示す図である。
【図14】本発明に係る画像圧縮器の一実施形態を概略的に示すブロック図である。
【図15】本発明に係るブロック圧縮器の一実施形態を概略的に示すブロック図である。
【図16】図15の分解能定義器の一実施形態を更に詳細に概略的に示すブロック図である。
【図17】図15のインデックス量子化器の一実施形態を更に詳細に概略的に示すブロック図である。
【図18】本発明に係る画像伸張器の一実施形態を概略的に示すブロック図である。
【図19】本発明に係るブロック伸張器の一実施形態を概略的に示すブロック図である。
【図20】図19の符号語識別器の一実施形態を更に詳細に概略的に示すブロック図である。
【図21】図19の成分値生成器の一実施形態を更に詳細に概略的に示すブロック図である。

【特許請求の範囲】
【請求項1】
複数の画像要素に関連付けられている特徴を表現するそれぞれの特徴ベクトルを有する当該複数の画像要素の画像ブロックを圧縮する方法であって、
前記それぞれの特徴ベクトルのベクトル成分の少なくとも一部に基づいて、基準符号語、間隔符号語、及びインデックスシーケンスのうち少なくとも2つのそれぞれのビット分解能を、それぞれのビット分解能の合計が固定であるように、規定する工程と、
前記それぞれのベクトル成分の少なくとも一部に基づいて、基準値の表現として前記基準符号語を決定する工程と、
前記それぞれのベクトル成分の少なくとも一部に基づいて、前記基準値と相関する複数の成分値を含む間隔の表現として、前記間隔符号語を決定する工程と、
前記複数の成分値から選択された1つの成分値を、前記複数の画像要素中の画像要素毎に示す、前記インデックスシーケンスを決定する工程と
を備えることを特徴とする方法。
【請求項2】
前記規定する工程は、前記それぞれの特徴ベクトルの前記ベクトル成分の分布に基づいて、前記それぞれのビット分解能を規定する工程を備えることを特徴とする、請求項1に記載の方法。
【請求項3】
前記規定する工程は、
前記それぞれの特徴ベクトルのうち最大のベクトル成分を識別する工程と、
前記それぞれの特徴ベクトルのうち最小のベクトル成分を識別する工程と、
前記最大のベクトル成分と前記最小のベクトル成分との比較に基づいて前記それぞれのビット分解能を規定する工程と
を備えることを特徴とする、請求項1又は2に記載の方法。
【請求項4】
前記規定する工程は、
前記それぞれのベクトル成分の前記少なくとも一部に基づいて前記間隔符号語に対する前記ビット分解能を規定する工程と、
事前定義済み最大分解能値と、前記間隔符号語に対して規定された前記ビット分解能と、の差分として前記基準符号語に対する前記ビット分解能を計算する工程と
を備えることを特徴とする、請求項1乃至3の何れか1項に記載の方法。
【請求項5】
前記間隔符号語を決定する前記工程は、前記それぞれのベクトル成分の少なくとも一部と、前記間隔符号語に対して規定された前記ビット分解能とに基づいて、前記間隔の表現として前記間隔符号語を決定する工程を備えることを特徴とする、請求項1乃至4の何れか1項に記載の方法。
【請求項6】
前記間隔符号語を決定する前記工程は、
前記それぞれの特徴ベクトルのうち最大のベクトル成分を識別する工程と、
前記それぞれの特徴ベクトルのうち最小のベクトル成分を識別する工程と、
前記最大のベクトル成分と、前記最小のベクトル成分と、の差分の表現として前記間隔符号語を決定する工程と
を備えることを特徴とする請求項1乃至5の何れか1項に記載の方法。
【請求項7】
前記間隔符号語を決定する前記工程は、前記最大のベクトル成分と前記最小のベクトル成分との前記差分に基づいて、複数の事前定義済み間隔符号語のセットから前記間隔符号語を識別する工程を備えることを特徴とする、請求項6に記載の方法。
【請求項8】
前記複数の事前定義済み間隔符号語の各々は事前定義済みビット分解能を有し、前記複数の事前定義済み間隔符号語のうちの第1の間隔符号語のビット分解能は、前記複数の事前定義済み間隔符号語のうちの第2の間隔符号語のビット分解能とは異なることを特徴とする、請求項7に記載の方法。
【請求項9】
前記基準符号語を決定する前記工程は、前記それぞれのベクトル成分の少なくとも一部と、前記基準符号語に対して規定された前記ビット分解能とに基づいて、前記基準値の表現として前記基準符号語を決定する工程を備えることを特徴とする、請求項1乃至8の何れか1項に記載の方法。
【請求項10】
前記基準符号語を決定する前記工程は、前記それぞれのベクトル成分の前記少なくとも一部と、前記基準符号語に対して規定された前記ビット分解能に基づいて、前記間隔の開始点、前記間隔の中間点、及び前記間隔の終了点のうちの少なくとも1つとして、前記基準符号語を決定する工程を備えることを特徴とする、請求項1乃至9の何れか1項に記載の方法。
【請求項11】
前記インデックスシーケンスを決定する前記工程は、前記複数の成分値から選択された1つの成分値を前記複数の画像要素の画像要素毎に示す前記インデックスシーケンスを、当該インデックスシーケンスに対して規定された前記ビット分解能に基づいて決定する工程を備えることを特徴とする、請求項1乃至10の何れか1項に記載の方法。
【請求項12】
前記インデックスシーケンスを決定する前記工程は、前記複数の成分値から選択された1つの成分値を表す成分インデックスを、前記複数の画像要素の画像要素毎に提供する工程を備えることを特徴とする、請求項1乃至11の何れか1項に記載の方法。
【請求項13】
前記インデックスシーケンスを決定する前記工程は、
前記複数の成分値のうち、前記画像要素の前記ベクトル成分を最適に表す成分値を、前記複数の画像要素の画像要素毎に選択する工程と、
ルックアップテーブルの複数の画像要素の集合に対する合成成分インデックスを、前記集合の前記画像要素に対する前記選択された成分値に基づいて識別する工程と
を備えることを特徴とする、請求項1乃至11の何れか1項に記載の方法。
【請求項14】
複数の画像要素を含む画像ブロックの圧縮表現を処理する方法であって、前記圧縮表現は基準符号語、間隔符号語及びインデックスシーケンスを含み、当該方法は、
前記圧縮表現の少なくとも一部のビットパターンに基づいて、前記圧縮表現の前記基準符号語及び前記圧縮表現の前記間隔符号語のうち、一方を識別する工程と、
前記基準符号語及び前記間隔符号語のうち前記識別された一方に基づいて、前記圧縮表現の前記基準符号語及び前記圧縮表現の前記間隔符号語のうち、他方を識別する工程と、
前記基準符号語に基づいて基準値を決定する工程と、
前記基準値及び前記間隔符号語に基づいて複数の成分値を決定する工程と、
前記画像ブロックの少なくとも1つの画像要素に対して、前記インデックスシーケンスに基づいて、前記複数の成分値から1つの成分値を選択する工程と
を備えることを特徴とする方法。
【請求項15】
前記基準符号語及び前記間隔符号語のうち他方を識別する前記工程は、前記基準符号語及び前記間隔符号語のうち前記識別された一方の、決定されたビット長に基づいて、前記圧縮表現の前記基準符号語及び前記圧縮表現の前記間隔符号語のうち他方を識別する工程を備えることを特徴とする、請求項14に記載の方法。
【請求項16】
前記識別する工程は、
事前定義済みビットパターンに達するまで、前記圧縮表現を解析する工程と、
前記圧縮表現の前記解析部分に基づいて、前記基準符号語及び前記間隔符号語のうち前記一方を規定する工程と、
前記間隔符号語及び前記基準符号語のビット長は固定であり、前記基準符号語及び前記間隔符号語のうち前記他方として、前記圧縮表現の後続する部分を規定する工程と
をまとめて備えることを特徴とする、請求項14又は15に記載の方法。
【請求項17】
前記複数の成分値を決定する前記工程は、
前記間隔符号語に基づいて間隔長を決定する工程と、
前記間隔長及び前記基準値に基づいて前記複数の成分値を計算する工程と
を備えることを特徴とする、請求項14乃至16の何れか1項に記載の方法。
【請求項18】
前記計算する工程は、
前記間隔長及び前記基準値に基づいて前記間隔の開始点を決定する工程と、
前記間隔長及び前記基準値に基づいて前記間隔の終了点を決定する工程と、
前記開始点及び前記終了点に基づいて前記複数の成分値を計算する工程と
を備えることを特徴とする、請求項17に記載の方法。
【請求項19】
前記計算する工程は、前記開始点及び前記終了点の線形結合として前記複数の成分値を計算する工程を備えることを特徴とする、請求項18に記載の方法。
【請求項20】
複数の画像要素に関連付けられている特徴を表現するそれぞれの特徴ベクトルを有する当該複数の画像要素を含む画像ブロックを圧縮するブロック圧縮器であって、
前記それぞれの特徴ベクトルのベクトル成分の少なくとも一部に基づいて、基準符号語、間隔符号語及びインデックスシーケンスのうち少なくとも2つのそれぞれのビット分解能を規定するように構成され、前記それぞれのビット分解能の合計が固定されるようにする分解能定義器と、
前記それぞれのベクトル成分の少なくとも一部に基づいて、基準値の表現として前記基準符号語を決定するように構成された基準量子化器と、
前記それぞれのベクトル成分の少なくとも一部に基づいて、前記基準値と相関する複数の成分値を含む間隔の表現として、前記間隔符号語を決定するように構成された間隔量子化器と、
前記複数の成分値から選択された1つの成分値を、前記複数の画像要素の画像要素毎に示す前記インデックスシーケンスを決定するように構成されたインデックス量子化器と
を備えることを特徴とする、ブロック圧縮器。
【請求項21】
前記分解能定義器は、前記それぞれの特徴ベクトルの前記ベクトル成分の分布に基づいて前記それぞれのビット分解能を規定するように構成されていることを特徴とする、請求項20に記載のブロック圧縮器。
【請求項22】
i)前記それぞれの特徴ベクトルのうち最大のベクトル成分を識別し、ii)前記それぞれの特徴ベクトルのうち最小のベクトル成分を識別するように構成された成分識別器を更に備え、
前記分解能定義器は、前記成分識別器により識別された前記最大のベクトル成分と前記最小のベクトル成分との比較に基づいて、前記それぞれのビット分解能を規定するように構成されていることを特徴とする、請求項20又は21に記載のブロック圧縮器。
【請求項23】
前記分解能定義器は、前記それぞれのベクトル成分のうち前記少なくとも一部に基づいて前記間隔符号語に対する前記ビット分解能を規定するように構成されており、
前記分解能定義器は、事前定義済み最大分解能値と、前記分解能定義器により前記間隔符号語に対して規定された前記ビット分解能との差分として、前記基準符号語に対する前記ビット分解能を計算するように構成された分解能計算器を更に備えることを特徴とする、請求項20乃至22の何れか1項に記載のブロック圧縮器。
【請求項24】
前記間隔量子化器は、前記それぞれのベクトル成分のうち少なくとも一部と、前記分解能定義器により前記間隔符号語に対して規定された前記ビット分解能とに基づいて、前記基準値と相関する複数の成分値を含む間隔の表現として前記間隔符号語を決定するように構成されていることを特徴とする、請求項20乃至23の何れか1項に記載のブロック圧縮器。
【請求項25】
i)前記それぞれの特徴ベクトルの最大のうち最大のベクトル成分を識別し、ii)前記それぞれの特徴ベクトルのうち最小のベクトル成分を識別するように構成された成分識別器を更に備え、
前記間隔量子化器は、前記成分識別器により識別された前記最大のベクトル成分と前記最小のベクトル成分との差分の表現として、前記間隔符号語を決定するように構成されていることを特徴とする、請求項20乃至24の何れか1項に記載のブロック圧縮器。
【請求項26】
前記基準量子化器は、前記それぞれのベクトル成分のうち少なくとも一部と、前記分解能定義器により前記基準符号語に対して規定された前記ビット分解能とに基づいて、前記基準値の表現として前記基準符号語を決定するように構成されていることを特徴とする、請求項20乃至25の何れか1項に記載のブロック圧縮器。
【請求項27】
前記基準量子化器は、前記それぞれのベクトル成分のうち前記少なくとも一部と、前記基準符号語に対して規定された前記ビット分解能とに基づいて、前記間隔の開始点、前記間隔の中間点及び前記間隔の終了点のうちの少なくとも1つとして前記基準符号語を決定するように構成されていることを特徴とする、請求項20乃至26の何れか1項に記載のブロック圧縮器。
【請求項28】
前記インデックス量子化器は、前記複数の成分値から選択された1つの成分値を前記複数の画像要素の画像要素毎に示す前記インデックスシーケンスを、前記分解能定義器により当該インデックスシーケンスに対して規定された前記ビット分解能に基づいて、決定するように構成されていることを特徴とする、請求項20乃至27の何れか1項に記載のブロック圧縮器。
【請求項29】
前記インデックス量子化器は、前記複数の成分値から選択された1つの成分値を表す成分インデックスを、前記複数の画像要素の画像要素毎に提供するように構成されていることを特徴とする、請求項20乃至28の何れか1項に記載のブロック圧縮器。
【請求項30】
前記インデックス量子化器は、
前記複数の成分値のうち前記画像要素の前記ベクトル成分を最適に表す成分値を、前記複数の画像要素の画像要素毎に選択するように構成された値選択器と、
ルックアップテーブルの複数の画像要素の集合に対する合成成分インデックスを、前記値選択器により選択された前記集合の前記画像要素に対する前記成分値に基づいて識別するように構成されたインデックス識別器と、
を備えることを特徴とする、請求項20乃至29の何れか1項に記載のブロック圧縮器。
【請求項31】
複数の画像要素を備える画像ブロックの圧縮表現であって、当該圧縮表現が基準符号語、間隔符号語及びインデックスシーケンスを含むような圧縮表現、を処理するブロック伸張器であって、
i)前記圧縮表現の少なくとも一部のビットパターンに基づいて、前記圧縮表現の前記基準符号語及び前記間隔符号語のうち一方を識別するように構成された符号語識別器であって、ii)前記圧縮表現において前記符号語識別器により識別された前記基準符号語及び前記間隔符号語のうち前記一方に基づいて、前記圧縮表現の前記基準符号語及び前記間隔符号語のうち他方を識別するように構成された、符号語識別器と、
前記基準符号語に基づいて基準値を決定するように構成された基準値生成器と、
前記基準値生成器により決定された前記基準値、及び前記間隔符号語に基づいて、複数の成分値を決定するように構成された成分値生成器と、
前記画像ブロックの少なくとも1つの画像要素に対して、前記インデックスシーケンスに基づいて、前記複数の成分値から1つの成分値を選択するように構成された値選択器と
を備えることを特徴とするブロック伸張器。
【請求項32】
前記符号語識別器は、前記圧縮表現において前記符号語識別器により識別された前記基準符号語及び前記間隔符号語のうち前記一方の決定されたビット長に基づいて、前記圧縮表現の前記基準符号語及び前記間隔符号語のうち他方を識別するように構成されていることを特徴とする請求項31に記載のブロック伸張器。
【請求項33】
前記符号語識別器は、
事前定義済みビットパターンに達するまで、前記圧縮表現を解析するように構成されたビット解析器と、
i)前記圧縮表現の前記解析部分に基づいて前記基準符号語及び前記間隔符号語のうち前記一方を規定し、ii)ビット長が固定の前記基準符号語及び前記間隔符号語のうち前記他方として前記圧縮表現の後続する部分を規定するように構成された符号語定義器と
を備えることを特徴とする、請求項31又は32記載にのブロック伸張器。
【請求項34】
前記成分値生成器は、
前記間隔符号語に基づいて間隔長を決定するように構成された間隔生成器と、
前記間隔生成器により決定された前記間隔長及び前記基準値生成器により決定された前記基準値に基づいて、前記複数の成分値を計算するように構成された値計算器と
を備えることを特徴とする、請求項31乃至33の何れか1項に記載のブロック伸張器。

【図1】
image rotate

【図2】
image rotate

【図3A】
image rotate

【図3B】
image rotate

【図3C】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12A】
image rotate

【図12B】
image rotate

【図12C】
image rotate

【図12D】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate


【公表番号】特表2009−534914(P2009−534914A)
【公表日】平成21年9月24日(2009.9.24)
【国際特許分類】
【出願番号】特願2009−506440(P2009−506440)
【出願日】平成19年3月23日(2007.3.23)
【国際出願番号】PCT/SE2007/000291
【国際公開番号】WO2007/123452
【国際公開日】平成19年11月1日(2007.11.1)
【出願人】(598036300)テレフオンアクチーボラゲット エル エム エリクソン(パブル) (2,266)
【Fターム(参考)】