"グラフィクスプロセッサを使用して、残差値を符号化するのに使用されるビット数を深さデータに応じて変化させることによって、前記深さデータを圧縮するステップを含む、方法。デルタ値を有効にする使用されるビット数を変化させるステップを含む、請求項1に記載の方法。アンカポイント符号化を使用するステップを含む、請求項1に記載の方法。Xベクトル及びYベクトルに使用するビット数を選択するステップと、深さごとに残差ビット数を割り当てるステップとを含む、請求項2に記載の方法。Xベクトル、Yベクトル及び深さごとの残差ビットのビット数それぞれの選択を可能にするステップを含む、請求項4に記載の方法。複数の選択可能なモードを提供するステップを含み、各モードは、Xベクトル、Yベクトル及び深さごとの残差ビットに対する特定のビット数を指定する、請求項2に記載の方法。アンカポイントについて、デルタベクトルを表すのに必要な最少の数のビットを計算するステップを含む、請求項6に記載の方法。前記デルタベクトルについて前記必要な数のビットを提供する最大数の残差ビットを伴うモードを選択するステップを含む、請求項7に記載の方法。所与のアンカポイントについてどのくらい多くの残差ビットが必要とされるかのインジケータを格納するステップを含む、請求項8に記載の方法。前記残差値のビット数が対応して増加し得る場合にのみ、X値又はY値のビット数を低減するステップを含む、請求項2に記載の方法。プロセッサによって実行されると、深さデータに応じて、残差値を符号化するのに使用されるビット数を変化させることによって、前記深さデータを圧縮する命令を記憶している、非一時的なコンピュータ読取可能媒体。デルタ値を有効にするのに使用されるビット数を変化させる命令を更に記憶している、請求項11に記載の媒体。アンカポイント符号化を使用する命令を更に記憶している、請求項11に記載の媒体。Xベクトル及びYベクトルのビット数を選択し、深さごとの残差ビット数を割り当てる命令を更に記憶している、請求項12に記載の媒体。Xベクトル、Yベクトル及び深さごとの残差ビットに対するビット数それぞれの選択を可能にする命令を更に記憶している、請求項14に記載の媒体。複数の選択可能モードを提供する命令を更に備え、各モードは、Xベクトル、Yベクトル及び深さごとの残差ビットに対する特定のビット数を指定する、請求項12に記載の媒体。アンカポイントについて、デルタベクトルを表すのに必要な最少の数のビットを計算する命令を更に含む、請求項16に記載の媒体。前記デルタベクトルについて前記必要な数のビットを提供する最大数の残差ビットを伴うモードを選択する命令を更に含む、請求項17に記載の媒体。所与のアンカポイントについてどのくらい多くの残差ビットが必要とされるかのインジケータを格納する命令を更に含む、請求項18に記載の媒体。前記残差値のビット数が対応して増加し得る場合にのみ、X値又はY値のビット数を低減する命令を更に含む、請求項12に記載の媒体。深さデータに応じて、残差値を符号化するのに使用されるビット数を変化させることによって、前記深さデータを圧縮するプロセッサと、前記プロセッサに結合されるストレージとを備える、装置。前記プロセッサは、デルタ値を有効にする使用されるビット数を変化させる、請求項21に記載の装置。前記プロセッサは、アンカポイント符号化を使用する、請求項21に記載の装置。前記プロセッサは、Xベクトル及びYベクトルに使用するビット数を選択し、深さごとに残差ビット数を割り当てる、請求項22に記載の装置。前記プロセッサは、Xベクトル、Yベクトル及び深さごとの残差ビットのビット数それぞれの選択を可能にする、請求項24に記載の装置。前記プロセッサは、複数の選択可能なモードを提供し、各モードは、Xベクトル、Yベクトル及び深さごとの残差ビットに対する特定のビット数を指定する、請求項22に記載の装置。前記プロセッサは、アンカポイントについて、デルタベクトルを表すのに必要な最少の数のビットを計算する、請求項26に記載の装置。前記プロセッサは、前記デルタベクトルについて前記必要な数のビットを提供する最大数の残差ビットを伴うモードを選択する、請求項27に記載の装置。前記プロセッサは、所与のアンカポイントについてどのくらい多くの残差ビットが必要とされるかのインジケータを格納する、請求項28に記載の装置。前記プロセッサは、前記残差値のビット数が対応して増加し得る場合にのみ、X値又はY値のビット数を低減する、請求項22に記載の装置。しかしながら、モーションブラーを生じるとき、深さ情報の圧縮を試みることはかなり複雑な操作である。グラフィクスプロセッサは、増加したメモリ帯域幅の使用による電力消費の増加に非常に敏感になる傾向がある。また、メモリ帯域幅はそれ自体では、最近のグラフィクスプロセッサにおいて希少なリソースである。現在、モーションブラーの確率的ラスタ化及びフィールドの深さを取得し、対話的な又はリアルタイムのレンダリンベースでこの情報を取得することがより重要視されている。これはかなりのメモリ帯域幅の使用を要し、このことは電力消費の増加に関与する。一部の実施形態は、図面に関連して説明される。一部の実施形態によると、深さ圧縮に割り当てられるビット数を、考慮事項considerationの数に基づいて可変に変更することができる。したがって、深さデータをより効率的な方法で圧縮することができる。深さバッファ圧縮は、メモリ帯域幅の使用を低減する1つの技法である。典型的に、タイル内の任意の基本要素の深さzは、典型的には三角形である、その基本要素上で線形である。これは、安価な圧縮及び圧縮解除アルゴリズムを構築するのに用いられることがある。平面符号化は、この線型的関係を利用することを試みる。ラスタライザは、正確な平面方程式をコンプレッサに供給し、従って残余項は必要とされない。しかしながら、モーションブラーを生じるとき、線形関数に従って各頂点が動く可能性がある。サンプルにおける深さ関数は、有理三次関数である。この関数は、概して、簡単な予測関数を使用してタイル全体にわたって深さを予測するのを難しくする。その結果、標準的な深さバッファ圧縮技術、特に正確な平面方程式を利用するものは、そのような雑音の多いバッファを圧縮できない可能性がある。タイルと呼ばれるピクセルのブロックは、独立に処理され得る。現在の深さ圧縮スキーマは、モーションブラー及びフィールドの深さに明示的には対処しておらず、したがって、これらのスキーマは時間コンポーネント及びレンズパラメータを有していない。一般に、深さ圧縮アルゴリズムは、3つの共通のステップを使用する。これらの3つの共通のステップは、クラスタ化と、予測関数生成と、残差符号化residualencodingと呼ばれることがある。クラスタ化は、タイル内のサンプルのセットが異なるレイヤ、例えば背面レイヤと前面レイヤとに属するときに使用される。この場合、同じ予測関数を使用してタイル内の全て深さを圧縮するのは困難である。クラスタ化ステップは、タイルのサンプルを2つ又はそれ以上のレイヤに分けることを試みる。この場合、各レイヤ内のサンプルは典型的に、共通の平面内にあること等の何らかの特性を共有する。サンプルを2つ又は複数のレイヤに分割する目標は、理想的には、全てのサンプルを単一のレイヤ内に圧縮することに比べて圧縮がより簡単になることである。予測関数生成では、各レイヤが、そのレイヤ自身の予測関数を生成する。目標は、深さサンプル及び可能であればそのサンプルの固定座標を使用して、安価な関数を用いて各サンプルの深さを予測する予測関数を作成することである。例えばピクセルごとに小さな変位を有する長方形がタイルにレンダリングされていると想定する。これはおそらく変位した深さが存在することになる場所について良好な推測であるので、予測関数として、その長方形の平面を使用してもよい。その推測が完全ではないとしても、不完全性を次のステップにおいて対処することができる。グラフィクスプロセッサの共通の要件は、深さバッファが非損失的であることなので、残差符号化は、タイルの圧縮解除の間により正確な深さを再構築するのを可能にする。残差は、予測関数と実際のサンプルの深さとの間の差である。良好な予測関数が与えられると、サンプルの深さとこの予測関数との残差は小さい。結果として、これらの残差を、比較的少ないビットを使用して符号化することができる。そしてレイヤの数が少ない場合良好な圧縮比を達成することができ、予測関数に必要なストレージは小さい。一部の実施形態において、深さバッファ圧縮は、アンカ符号化を使用することがあるが、平面符号化を含め、他の技法が使用されることもある。平面データデリバティブ又はデルタベクトルに基づく平面方程式及び平面符号化の構築は、実際のデリバティブが、これらのデリバティブを格納するために割り当てられたビット量に比べて非常に大きいという意味で、極端な平面extremeplaneに対処することができない。したがって、実際の平面表現の正確性は低下する可能性がある。この正確性の低下は、タイル内のデルタベクトルが評価されたポイントからの距離とともに増す。他方、デルタベクトルに多過ぎるビットをネイティブに割り当てることにより、深さ値の残差を格納するのに利用可能なビットの数が低減する。したがって、一部の実施形態において、利用可能なビットをデルタベクトルに静的に割り当てる影響は、深さデータの性質に応じてビットの動的な割り当てを可能にすることによって低減され得る。ラスタ化されたジオメトリに応じて、タイルは、多数の基本要素のうちのターゲットとすることができ、その結果、時間とともに深さ値の複雑な分散がもたらされる。1つ又は複数の平面方程式をこれらの深さ値の基本予測として使用して、残差値を、圧縮された深さデータフォーマットで符号化する。予測平面の性質の結果として、予測される深さ値は、より正しいことも、あまり正しくないこともあり、その結果、残差値の訂正ビットに対する必要性が変化することとなる。現在の深さ圧縮機構は、全てのタイル位置に対して等しい数の残差ビットを静的に割り当てるが、実際の深さ値とあまり一致しない可能性がある。一部の実施形態において、利用可能なビットを、残差訂正ビットに静的に割り当てる影響は、この静的な割り当ての代わりに、個々のタイル位置に対して残差ビットの数を動的に割り当てることを可能にすることによって低減される。アンカ符号化の実施形態において、深さデータの圧縮機構は、タイル内の1つ又は複数のポイントを候補アンカポイントとして選ぶことによって、ラスタ化された基本要素の平面表現を検出する。アンカポイントの評価は、深さデータ値に基づく、ローカルの平面的なX及びYデリバティブの計算を含む。予測平面表現zpx,y=abxcyは、圧縮された深さデータにおいて3つの値:a,b及びcとして符号化される。ここで、aはアンカポイントにおける深さ値であり、bはdZ/dXであり、cはdZ/dYである。値b及び値cは、デルタ値、すなわちベクトルである。タイル内の各深さzx,yについて、残差深さ値が、予測した深さ値と実際の深さ値との差として格納される。値dは残差値である。デルタ値及び残差値に割り当てるビット数を選択することによって、タイルの深さデータに対する合計ビット量を、深さ値の正確性を損なうことなく低減することができる。一部の実施形態において、深さデータの最終的な圧縮netcompressionが達成され得る。デルタモードの概念を紹介する。デルタモードは、X,Y及びRの特定の組み合わせを指定する。ここで、Xは、デルタXベクトルのビット数であり、YはデルタYベクトルのビット数であり、Rは深さごとの残差ビットの数である。圧縮において、これらのモードは、タイル内の各アンカポイントの選択に利用可能である。ある変形において、各アンカポイントが、該アンカポイント自身の利用可能なモードのセットを有していることがあり、これらのモードは、圧縮の間に動的に作成されるか、圧縮の結果によって動的にガイドされる。別の変形では、符号化を簡潔にするために、両方向XとYに同じビット数を使用することができる。以下では、圧縮を開始する前に、静的に作成されて格納されるモードテーブルを検討する。デルタモードの例示的なセットである表1を参照されたい。この例では、B=512、B=4、M=3、A=32、T=32とする。圧縮についてタイルの次元とビット量が与えられるとき、デルタ値と残差値に利用可能なビット数の間にトレードオフが存在する。必ずしもX、Y及びRの全ての組み合わせが関連するわけでない。Rが少なくとも1ビット増加した場合に、X及び/又はYが低減することにのみ意味がある。これは、利用可能なモードの数を制限する。以下の条件式は、タイルの圧縮を可能にするために満たす必要がある条件である。Tlog2NNMAXYT-N3R<Bここで、B=圧縮を可能にする合計ビット量N=アンカポイントの数M=アンカポイントについて使用されるモードを表すlog2モード数ビットA=アンカポイントの深さ値に使用されるビット数X=Xデルタに使用されるビット数Y=Yデルタに使用されるビット数T=タイル内の深さの合計数R=残差深さ値に使用されるビット数項Tlog2Nは、深さがどの平面方程式を使用しているかを示すために、タイル内の深さごとにlog2Nビットを有する。項T-N3は、アンカポイントの深さ並びに一次デリバティブdZ/dX及びdZ/dYが正確であること、すなわち、これらが残差ビットのストレージを要しないことを暗示する。別の実施形態では、アンカポイントも一次デリバティブも正確でなく、これは、これらの深さに残差ヒットが必要であり、そして上記不等式の最後の項をT-N3の代わりにTにする必要がある。アンカポイントは正確であるが、デリバティブは正確でない場合、最後の項は代わりにT-Nになる。上記の例では、アンカ値並びにデリバティブは正確に、多くの場合妥当な想定である正しい深さ値に到達する。一実施形態によると、各アンカポイントについてモードを選択するためのアルゴリズムは、次の通りである。2Mの行を有するテーブルを構築する。各方向X及びYについて、割り当てられた複数のデルタビットを格納する。例えば表1を参照されたい。次いで、N個のアンカポイントの位置が与えられる。N=1,2,3,...,T通常は1と4の間である。次に、各アンカポイントについて、デルタベクトルを表す必要な最小ビット数が計算される。これは、アンカポイントの深さからdZ/sXの右又は左近傍まで、そしてdZ/dYの上又は下近傍までのデルタベクトルを単に計算し、どのくらい多くのデルタビットが必要であるかを最初の及び最上位セットビットを見つけることによって検査することにより行われることがある。最大数の残差ビットを有する対応モードは、このアンカポイントのモードとして選択される。この簡単なスキーマの利点は、より多くのタイルが圧縮され、最終的に、深さについてのグラフィクスプロセッサにおける帯域幅の大いなる消費者であるメモリ帯域幅の利用を低減することが可能になることである。例えば一度に深さごとに数残差ビットしか必要としない、大きなデルタベクトルを有するタイルを圧縮することが可能である。同様に、多くの残差ビットを要する小さなデルタベクトルを伴うタイルも圧縮することができる。不十分な正確性及び/又は精度のために、そして、極端な平面表現又は複雑なタイルデータを簡単にするために、平面予測は、正しい深さ値に調整するために、タイル位置ごとに残差ビットを必要とする。予測における不正確性の多さに応じて、異なる数の残差ビットが、予測と正しい値との間の差を符号化するのに実際に必要とされる。タイル位置ごとに1つのエントリを有し、どれくらい多くの残差ビットがその位置に必要とされるかのインジケータを格納する残差モードマスクの使用を提案する。これは、各位置についてできるだけ少ないビットを使用し、その結果として必要なビットの最小の合計が得られるのを助ける。各位置について使用される残差ビットの可能な数を、適切な値に静的に割り当てることができ、又はタイルデータに基づいて動的に計算することができる。動的に割り当てられる残差モードでは、一実施形態において、アルゴリズムは以下のように機能する。タイルの圧縮の間に、予測の深さを実際の深さと比較して、残差値を計算する。次いで最短モードすなわち、必要とされる差をキャプチャする、最少の数のビットのモードを選択して残差を符号化する。次に、対応するモード値が残差モードマスクに入れられる。最後に残差モードマスクが、符号化されたタイルデータに格納される。この技法を、例を用いて説明する。この例において、残差のビットの合計数は909×24×82×1216である。これは、2ビットを使用するモード00のインスタンスが9つ存在し、他も同様に計算できるためである。全ての残差値の値を格納すると25616×16ビットになる。この例では、各深さ値に対して2ビット値を有する。しかしながら、各2×2深さに対して2ビット値を使用することを選んでもよい使用される2ビット値の数を減らすため。一般に、各W×H深さは、モードを示すのにQビットを使用することができる。静的な割り当てのために、タイルごとに、選択を行うための幾つかのモードを供給することができる。例えばあるモードは、全体的に統一的な方法で残差ビットを深さ全体に広げるモードとすることができる。別のモードは、アンカポイントに近い少ないビットと、アンカポイントから離れた多くのビットとを使用することがあり、深さはタイル内に位置する。アンカ符号化ベースの圧縮技術を用いる実施形態を説明してきたが、動的な残差ビット割り当てを、残差を符号化する任意の圧縮器に使用することもできる。動的なデルタ値ビット割り当ては、他の予測器での使用も可能である。例えば4つの深さ値に加えてそのX,Y位置から作成される双線パッチを予測器として用いる場合、そのパッチを、1つのアンカポイント及び2つのデルタベクトルとして、そし第4のポイントに対する残差値として符号化することができる。この第4のポイントに対する残差値は、最初の3つのポイントからの平面方程式と第4のポイントとの間の差である。これら2つのデルタベクトルに使用したビットの数と、第4のポイント用の残差ビットとを、アンカ符号化について上述した方法と同様の方法で動的に割り当てることができる。同じことが他の予測機能にも容易に当てはまる。図1を参照すると、装置10は、ラスタライザ12及び一連のピクセルパイプライン14a~14nを含み得る。深さテストユニット16a~16nが、各ピクセルパイプラインに対して提供され得る。深さキャッシュ及び選別ユニット18は、深さ値の選別に使用され得る。圧縮がコンプレッサ20において行われ、圧縮解除がデコンポレッサ24において行われ得る。表1に類似のデルタモードテーブル22も提供され得る。最後に、ランダムアクセスメモリ26が圧縮及び圧縮解除エンジン用に提供され得る。図2を参照すると、アンカポイントのためのモード選択シーケンス30が、ハードウェア、ソフトウェア及び/又はファームウェアで実装され得る。ソフトウェア及びファームウェアの実施形態では、このシーケンスは、磁気、光又は半導体メモリのような、非一時的なコンピュータ読取可能媒体に格納されるコンピュータ実行命令によって実装され得る。アンカポイントのためのモード選択は、ブロック32において示されるように、デルタビットについてのテーブルを構築することによって開始される。次いで、ブロック34において、アンカポイントの位置が与えられる。最後に、ブロック36において、アンカポイントごとにそれぞれデルタベクトルを表すビットが計算される。動的な残差値ビット割り当てのためのシーケンス38は、ソフトウェア、ファームウェア及び/又はハードウェアで実装され得る。ソフトウェア及びファームウェアの実施形態では、このシーケンスは、磁気、光又は半導体メモリのような、非一時的なコンピュータ読取可能媒体に格納されるコンピュータ実行命令によって実装され得る。シーケンスは、ブロック40において示されるように、予測される深さを実際の深さと比較することによって開始する。次いでブロック42に示されるように、残差値が計算される。次いで、残差値ビットを符号化する最短モードが選択されるブロック44。モード値を、残差モードマスク内に入れるブロック46。最後に、ブロック48に示されるように、残差モードマスクを、符号化されたタイルデータに格納する。図4に示されるように、コンピュータシステム130は、ハードドライブ134と、バス104によってチップセットコアロジック110に結合される取外し可能媒体136とを含み得る。コンピュータシステムは、スマートフォン、タブレット又はモバイルインターネットデバイスのようなスマートモバイルデバイスを含め、任意のコンピュータシステムとすることができる。キーボード及びマウス120、あるいは他の従来的なコンポーネントを、バス108を介してチップセットコアロジック110に結合してもよい。コアロジックは、バス105を介してグラフィクスプロセッサ112に結合し、一実施形態では、中央プロセッサに結合してもよい。グラフィクスプロセッサ112は、バス106によってフレームバッファ114にも結合され得る。フレームバッファ114は、バス107によってディスプレイ画面118に結合され得る。一実施形態において、グラフィクスプロセッサ112は、単一命令複数データSIMDアーキテクチャを使用するマルチスレッドのマルチコアパラレルプロセッサとすることができる。ソフトウェア実装の場合、適切なコードが、139において示されるようにメインメモリ132又はグラフィクスプロセッサ内の任意の利用可能なメモリを含め、任意の適切な半導体、磁気又は光メモリに格納され得る。したがって、一実施形態において、図2及び図3のシーケンスを実行するコードは、一実施形態において、メモリ132のような非一時的機械又はコンピュータ読取可能媒体130、及び/又はグラフィクスプロセッサ112、及び/又は中央プロセッサ100内に格納され、プロセッサ100及び/又はグラフィクスプロセッサ112によって実行され得る。図2及び図3はフローチャートである。一部の実施形態において、これらのフローチャートに示されるシーケンスは、ハードウェア、ソフトウェア又はファームウェアで実装され得る。ソフトウェアの実施形態では、半導体メモリ、磁気メモリ又は光メモリのような非一時的なコンピュータ読取可能媒体が命令を格納するのに使用され、プロセッサによって実行されて、図2及び図3に示されるシーケンスを実施し得る。本明細書で説明されるグラフィクス処理の技法は、様々なハードウェアアーキテクチャにおいて実装されることがある。例えばグラフィクスの機能性をチップセット内に一体化してもよい。あるいは、別個のグラフィクスプロセッサを使用してもよい。更に別の実施形態として、グラフィクス機能を、マルチコアプロセッサを含め汎用目的のプロセッサによって実装してもよい。本明細書を通じて一実施形態又は実施形態への言及は、実施形態に関連して説明される特定の特徴、構造又は特性が、本発明に包含される少なくとも1つの実装に含まれることを意味する。したがって、一実施形態又は実施形態においてというフレーズの使用は、必ずしも同じ実施形態を示すものではない。さらに、特定の特徴、構造又は特性は、説明された特定の実施形態以外の他の適切な形式でも実施されることもあり、そのような全ての形式は、本願の特許請求の範囲に含まれ得る。本発明は、限られた数の実施形態に関して説明されているが、当業者は、これの実施形態から様々な修正及び変形を理解するであろう。添付の特許請求の範囲は、本発明の精神及び範囲内にある限りにおいて、そのような変更及び変形を網羅するように意図される。"