(57)【要約】      （修正有）【課題】デプスの良好な圧縮方法を提供する。【解決手段】ＺｍｉｎおよびＺｍａｘがデプスオフセット圧縮のために決定される。次に、チェックは、ＺｍｉｎがＺｍａｘに等しいか否かを判断する。そうである場合、ＺｍｉｎおよびＺｍａｘのうちの１つのみがデプスオフセット圧縮に用いられ、インデックスマスクは用いられ得ない。それにより保存された複数のビットは、精度を改善することを含む他の複数の目的に用いられ得る。【選択図】図３
2019057320.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェアプロセッサを用いて、デプスオフセット圧縮のためにＺｍｉｎ、Ｚｍａｘ、複数の残差、およびＺｍｉｎ／Ｚｍａｘインデックス選択マスクを決定する段階と、
圧縮を改善するべくデプスオフセット圧縮に対して未使用の複数のビットの組み合わせを用いる段階とを備える、方法。
【請求項２】
ＺｍｉｎおよびＺｍａｘの複数の範囲が重複することから生じる複数の冗長なビットの組み合わせを識別して、再利用する段階を備える、請求項１に記載の方法。
【請求項３】
前記Ｚｍｉｎおよび前記Ｚｍａｘのペアが冗長な組み合わせを構成するか、またはデプスオフセット圧縮に対する無効な基準値のペアであるか否かを判断する段階と、
そうである場合に、残りの回収された複数のビットと共に、異なるデプスオフセット圧縮スキームまたは異なる圧縮アルゴリズムを用いる段階とを備える、請求項１に記載の方法。
【請求項４】
別の場合にインデックスマスクのために割り当てられた複数のビットを再利用して、１サンプル毎に１ビットを用いて複数の残差を拡張する段階を備える、請求項３に記載の方法。
【請求項５】
ＺｍｉｎがＺｍａｘよりも大きいか否かを判断する段階と、
そうである場合に、追加のビットに対するＺｍｉｎおよびＺｍａｘをスワップして、ＺｍｉｎまたはＺｍａｘの精度を改善する段階を備える、請求項１に記載の方法。
【請求項６】
ＺｍｉｎがＺｍａｘよりも大きい場合、次のＷｘＨビットをクリアマスクとして用いて、ピクセルがクリアされたか否かを示す段階を備え、
Ｗは、タイルの幅であり、Ｈは、タイルの高さである、請求項１に記載の方法。
【請求項７】
クリアされていないデプスがいくつ存在するかに応じて、複数のデプスを非圧縮形式で格納する段階を備える、請求項６に記載の方法。
【請求項８】
インデックスマスクが全て１または０であるか否かを検出する段階と、
そうである場合に、ＺｍｉｎまたはＺｍａｘの複数の未使用ビットを用いて、実際に用いられた基準値の精度を改善し、または前記複数の残差間で複数の追加のビットを再分散する段階とを備える、請求項１に記載の方法。
【請求項９】
１タイル毎に２より多いデプス値を決定する段階を備える、請求項１に記載の方法。
【請求項１０】
タイルを複数のサブタイルに分割する段階と、
１または複数の基準デプス値を前記複数のサブタイルの各々に割り当てる段階とを備え、
実際の複数の前記デプス値に対する複数の残差は、前記１または複数の基準デプス値から算出されて格納される、請求項９に記載の方法。
【請求項１１】
色データに同一の技術を用いる段階を備える、請求項１に記載の方法。
【請求項１２】
ハードウェアプロセッサを用いて、デプスオフセット圧縮のためにＺｍｉｎおよびＺｍａｘを決定することと、
デプスオフセット圧縮に未使用のＺｍｉｎおよびＺｍａｘのうちの少なくとも１つに関して１デプス毎の複数の残差ビットを決定することと、
デプスオフセット圧縮に未使用の複数のビットを用いて圧縮を改善することとを含むシーケンスを実行するプロセッサにより実行される、複数の命令を格納する１または複数の非一時的コンピュータ可読媒体。
【請求項１３】
前記シーケンスは、ＺｍｉｎおよびＺｍａｘの複数の範囲が重複することから生じる複数の冗長なビットの組み合わせを識別して用いることを含む、請求項１２に記載の媒体。
【請求項１４】
前記シーケンスは、
ＺｍｉｎがＺｍａｘに等しいか否かを判断することと、
そうである場合に、残りの複数のビットと共に、異なるデプスオフセット圧縮スキームまたは異なる圧縮アルゴリズムを用いることとを含む、請求項１２に記載の媒体。
【請求項１５】
前記シーケンスは、別の場合にインデックスマスクのために割り当てられた複数のビットを再利用して、１サンプル毎に１ビットを用いて複数の残差を拡張することを含む、請求項１４に記載の媒体。
【請求項１６】
前記シーケンスは、
ＺｍｉｎがＺｍａｘよりも大きいか否かを判断することと、
そうである場合に、追加のビットに対するＺｍｉｎおよびＺｍａｘをスワップして、ＺｍｉｎおよびＺｍａｘの精度を改善することとを含む、請求項１２に記載の媒体。
【請求項１７】
前記シーケンスは、
ＺｍｉｎがＺｍａｘよりも大きい場合、次のＷｘＨビットをクリアマスクとして用いて、ピクセルがクリアされたか否かを示すことを含み、
Ｗは、タイルの幅であり、Ｈは、タイルの高さである、請求項１２に記載の媒体。
【請求項１８】
前記シーケンスは、クリアされていないデプスがいくつ存在するかに応じて、複数のデプスを非圧縮形式で格納することを含む、請求項１７に記載の媒体。
【請求項１９】
前記シーケンスは、
インデックスマスクが全て１または０であるか否かを検出することと、
そうである場合に、ＺｍｉｎまたはＺｍａｘの複数の未使用ビットを用いて、実際に用いられた基準値の精度を改善し、または前記複数の残差間で複数の追加のビットを再分散することとを含む、請求項１２に記載の媒体。
【請求項２０】
前記シーケンスは、１タイル毎に２より多いデプス値を決定することを含む、請求項１２に記載の媒体。
【請求項２１】
前記シーケンスは、
タイルを複数のサブタイルに分割することと、
複数のデプス値を前記複数のサブタイルに割り当てることと、
少なくとも１つのサブタイルのデプス値を前記タイルのデプス値として選択することとを含む、請求項２０に記載の媒体。
【請求項２２】
色データに同一の技術を用いることを含む、請求項１２に記載の媒体。
【請求項２３】
ハードウェアプロセッサを用いて、デプスオフセット圧縮のためにＺｍｉｎおよびＺｍａｘを決定し、デプスオフセット圧縮に未使用のＺｍｉｎおよびＺｍａｘのうちの少なくとも１つに関して１デプス毎の複数の残差ビットを決定し、デプスオフセット圧縮に未使用の複数のビットを用いて圧縮を改善するプロセッサと、
前記プロセッサに結合されたストレージとを備える、装置。
【請求項２４】
前記プロセッサは、ＺｍｉｎおよびＺｍａｘの複数の範囲が重複することから生じる複数の冗長なビットの組み合わせを識別して用いる、請求項２３に記載の装置。
【請求項２５】
前記プロセッサは、
ＺｍｉｎがＺｍａｘに等しいか否かを判断し、
そうである場合に、残りの複数のビットと共に、異なるデプスオフセット圧縮スキームまたは異なる圧縮アルゴリズムを用いる、請求項２３に記載の装置。
【発明の詳細な説明】
【背景技術】
【０００１】
圧縮の方法は、グラフィックスハードウェアアーキテクチャにとりますます重要になってきている。圧縮の方法は、用いられる電力を低減し、性能を向上させ得るからである。デプスの圧縮は、様々な態様で行われ得る。
【０００２】
デプスオフセット（ＤＯ）圧縮は、デプスを圧縮する極めて簡易な方法である。タイルは、デプスの矩形の領域であり、一度に圧縮される。ＺｍｉｎおよびＺｍａｘとして示される最小および最大のデプスがタイルにおいて見られる。各デプス値に対して１ビットが格納され、これは、ＺｍｉｎまたはＺｍａｘに対してデプスがエンコードされることを示す。次に、各デプスに対して、ＺｍｉｎまたはＺｍａｘに対する残差が格納される。
【０００３】
全ての圧縮された残差が十分に小さく、従ってタイルに対する所望のビットバジェット内に適合する場合、圧縮は成功したことになる。そうでなければ、データは、非圧縮形式で格納され、またはいくつかの他の方法を用いて圧縮され得る。
【０００４】
より良好な圧縮が常に所望される。電力消費を低減し得、および／または性能を向上させ得るからである。帯域幅は、タイルの大きな割合が圧縮され得る場合、および／または少数のタイルが高い圧縮比で圧縮され得る場合に著しく低減され得る。
【図面の簡単な説明】
【０００５】
いくつかの実施形態は、以下の図面に関して説明される。
【図１】一実施形態による圧縮デプスアーキテクチャを示す。
【図２】一実施形態のフロー図である。
【図３】一実施形態のフロー図である。
【図４】一実施形態のフロー図である。
【図５】一実施形態のフロー図である。
【図６】一実施形態によるシステムの図示である。
【図７】一実施形態の前方立面図である。
【発明を実施するための形態】
【０００６】
より良好な圧縮を実現するべく、ＤＯ圧縮スキームにおいて存在する意味のない複数の組み合わせが活用され得る。ＺｍｉｎおよびＺｍａｘは、複数の基準点を記載し、これらの基準点から正および（黙示的には）負の残差が各々エンコードされる。複数のｂビットは、ＺｍｉｎおよびＺｍａｘの各々ならびにデプス毎のｋの残差ビットに用いられると仮定する。このレイアウトについては、ＺｍｉｎおよびＺｍａｘの範囲が重複する場合があるので、同一のデプス値を表す複数の冗長なやり方がある。更に、Ｚｍｉｎは、常にＺｍａｘよりも小さくなければならない。一般に、Ｚｍｉｎ＋２ｋ＞Ｚｍａｘ−２ｋである限り、同一のデプスは、ＺｍｉｎおよびＺｍａｘの両方に対してエンコードされ得る。
【０００７】
従って、ＺｍｉｎおよびＺｍａｘの有効な組み合わせの数は（２ｂ−２ｋ−１）２／２になるが、通常、ＤＯにおいて見られる見組み合わせの割り当てられた数は、２ｂとなる。これは、複数の組み合わせのうちの少なくとも半分が未使用であることを意味する。
【０００８】
例として、少数の異なるｂおよびｋの値に対する２４ビットのデプスバッファについての複数の冗長な組み合わせの割合は、以下の通りである。
【表１】
2019057320.tif 000003
【０００９】
上記の冗長性は、圧縮を改善するように用いられ得る。例えば、各々２４ビットを用いて、ＺｍｉｎおよびＺｍａｘが格納され、タイル全体が５１２ビットまで圧縮されるべきであると仮定する。ＺｍｉｎがＺｍａｘに等しい場合、当該等しさは、残りの５１２−２４=４８８ビットを異なるやり方で変換する信号として用いられ得る。２４ビットはＺｍｉｎ＝Ｚｍａｘから再び収集されるので、２４のみが減算され、Ｚｍｉｎ値がＺｍａｘ値に等しい限り、いずれの値にも設定され得る。
【００１０】
これは単なる例であることに留意されたい。すでに説明されたように、Ｚｍｉｎ＞＝Ｚｍａｘが満たされ得る全ての組み合わせ、およびＺｍｉｎの範囲およびＺｍａｘの範囲が重なり合い得る全ての冗長な組み合わせを考慮することにより、更により多くのビットが回収され得る。
【００１１】
一実施形態は、別の場合であれば、残差がＺｍｉｎに対するものか、またはＺｍａｘに対するものかを指標付けするべく用いられる１サンプル毎の追加のビットにより複数の残差を単に拡張する。
【００１２】
別の実施形態は、代替的な圧縮アルゴリズムに回収されたビットを全て使用する。これらのビットは、例えば、１ピクセル毎の残差を用いて平面方程式をエンコードするべく用いられ得る。
【００１３】
インデックスマスクを考慮することにより、更により不必要な組み合わせが見出され得る。インデックスマスクは、ＺｍｉｎまたはＺｍａｘのいずれかを当該サンプルの基準点として選択するべく、１サンプル毎に１ビットを含む。インデックスの全てが０であるか、またはインデックスの全てが１である場合、Ｚｍｉｎ値またはＺｍａｘ値は、圧縮／解凍において用いられず、従って冗長である。これは、ＺｍｉｎまたはＺｍａｘのいずれかに割り当てられた複数のビットが他の複数の目的にも用いられ得ることを意味する。上記の冗長なＺｍｉｎ／Ｚｍａｘの組み合わせが用いられる場合、インデックスマスクの動作は変更され得、従って更なる組み合わせは得られない。しかし、有効なＺｍｉｎ／Ｚｍａｘの組み合わせの全てに対して、インデックスマスクの冗長性が用いられ得る。
【００１４】
一実施形態において、このことは、インデックスマスク内の全てにおいて０が存在するか、または全てにおいて１が存在するかを検出することによって１つのインターバルのみを有するときに表現可能な範囲を改善するべく用いられ、次にＺｍｉｎまたはＺｍａｘのいずれかの複数の未使用ビットを利用して複数の残差値の精度を改善する。
【００１５】
ＺｍｉｎおよびＺｍａｘからの情報も、ＤＯのバリアントを生成するべく利用され得る。例として、ＺｍｉｎおよびＺｍａｘの値が通常通りに格納されると仮定する。６個の新しいＺ値がＺｍｉｎとＺｍａｘとの間の補間により一様に生成されると仮定する。ＺｍｉｎおよびＺｍａｘと合わせて、選択のための８個の値が存在する。次に、各２×２のサブタイルは、複数のＺ値のこのパレットへ指し示す標準的なＺｍｉｎ値を識別するべく３ビットを格納し、標準的なＺｍａｘ値を指し示すべく別の３ビットを格納する。次に、複数の残差は、１つの２×２のサブタイル毎にこれらの新しいＺｍｉｎおよびＺｍａｘの値に対して計算される。これは、（合計がちょうど２ｎになる限り）任意のタイル／サブタイルのサイズ、およびＺｍｉｎとＺｍａｘとの間の任意の数の補間されたデプスに対して一般化され得る。
【００１６】
また、複数の冗長な組み合わせを用いてＺｍｉｎまたはＺｍａｘに対する別のビットに相当するだけの精度を得ることも可能である。例えば、Ｚｍｉｎが１６ビットの精度を有し、ターゲットデプスが２４であると仮定する。Ｚｍｉｎ＞Ｚｍａｘである場合、これらをスワップし、また、Ｚｍｉｎの１７番目のビットを１に設定する。そうでなければ、Ｚｍｉｎ＜Ｚｍａｘである場合、Ｚｍｉｎの１７番目のビットを０に設定する。このように、追加のビットがＺｍｉｎ（または所望である場合、Ｚｍａｘ）の精度を向上させる。
【００１７】
ＺｍｉｎをＺｍａｘと比較することから追加のビットを活用するなおも別の態様は、以下の通りである。Ｚｍｉｎ＞Ｚｍａｘである場合、ピクセルがクリアされたか否かを示す次のＷ×Ｈビットがクリアマスクであると仮定する。Ｗはタイルの幅であり、Ｈはタイルの高さである。クリアされていないデプスがほとんど存在しない場合、これらは非圧縮形式で格納され得、それ以外の場合には、複数の残差は、上記のように、しかしクリアされていない複数のピクセルのみについて格納される。
【００１８】
上記の検討は、デプスに関するものであったが、同一のアプローチは、色のオフセット圧縮にも適用される。
【００１９】
要約するならば、上記の複数の技術は、いくつかの異なるやり方で元のデプスオフセット（ＤＯ）の方法を改善し、タイルを圧縮するときにＤＯが成功する機会を増大させる。これは同様に、電力消費の低減および／または性能の向上をもたらし得る。
【００２０】
図１を参照すると、複数のピクセルパイプライン１０は、ラスタライザー１１から複数のピクセルを受信する。ラスタライザーは、現在レンダリングされている三角形の内側にどのピクセルがあるかを識別する。ラスタライザーは、ｎ×ｍのピクセルのタイル上で一度に動作し得る。ラスタライザーが三角形と部分的に重複するタイルを見つけた場合、ラスタライザーは、いくつかのピクセルパイプライン１０にわたって当該タイルにおける複数のピクセルを分散させる。各ピクセルパイプラインは、ピクセルのデプスおよび色を計算する。
【００２１】
複数のピクセルパイプライン１０は、複数のデプス値をデプス比較ユニット１２に供給する。デプス比較ユニットは、デプスキャッシュ１４に書き込み、キャッシュから読み取る。追い出し時に、デプスキャッシュは、圧縮されると、メモリ階層１８の次のレベルにおける圧縮および最終的格納のために、コンプレッサ１６にデプスデータを送信する。次に、当該階層における情報は、デプス比較ユニット１２により読み取られ得るようにデコンプレッサ１９において解凍され、デプスキャッシュ１４に供給され得る。デプスキャッシュ１４は、６個のタイルを保持するものとして示されているが、他のサイズのデプスキャッシュが用いられてもよい。
【００２２】
図２、３、４、および５を参照すると、そこに記載される複数のシーケンスは、ソフトウェア、ファームウェア、および／またはハードウェアに実装され得る。ソフトウェアおよびファームウェアの複数の実施形態において、これらのシーケンスは、磁気、光、または半導体ストレージ等、１または複数の非一時的コンピュータ可読媒体に格納される複数のコンピュータ実行命令により実装され得る。一実施形態において、図１に示されるコンプレッサは、プロセッサベースであってもよく、ストレージは、コンプレッサに関連付けられていてもよい。
【００２３】
図２のシーケンス２０は、ダイアモンド２２に示されるように、ＺｍａｘがＺｍｉｎに等しいか否かを判断することにより開始する。そうである場合、ブロック２４に示されるように、ＺｍｉｎおよびＺｍａｘのうちの１つのみが、インデックスマスクなしで用いられる。
【００２４】
次に、複数の残差は、ブロック２６に示されるように、１サンプル毎に１ビットにより拡張され得る。
【００２５】
図３を参照すると、シーケンス３１は、図２の段階２２および２４も用い得る。ブロック３０に示されるように、Ｚｍｉｎの複数のビットと、全ての残りのビットを異なる圧縮アルゴリズムに用いる。
【００２６】
図４に表される別の場合において、ダイアモンド４０に示されるように、複数のインデックスマスクビットの全てが１または０のいずれかであるか否かが判断され得る。そうである場合、ブロック４２に示されるように、ＺｍｉｎまたはＺｍａｘの複数の未使用ビットを用いて、実際に用いられるＺｍｉｎまたはＺｍａｘの精度を改善し得る。
【００２７】
図５に示されるシーケンス５０を参照すると、ブロック５２に示されるように、ＺｍｉｎおよびＺｍａｘの値が最初に格納される。次に、ＺｍｉｎとＺｍａｘ値との間で新しい複数のＺ値が補間され得る（ブロック５４）。例えば、６個の新しいＺ値がＺｍｉｎとＺｍａｘとの間の補間により一様に生成されてもよく、そうするとＺｍｉｎおよびＺｍａｘと合わせて、選択するための８個の値が存在する。一実施形態において、タイルは次に、２×２のサブタイルに分割され得る。いずれの場合にも、ブロック５６に示されるように、タイルは、所望のサイズの複数のサブタイルに分割される。補間された複数のデプス値の中から選択することにより、各サブタイルに対するローカルのＺｍｉｎおよびＺｍａｘの値を割り当てる。追加の複数のビットは、標準的なＺｍａｘ値を指し示す。例えば、タイルが２×２のサブタイルに分割される場合、各サブタイルは、複数のＺ値のパレットへ指し示す３つのビットを格納して、標準的Ｚｍｉｎ値を識別し、別の３つのビットは、標準的なＺｍａｘ値を指し示す。次に、複数の残差は、１サブタイル毎にこれらの新しいＺｍｉｎおよびＺｍａｘの値に対して計算される。ブロック６０に示されるように、補間された複数のデプス値の中から選択することにより、各サブタイルに対するローカルのＺｍｉｎおよびＺｍａｘの値を割り当てる。次に、ブロック６４に示されるように、１サブタイル毎に新しいＺｍｉｎおよびＺｍａｘの値に対して複数の残差が計算される。勿論、合計がちょうど２ｎになる限り、ＺｍｉｎとＺｍａｘとの間の任意の数の補間されたデプスと共に、任意のサブタイルおよびタイルのサイズが用いられ得る。
【００２８】
図２〜５の複数のシーケンスは、いくつかの実施形態において別々に、または組み合わせて用いられ得る。
【００２９】
図６は、システム７００の実施形態を図示する。複数の実施形態において、システム７００はメディアシステムであってもよいが、システム７００は、この文脈に限定されるものではない。例えば、システム７００は、パーソナルコンピュータ（ＰＣ）、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、ハンドヘルドコンピュータ、パームトップコンピュータ、携帯情報端末（ＰＤＡ）、携帯電話、携帯電話／ＰＤＡの組み合わせ、テレビ、スマートデバイス（例えば、スマートフォン、スマートタブレットまたはスマートテレビ）、モバイルインターネットデバイス（ＭＩＤ）、メッセージングデバイス、データ通信デバイス等に組み込まれてもよい。
【００３０】
複数の実施形態において、システム７００は、ディスプレイ７２０に結合されたプラットフォーム７０２を備える。プラットフォーム７０２は、コンテンツサービスデバイス７３０もしくはコンテンツ配信デバイス７４０、または他の類似のコンテンツソース等のコンテンツデバイスからコンテンツを受信し得る。１または複数のナビゲーション機能を備えるナビゲーションコントローラ７５０は、例えば、プラットフォーム７０２および／またはディスプレイ７２０とインタラクトするように用いられてもよい。これらのコンポーネントの各々は、以下により詳細に説明される。
【００３１】
複数の実施形態において、プラットフォーム７０２は、チップセット７０５、プロセッサ７１０、メモリ７１２、ストレージ７１４、グラフィックスサブシステム７１５、複数のアプリケーション７１６、および／または無線機７１８の任意の組み合わせを備え得る。チップセット７０５は、プロセッサ７１０、メモリ７１２、ストレージ７１４、グラフィックスサブシステム７１５、複数のアプリケーション７１６、および／または無線機７１８の間の相互通信を提供し得る。例えば、チップセット７０５は、ストレージ７１４との相互通信を提供することができるストレージアダプタ（図示せず）を含み得る。
【００３２】
プロセッサ７１０は、複合命令セットコンピュータ（ＣＩＳＣ）もしくは縮小命令セットコンピュータ（ＲＩＳＣ）プロセッサ、ｘ８６命令セットに互換性のあるプロセッサ、マルチコア、またはその他のマイクロプロセッサもしくは中央処理装置（ＣＰＵ）として実装され得る。複数の実施形態において、プロセッサ７１０は、デュアルコアプロセッサ、デュアルコアモバイルプロセッサ等を備えてもよい。プロセッサは、メモリ７１２と共に図２〜５の複数のシーケンスを実装し得る。
【００３３】
メモリ７１２は、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）等の揮発性メモリデバイスとして実装され得るが、これらに限定されるものではない。
【００３４】
ストレージ７１４は、磁気ディスクドライブ、光ディスクドライブ、テープドライブ、内部ストレージデバイス、装着ストレージデバイス、フラッシュメモリ、バッテリバックアップＳＤＲＡＭ（シンクロナスＤＲＡＭ）、および／またはネットワークアクセス可能なストレージデバイス等の不揮発性ストレージデバイスとして実装され得るが、これらに限定されるものではない。複数の実施形態において、ストレージ７１４は、例えば、複数のハードドライブが含まれる場合に貴重なデジタル媒体に対する記憶性能を高めた保護を増大させる技術を備え得る。
【００３５】
グラフィックスサブシステム７１５は、表示のために静止画像または動画のような複数の画像の処理を実行し得る。グラフィックスサブシステム７１５は、例えば、グラフィックス処理ユニット（ＧＰＵ）またはビジュアルプロセッシングユニット（ＶＰＵ）であってもよい。アナログまたはデジタルインターフェースは、グラフィックスサブシステム７１５およびディスプレイ７２０を通信可能に結合するように用いられてもよい。例えば、インターフェースは、高細精度マルチメディアインターフェース、ＤｉｓｐｌａｙＰｏｒｔ、無線ＨＤＭＩ（登録商標）、および／または無線ＨＤに準拠する技術のいずれかであってもよい。グラフィックスサブシステム７１５は、プロセッサ７１０またはチップセット７０５に集積され得る。グラフィックスサブシステム７１５は、チップセット７０５に通信可能に結合されたスタンドアロンカードであり得る。
【００３６】
本明細書に説明されるグラフィックスおよび／または動画処理技術は、様々なハードウェアアーキテクチャで実装され得る。例えば、グラフィックスおよび／または動画機能は、チップセット内に集積され得る。あるいは、別個のグラフィックスおよび／またはビデオプロセッサが用いられてもよい。更に別の実施形態として、グラフィックスおよび／または複数のビデオ機能は、マルチコアプロセッサを含む汎用プロセッサにより実装され得る。更なる実施形態において、これらの機能は、家庭用電子デバイスに実装され得る。
【００３７】
無線機７１８は、様々な好適の無線通信技術を用いて複数の信号を送受信することができる１または複数の無線機を含み得る。そのような複数の技術は、１または複数の無線ネットワークにわたる複数の通信を含み得る。例示的な複数の無線ネットワークとしては、無線ローカルエリアネットワーク（ＷＬＡＮ）、無線パーソナルエリアネットワーク（ＷＰＡＮ）、無線メトロポリタンエリアネットワーク（ＷＭＡＮ）、セルラーネットワーク、および衛星ネットワークが挙げられる（しかし、これらに限定されるものではない）。そのような複数のネットワークにわたって通信する場合に、無線機７１８は、任意のバージョンの１または複数の適用可能規格に準拠して動作し得る。
【００３８】
複数の実施形態において、ディスプレイ７２０は、任意のテレビタイプのモニタまたはディスプレイを備え得る。ディスプレイ７２０は、例えば、コンピュータディスプレイスクリーン、タッチスクリーンディスプレイ、ビデオモニタ、テレビ様式のデバイス、および／またはテレビを備え得る。ディスプレイ７２０は、デジタルおよび／またはアナログであってもよい。複数の実施形態において、ディスプレイ７２０は、ホログラフィックディスプレイであってもよい。また、ディスプレイ７２０は、視覚投影を受信し得る透明面であってもよい。そのような複数の投影は、様々な形態の情報、画像、および／またはオブジェクトを搬送し得る。例えば、そのような複数の投影は、モバイル拡張実現（ＭＡＲ）アプリケーションのための視覚オーバーレイであってもよい。１または複数のソフトウェアアプリケーション７１６の制御下で、プラットフォーム７０２は、ユーザインターフェース７２２をディスプレイ７２０上に表示し得る。
【００３９】
複数の実施形態において、コンテンツサービスデバイス７３０は、任意の国家的、国際的、および／または独立系サービスによりホストされ、従って例えばインターネットを介してプラットフォーム７０２にアクセス可能であり得る。コンテンツサービスデバイス７３０は、プラットフォーム７０２および／またはディスプレイ７２０に結合され得る。プラットフォーム７０２および／またはコンテンツサービスデバイス７３０は、ネットワーク７６０に、およびネットワーク７６０からメディア情報を通信する（例えば送信し、および／または受信する）べくネットワーク７６０に結合され得る。コンテンツ配信デバイス７４０は、プラットフォーム７０２および／またはディスプレイ７２０にも結合され得る。
【００４０】
複数の実施形態において、コンテンツサービスデバイス７３０は、ケーブルテレビボックス、パーソナルコンピュータ、ネットワーク、電話、インターネットが可能なデバイス、もしくはデジタル情報および／またはコンテンツを提供することができる電気機器、およびネットワーク７６０を介し、または直接に複数のコンテンツプロバイダと、プラットフォーム７０２と、ディスプレイ７２０との間で一方向または双方向にコンテンツを通信することができるその他の類似のデバイスを備え得る。コンテンツは、ネットワーク７６０を介してシステム７００における複数のコンポーネントのうちのいずれか１つおよびコンテンツプロバイダに、およびこれらから一方向および／または双方向に通信され得ることが理解されよう。コンテンツの複数の例としては、例えば、動画、音楽、医療およびゲーム情報等を含む任意のメディア情報が挙げられ得る。
【００４１】
コンテンツサービスデバイス７３０は、メディア情報、デジタル情報、および／または他のコンテンツを含むケーブルテレビ番組等のコンテンツを受信する。コンテンツプロバイダの複数の例としては、任意のケーブルもしくは衛星テレビ、またはラジオもしくはインターネットコンテンツプロバイダが挙げられ得る。提供される複数の例は、適用可能な実施形態を限定することを意図しない。
【００４２】
複数の実施形態において、プラットフォーム７０２は、１または複数のナビゲーション機能を有するナビゲーションコントローラ７５０から複数の制御信号を受信し得る。コントローラ７５０の複数のナビゲーション機能は、例えば、ユーザインターフェース７２２とインタラクトするように用いられ得る。複数の実施形態において、ナビゲーションコントローラ７５０は、ユーザが空間（例えば、連続した多次元の）データをコンピュータに入力することを可能にする、コンピュータハードウェアコンポーネント（具体的にはヒューマンインターフェースデバイス）であり得るポインティングデバイスであってもよい。グラフィカルユーザインターフェース（ＧＵＩ）等の多くのシステム、ならびに複数のテレビおよびモニタは、ユーザが物理的なジェスチャを用いてコンピュータまたはテレビを制御し、これらにデータを提供することを可能にする。
【００４３】
コントローラ７５０におけるナビゲーション機能の動きは、ディスプレイ上に表示されるポインタ、カーソル、フォーカスリング、または他の複数の視覚インジケータの動きにより、ディスプレイ（例えば、ディスプレイ７２０）上に反映され得る。例えば、ソフトウェアアプリケーション７１６の制御下で、ナビゲーションコントローラ７５０上に位置する複数のナビゲーション機能は、例えばユーザインターフェース７２２上に表示される複数の仮想ナビゲーション機能にマッピングされ得る。複数の実施形態において、コントローラ７５０は、別個のコンポーネントではなく、プラットフォーム７０２および／またはディスプレイ７２０に統合されてもよい。しかし、実施形態は、本明細書に示され、または説明される要素または文脈に限定されない。
【００４４】
複数の実施形態において、複数のドライバ（図示せず）は、例えば、有効にされると、初期ブートアップ後にユーザがボタンに触れることによりテレビ等のプラットフォーム７０２を即座にオンおよびオフにすることを可能にする技術を備え得る。プラットフォームが「オフ」にされると、プログラムロジックは、プラットフォーム７０２がコンテンツをメディアアダプタもしくは他のコンテンツサービスデバイス７３０、またはコンテンツ配信デバイス７４０にストリーミングすることを可能にし得る。更に、チップセット７０５は、例えば、５．１サラウンドサウンドオーディオおよび／または高細精度７．１サラウンドサウンドオーディオに対するハードウェアおよび／またはソフトウェアのサポートを備え得る。複数のドライバは、複数の統合グラフィックスプラットフォームためのグラフィックスドライバを含み得る。複数の実施形態において、複数のグラフィックスドライバは、周辺構成要素相互接続（ＰＣＩ）エクスプレスグラフィックスカードを備え得る。
【００４５】
様々な実施形態において、システム７００において示される複数のコンポーネントのうちの任意の１または複数が統合され得る。例えば、プラットフォーム７０２およびコンテンツサービスデバイス７３０が統合されてもよく、またはプラットフォーム７０２およびコンテンツ配信デバイス７４０が統合されてもよく、または例えば、プラットフォーム７０２、コンテンツサービスデバイス７３０、およびコンテンツ配信デバイス７４０が統合されてもよい。様々な実施形態において、プラットフォーム７０２およびディスプレイ７２０は、統合されたユニットであってもよい。例えば、ディスプレイ７２０およびコンテンツサービスデバイス７３０が統合されてもよく、またはディスプレイ７２０およびコンテンツ配信デバイス７４０が統合されてもよい。これらの例は、範囲の限定であることを意図しない。
【００４６】
様々な実施形態において、システム７００は、無線システム、有線システム、または両方の組み合わせとして実装され得る。無線システムとして実装される場合、システム７００は、１または複数のアンテナ、トランスミッタ、レシーバ、トランシーバ、増幅器、フィルタ、制御ロジック等のような無線共有媒体を介して通信するのに好適な複数のコンポーネントおよびインターフェースを含み得る。無線共有媒体の例としては、ＲＦスペクトル等のような無線スペクトルの一部が挙げられ得る。有線システムとして実装される場合、システム７００は、入力／出力（Ｉ／Ｏ）アダプタ、対応する有線通信媒体とＩ／Ｏアダプタを接続する物理コネクタ、ネットワークインターフェースカード（ＮＩＣ）、ディスクコントローラ、ビデオコントローラ、オーディオコントローラ等のような有線通信媒体を介して通信するのに好適な複数のコンポーネントおよびインターフェースを含み得る。有線通信媒体の複数の例としては、ワイヤ、ケーブル、金属リード線、プリント回路基板（ＰＣＢ）、バックプレーン、スイッチファブリック、半導体材料、ツイストペアワイヤ、同軸ケーブル、光ファイバ等が挙げられ得る。
【００４７】
プラットフォーム７０２は、情報を通信するべく１または複数の論理または物理チャネルを確立し得る。情報は、メディア情報および制御情報を含み得る。メディア情報は、ユーザ向けのコンテンツを表す任意のデータを指し得る。コンテンツの複数の例としては、例えば、音声会話、ビデオ会議、ストリーミング動画、電子メール（「ｅメール」）メッセージ、ボイスメールメッセージ、英数字記号、グラフィックス、画像、ビデオ、テキスト等からのデータが挙げられ得る。音声会話からのデータは、例えば、発言情報、無音期間、バックグラウンドノイズ、コンフォートノイズ、トーン等であり得る。制御情報は、自動システム向けの複数のコマンド、命令、または制御ワードを表す任意のデータを指し得る。例えば、制御情報は、システムを通じてメディア情報をルーティングし、または予め定められたようにメディア情報を処理するようノードに指示するべく用いられ得る。しかし、実施形態は、図６に示され、または説明される要素または文脈に限定されない。
【００４８】
上記のように、システム７００は、異なる物理的スタイルまたはフォームファクタで実施され得る。図７は、システム７００が実施され得る小さいフォームファクタデバイス８００の複数の実施形態を図示する。例えば複数の実施形態において、デバイス８００は、無線機能を有するモバイルコンピューティングデバイスとして実装され得る。例えば、モバイルコンピューティングデバイスは、処理システム、および１または複数のバッテリ等、モバイル電源または電力供給を有する任意のデバイスを指し得る。
【００４９】
上記のように、モバイルコンピューティングデバイスの複数の例としては、パーソナルコンピュータ（ＰＣ）、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、ハンドヘルドコンピュータ、パームトップコンピュータ、携帯情報端末（ＰＤＡ）、携帯電話、携帯電話／ＰＤＡの組み合わせ、テレビ、スマートデバイス（例えば、スマートフォン、スマートタブレットまたはスマートテレビ）、モバイルインターネットデバイス（ＭＩＤ）、メッセージングデバイス、データ通信デバイス等が挙げられ得る。
【００５０】
モバイルコンピューティングデバイスの複数の例としては、リストコンピュータ、フィンガーコンピュータ、リングコンピュータ、眼鏡コンピュータ、ベルトクリップコンピュータ、アームバンドコンピュータ、シューズコンピュータ（ｓｈｏｅ  ｃｏｍｐｕｔｅｒ）、衣類コンピュータ（ｃｌｏｔｈｉｎｇ  ｃｏｍｐｕｔｅｒ）、および他のウェアラブルコンピュータ等、人により着用されるように構成された複数のコンピュータも挙げられ得る。例えば複数の実施形態において、モバイルコンピューティングデバイスは、複数のコンピュータアプリケーション、ならびに音声通信および／またはデータ通信を実行することができるスマートフォンとして実装され得る。いくつかの実施形態は、例として、スマートフォンとして実施されるモバイルコンピューティングデバイスと共に説明され得るが、他の複数の無線モバイルコンピューティングデバイスを同様に用いる他の複数の実施形態が実施され得ることが理解され得る。これらの実施形態は、この文脈において限定されない。
【００５１】
本明細書において説明される複数のグラフィックス処理技術は、様々なハードウェアアーキテクチャにおいて実装され得る。例えば、グラフィックス機能は、チップセット内に統合され得る。あるいは、別個のグラフィックスプロセッサが用いられ得る。更に別の実施形態として、複数のグラフィックス機能は、マルチコアプロセッサを含む汎用プロセッサにより実装され得る。
【００５２】
以下の付記および／または例は、更なる実施形態に関する。例示的な一実施形態は、ハードウェアプロセッサを用いて、デプスオフセット圧縮のためにＺｍｉｎおよびＺｍａｘを決定する段階と、ＺｍｉｎがＺｍａｘに実質的に等しいか否かを判断する段階と、そうである場合に、デプスオフセット圧縮にＺｍｉｎおよびＺｍａｘのうちの１つのみを用い、インデックスマスクを用いることを避ける段階とを備える方法であり得る。方法は、ＺｍｉｎまたはＺｍａｘのうちの１つのみを用いることにより保存された複数のビットを用いて、１サンプル毎に１ビットを用いて複数の残差を拡張する段階を備え得る。方法は、複数の残差がＺｍｉｎまたはＺｍａｘに対するものか否かを指定する必要性を回避することにより保存された複数のビットを用いて、異なる圧縮アルゴリズムを用いる段階を備え得る。方法は、ＺｍｉｎがＺｍａｘよりも大きいか否かを判断する段階と、そうである場合にＺｍｉｎおよびＺｍａｘの精度をスワップする段階と、Ｚｍｉｎを有する追加のビットを用いる段階とを備え得る。方法は、ＺｍｉｎがＺｍａｘよりも小さいか否かを判断する段階と、そうである場合に、追加のビットを用いて、ＺｍｉｎがＺｍａｘよりも小さいことを示す段階とを備え得る。方法は、インデックスマスクが全て１または０であるか否かを検出する段階と、そうである場合に、ＺｍｉｎまたはＺｍａｘの複数の未使用ビットを用いて、実際に用いられた基準値の精度を改善する段階とを備え得る。方法は、ＺｍｉｎがＺｍａｘよりも小さい場合、次のＷｘＨビットをクリアマスクとして用いて、ピクセルがクリアされたか否かを示す段階を備え得、Ｗは、タイルの幅であり、Ｈは、タイルの高さである。方法は、クリアされていないデプスがいくつ存在するかに応じて、複数のデプスを非圧縮形式で格納する段階を備え得る。方法は、１タイル毎に２より多いデプス値を決定する段階を備え得る。方法は、タイルを複数のサブタイルに分割する段階と、複数のデプス値を複数のサブタイルに割り当てる段階と、少なくとも１つのサブタイルのデプス値をタイルのデプス値として選択する段階とを備え得る。
【００５３】
別の例示的な実施形態は、ハードウェアプロセッサを用いて、デプスオフセット圧縮のためにＺｍｉｎおよびＺｍａｘを決定することと、ＺｍｉｎがＺｍａｘに実質的に等しいか否かを判断することと、そうである場合に、デプスオフセット圧縮にＺｍｉｎおよびＺｍａｘのうちの１つのみを用い、インデックスマスクを用いることを避けることとを含むシーケンスを実行するプロセッサにより実行される、複数の命令を格納する１または複数の非一時的コンピュータ可読媒体であり得る。媒体は、ＺｍｉｎまたはＺｍａｘのうちの１つのみを用いることにより保存された複数のビットを用いて、１サンプル毎に１ビットを用いて複数の残差を拡張することを含むシーケンスを実行する複数の命令を更に格納し得る。媒体は、複数の残差がＺｍｉｎまたはＺｍａｘに対するものか否かを指定する必要性を回避することにより保存された複数のビットを用いて、異なる圧縮アルゴリズムを用いることを含むシーケンスを実行する複数の命令を更に格納し得る。媒体は、ＺｍｉｎがＺｍａｘよりも大きいか否かを判断することと、そうである場合にＺｍｉｎおよびＺｍａｘの精度をスワップすることと、Ｚｍｉｎを有する追加のビットを用いることとを含むシーケンスを実行する複数の命令を更に格納し得る。媒体は、ＺｍｉｎがＺｍａｘよりも小さいか否かを判断することと、そうである場合に、追加のビットを用いて、ＺｍｉｎがＺｍａｘよりも小さいことを示すこととを含むシーケンスを実行する複数の命令を更に格納し得る。媒体は、インデックスマスクが全て１または０であるかを検出することと、そうである場合に、ＺｍｉｎまたはＺｍａｘの複数の未使用ビットを用いて、実際に用いられた基準値の精度を改善することとを含むシーケンスを実行する複数の命令を更に格納し得る。媒体は、ＺｍｉｎがＺｍａｘよりも小さい場合、次のＷｘＨビットをクリアマスクとして用いて、ピクセルがクリアされたか否かを示すことを含むシーケンスを実行する複数の命令を更に格納し得、Ｗは、タイルの幅であり、Ｈは、タイルの高さである。媒体は、クリアされていないデプスがいくつ存在するかに応じて、複数のデプスを非圧縮形式で格納することを含むシーケンスを実行する複数の命令を更に格納し得る。媒体は、１タイル毎に２より多いデプス値を決定することを含むシーケンスを実行する複数の命令を更に格納し得る。媒体は、タイルを複数のサブタイルに分割することと、複数のデプス値を複数のサブタイルに割り当てることと、少なくとも１つのサブタイルのデプス値をタイルのデプス値として選択することとを含むシーケンスを実行する複数の命令を更に格納し得る。
【００５４】
別の例示的な実施形態は、ハードウェアプロセッサを用いて、デプスオフセット圧縮のためにＺｍｉｎおよびＺｍａｘを決定する段階と、ＺｍｉｎがＺｍａｘに実質的に等しいか否かを判断する段階と、そうである場合に、デプスオフセット圧縮にＺｍｉｎおよびＺｍａｘのうちの１つのみを用い、インデックスマスクを用いることを避けるプロセッサと、プロセッサに結合されたストレージとを備える装置であり得る。装置は、ＺｍｉｎまたはＺｍａｘのうちの１つのみを用いることにより保存された複数のビットを用いて、１サンプル毎に１ビットを用いて複数の残差を拡張するプロセッサを備え得る。装置は、複数の残差がＺｍｉｎまたはＺｍａｘに対するものか否かを指定する必要性を回避することにより保存された複数のビットを用いて、異なる圧縮アルゴリズムを用いるプロセッサを備え得る。装置は、ＺｍｉｎがＺｍａｘよりも大きいか否かを判断し、そうである場合にＺｍｉｎおよびＺｍａｘの精度をスワップし、Ｚｍｉｎを有する追加のビットを用いるプロセッサを備え得る。装置は、ＺｍｉｎがＺｍａｘよりも小さいか否かを判断し、そうである場合に、追加のビットを用いて、ＺｍｉｎがＺｍａｘよりも小さいことを示すプロセッサを備え得る。装置は、インデックスマスクが全て１または０であるかを検出し、そうである場合に、ＺｍｉｎまたはＺｍａｘの複数の未使用ビットを用いて、実際に用いられた基準値の精度を改善するプロセッサを備え得る。装置は、ＺｍｉｎがＺｍａｘよりも小さい場合、次のＷｘＨビットをクリアマスクとして用いて、ピクセルがクリアされたか否かを示すプロセッサを備え得、Ｗは、タイルの幅であり、Ｈは、タイルの高さである。装置は、クリアされていないデプスがいくつ存在するかに応じて、複数のデプスを非圧縮形式で格納するプロセッサを備え得る。装置は、１タイル毎に２より多いデプス値を決定するプロセッサを備え得る。装置は、タイルを複数のサブタイルに分割し、複数のデプス値を複数のサブタイルに割り当て、少なくとも１つのサブタイルのデプス値をタイルのデプス値として選択するプロセッサを備え得る。装置は、プロセッサに通信可能に結合されたディスプレイを備え得る。装置は、プロセッサに結合されたバッテリを備え得る。
【００５５】
本明細書を通して「一実施形態」または「実施形態」を参照する場合、実施形態に関連して説明される特定の機能、構造、または特性が、本開示に包含される少なくとも一実装に含まれることを意味する。従って、「一実施形態」または「実施形態において」という文言が現れても、必ずしも同一の実施形態を指すわけではない。更に、特定の機能、構造、または特性は、図示される特定の実施形態以外の他の好適な形式で設けられてもよく、またそのような全ての形態は、本願の特許請求の範囲に包含され得る。
【００５６】
限定された数の実施形態が説明されているが、当業者は、それらから多くの修正形態および改変形態を理解するであろう。添付の特許請求の範囲は、そのような全ての修正形態および改変形態を、本開示の真の主旨および範囲内に含まれるものとして包含することが意図されている。
【図１】
2019057320.tif 000004
【図２】
2019057320.tif 000005
【図３】
2019057320.tif 000006
【図４】
2019057320.tif 000007
【図５】
2019057320.tif 000008
【図６】
2019057320.tif 000009
【図７】
2019057320.tif 000010
【手続補正書】
【提出日】平成30年12月11日(2018.12.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
デプスを表わす複数のビットについて、ある複数のビットの組み合わせを用いる第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムと、前記第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられない複数のビットの組み合わせを用いる第２のデプスオフセット圧縮スキームまたは圧縮アルゴリズムと、を用いる段階を備える、方法。
【請求項２】
前記第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムと前記第２のデプスオフセット圧縮スキームまたは圧縮アルゴリズムとを用いる段階は、前記第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいてＺｍｉｎおよびＺｍａｘの複数の範囲が重複することから生じる複数の冗長なビットの組み合わせを識別し、前記複数の冗長なビットの組み合わせを前記第２のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて再利用することで圧縮を改善する段階を含む、請求項１に記載の方法。
【請求項３】
前記第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムと前記第２のデプスオフセット圧縮スキームまたは圧縮アルゴリズムとを用いる段階は、
前記第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて、ＺｍｉｎおよびＺｍａｘのペアが冗長な組み合わせを構成するか、またはデプスオフセット圧縮に対する無効な基準値のペアであるか否かを判断する段階と、
前記ペアが前記冗長な組み合わせを構成する場合、または、前記ペアが前記無効な基準値のペアである場合に、前記第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられない残りの回収された複数のビットの組み合わせを前記第２のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いることで圧縮を改善する段階と
を含む、請求項１または２に記載の方法。
【請求項４】
前記第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムと前記第２のデプスオフセット圧縮スキームまたは圧縮アルゴリズムとを用いる段階は、前記ペアが前記冗長な組み合わせを構成しない場合、または、前記ペアが前記無効な基準値のペアでない場合に、前記第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいてインデックスマスクのために割り当てられた複数のビットを再利用し、１サンプル毎に１ビットを用いて複数の残差を拡張する段階を含む、請求項３に記載の方法。
【請求項５】
前記第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムと前記第２のデプスオフセット圧縮スキームまたは圧縮アルゴリズムとを用いる段階は、
ＺｍｉｎがＺｍａｘよりも大きいか否かを判断する段階と、
ＺｍｉｎがＺｍａｘよりも大きい場合に、前記第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられない余分なビットに対するＺｍｉｎおよびＺｍａｘをスワップして前記第２のデプスオフセット圧縮スキームまたは圧縮アルゴリズムで用い、ＺｍｉｎまたはＺｍａｘの精度を改善することで、圧縮を改善する段階と
を含む、請求項１から４のいずれか一項に記載の方法。
【請求項６】
前記第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムと前記第２のデプスオフセット圧縮スキームまたは圧縮アルゴリズムとを用いる段階は、
ＺｍｉｎがＺｍａｘよりも大きいか否かを判断する段階と、
ＺｍｉｎがＺｍａｘよりも大きい場合に、次のＷｘＨビットをクリアマスクとして用いて、ピクセルがクリアされたか否かを示す段階であって、Ｗは、タイルの幅であり、Ｈは、タイルの高さである、段階と
を含む、請求項１から５のいずれか一項に記載の方法。
【請求項７】
クリアされていないデプスがいくつ存在するかに応じて、複数のデプスを非圧縮形式で格納する段階を備える、請求項６に記載の方法。
【請求項８】
前記第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムと前記第２のデプスオフセット圧縮スキームまたは圧縮アルゴリズムとを用いる段階は、
ＺｍｉｎまたはＺｍａｘを選択するインデックスマスクが全て１または０であるか否かを検出する段階と、
前記インデックスマスクが全て１または０である場合に、ＺｍｉｎまたはＺｍａｘのうちの、前記第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられない複数のビットの組み合わせを、前記第２のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いることで、実際に用いられた基準値の精度を改善し、または複数の残差間で複数の余分なビットを再分散し、これにより圧縮を改善する段階と
を含む、請求項１から７のいずれか一項に記載の方法。
【請求項９】
１タイル毎に２より多いデプス値を決定する段階を備える、請求項１から８のいずれか一項に記載の方法。
【請求項１０】
タイルを複数のサブタイルに分割する段階と、
１または複数の基準デプス値を前記複数のサブタイルの各々に割り当てる段階と
を備え、
実際の複数の前記デプス値に対する複数の残差は、前記１または複数の基準デプス値から算出されて格納される、請求項９に記載の方法。
【請求項１１】
色データに同一の技術を用いる段階を備える、請求項１から１０のいずれか一項に記載の方法。
【請求項１２】
実行されると、コンピュータに、
デプスを表わす複数のビットについて、ある複数のビットを用いる第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムと、前記第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられない複数のビットを用いる第２のデプスオフセット圧縮スキームまたは圧縮アルゴリズムと、を用いる手順
を実行させる、コンピュータプログラム。
【請求項１３】
前記第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムと前記第２のデプスオフセット圧縮スキームまたは圧縮アルゴリズムとを用いる手順は、前記第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいてＺｍｉｎおよびＺｍａｘの複数の範囲が重複することから生じる複数の冗長なビットの組み合わせを識別し、前記複数の冗長なビットの組み合わせを前記第２のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いることで圧縮を改善する手順を含む、請求項１２に記載のコンピュータプログラム。
【請求項１４】
前記第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムと前記第２のデプスオフセット圧縮スキームまたは圧縮アルゴリズムとを用いる手順は、
ＺｍｉｎがＺｍａｘに等しいか否かを判断する手順と、
ＺｍｉｎがＺｍａｘに等しい場合に、前記第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムで用いられない残りの複数のビットを前記第２のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いることで圧縮を改善する手順と
を含む、請求項１２または１３に記載のコンピュータプログラム。
【請求項１５】
前記第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムと前記第２のデプスオフセット圧縮スキームまたは圧縮アルゴリズムとを用いる手順は、ＺｍｉｎがＺｍａｘに等しくない場合に、前記第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいてインデックスマスクのために割り当てられた複数のビットを再利用して、１サンプル毎に１ビットを用いて複数の残差を拡張する手順を含む、請求項１４に記載のコンピュータプログラム。
【請求項１６】
前記第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムと前記第２のデプスオフセット圧縮スキームまたは圧縮アルゴリズムとを用いる手順は、
ＺｍｉｎがＺｍａｘよりも大きいか否かを判断する手順と、
ＺｍｉｎがＺｍａｘよりも大きい場合に、前記第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられない余分なビットに対するＺｍｉｎおよびＺｍａｘをスワップして前記第２のデプスオフセット圧縮スキームまたは圧縮アルゴリズムで用い、ＺｍｉｎおよびＺｍａｘの精度を改善することで、圧縮を改善する手順と
を含む、請求項１２から１５のいずれか一項に記載のコンピュータプログラム。
【請求項１７】
前記第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムと前記第２のデプスオフセット圧縮スキームまたは圧縮アルゴリズムとを用いる手順は、
ＺｍｉｎがＺｍａｘよりも大きいか否かを判断する手順と、
ＺｍｉｎがＺｍａｘよりも大きい場合に、次のＷｘＨビットをクリアマスクとして用いて、ピクセルがクリアされたか否かを示す手順であって、Ｗは、タイルの幅であり、Ｈは、タイルの高さである、手順と
を含む、請求項１２から１６のいずれか一項に記載のコンピュータプログラム。
【請求項１８】
前記ピクセルがクリアされたか否かを示す手順は、クリアされていないデプスがいくつ存在するかに応じて、複数のデプスを非圧縮形式で格納する手順を含む、請求項１７に記載のコンピュータプログラム。
【請求項１９】
前記第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムと前記第２のデプスオフセット圧縮スキームまたは圧縮アルゴリズムとを用いる手順は、
インデックスマスクが全て１または０であるか否かを検出する手順と、
インデックスマスクが全て１または０である場合に、ＺｍｉｎまたはＺｍａｘのうちの、前記第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられない複数のビットを、前記第２のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いることで、実際に用いられた基準値の精度を改善し、または複数の残差間で複数の余分なビットを再分散し、これにより圧縮を改善する手順と
を含む、請求項１２から１８のいずれか一項に記載のコンピュータプログラム。
【請求項２０】
実行されると、コンピュータに、
１タイル毎に２より多いデプス値を決定する手順
を実行させる、請求項１２から１９のいずれか一項に記載のコンピュータプログラム。
【請求項２１】
実行されると、コンピュータに、
タイルを複数のサブタイルに分割する手順と、
複数のデプス値を前記複数のサブタイルに割り当てる手順と、
少なくとも１つのサブタイルのデプス値を前記タイルのデプス値として選択する手順と
を実行させる、請求項２０に記載のコンピュータプログラム。
【請求項２２】
実行されると、コンピュータに、
色データに同一の技術を用いる手順
を実行させる、請求項１２から２１のいずれか一項に記載のコンピュータプログラム。
【請求項２３】
請求項１２から２２のいずれか一項に記載のコンピュータプログラムを格納するコンピュータ可読記録媒体。
【請求項２４】
デプスを表わす複数のビットについて、ある複数のビットを用いる第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムと、前記第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられない複数のビットを用いる第２のデプスオフセット圧縮スキームまたは圧縮アルゴリズムと、を用いるプロセッサと、
前記プロセッサに結合されたストレージと
を備える、装置。
【請求項２５】
前記プロセッサは、前記第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいてＺｍｉｎおよびＺｍａｘの複数の範囲が重複することから生じる複数の冗長なビットの組み合わせを識別し、前記複数の冗長なビットの組み合わせを前記第２のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いることで圧縮を改善する、請求項２４に記載の装置。
【請求項２６】
前記プロセッサは、ＺｍｉｎがＺｍａｘに等しいか否かを判断し、ＺｍｉｎがＺｍａｘに等しい場合に前記第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられない残りの複数のビットを前記第２のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いることで圧縮を改善する、請求項２４または２５に記載の装置。
【請求項２７】
前記プロセッサは、ＺｍｉｎがＺｍａｘよりも大きいか否かを判断し、ＺｍｉｎがＺｍａｘよりも大きい場合に、前記第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられない余分なビットに対するＺｍｉｎおよびＺｍａｘをスワップして前記第２のデプスオフセット圧縮スキームまたは圧縮アルゴリズムで用い、ＺｍｉｎおよびＺｍａｘの精度を改善することで、圧縮を改善する、請求項２４から２６のいずれか一項に記載の装置。
【請求項２８】
前記プロセッサは、ＺｍｉｎがＺｍａｘよりも大きいか否かを判断し、ＺｍｉｎがＺｍａｘよりも大きい場合に、次のＷｘＨビットをクリアマスクとして用いて、ピクセルがクリアされたか否かを示し、Ｗは、タイルの幅であり、Ｈは、タイルの高さである、請求項２４から２７のいずれか一項に記載の装置。
【請求項２９】
前記プロセッサは、インデックスマスクが全て１または０であるか否かを検出し、インデックスマスクが全て１または０である場合に、ＺｍｉｎまたはＺｍａｘのうちの、前記第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられない複数のビットを、前記第２のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いることで、実際に用いられた基準値の精度を改善し、または複数の残差間で複数の余分なビットを再分散し、これにより圧縮を改善する、請求項２４から２８のいずれか一項に記載の装置。
【請求項３０】
デプスを表わす複数のビットについて、ある複数のビットの組み合わせを用いる第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムと、前記第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられない複数のビットの組み合わせを用いる第２のデプスオフセット圧縮スキームまたは圧縮アルゴリズムと、を用いて圧縮されたデプスを解凍する段階を備える、方法。
【請求項３１】
実行されると、コンピュータに、
デプスを表わす複数のビットについて、ある複数のビットを用いる第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムと、前記第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられない複数のビットを用いる第２のデプスオフセット圧縮スキームまたは圧縮アルゴリズムと、を用いて圧縮されたデプスを解凍する手順
を実行させる、コンピュータプログラム。
【請求項３２】
デプスを表わす複数のビットについて、ある複数のビットを用いる第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムと、前記第１のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられない複数のビットを用いる第２のデプスオフセット圧縮スキームまたは圧縮アルゴリズムと、を用いて圧縮されたデプスを解凍するプロセッサと、
前記プロセッサに結合されたストレージと
を備える、装置。
【外国語明細書】
2019057320000001.pdf