(57)【特許請求の範囲】
【請求項１】
コンピュータ実行方法であって、
画素またはサンプルのタイルが一定のまたは変化するアルファ値を有するかどうかを判定することと、
前記タイルに関するクリアされた画素またはサンプルの数を判定することと、
前記アルファ値の判定およびクリアされた画素またはサンプルの前記数に基づき、前記タイルの圧縮形式を判定することと、
を含む、方法。
【請求項２】
２ビットを使用して前記アルファ値の判定を記憶することを含む、請求項１に記載の方法。
【請求項３】
一定の０、一定の１、および変化を含む、３つのアルファ値の判定を提供することを含む、請求項１または２に記載の方法。
【請求項４】
前記画素またはサンプルがクリアされたかどうかを示すために、前記タイルの画素またはサンプルのそれぞれのためのクリアビットを記憶することを含む、請求項１から３のいずれか一項に記載の方法。
【請求項５】
タイルが圧縮形式で記憶可能となるためのクリアビットの最大数を判定することを含む、請求項４に記載の方法。
【請求項６】
圧縮形式で記憶するためにタイルを圧縮するため、一定のおよび変化するアルファ値のそれぞれについてクリアビットの最大数を判定することを含む、請求項５に記載の方法。
【請求項７】
コンピュータに、
画素またはサンプルのタイルが一定のまたは変化するアルファ値を有するかどうかを判定することと、
前記タイルに関するクリアされた画素またはサンプルの数を判定することと、
前記アルファ値の判定およびクリアされた画素またはサンプルの前記数に基づき、前記タイルの圧縮形式を判定することと、
を実行させるための、プログラム。
【請求項８】
前記コンピュータに、
２ビットを使用して前記アルファ値の判定を記憶することをさらに実行させるための、請求項７に記載のプログラム。
【請求項９】
前記コンピュータに、
一定の０、一定の１、および変化を含む３つのアルファ値の判定を提供することさらに実行させるための、請求項７または８に記載のプログラム。
【請求項１０】
前記コンピュータに、
前記画素またはサンプルがクリアされたかどうかを示すために、前記タイルの画素またはサンプルのそれぞれに関するクリアビットを記憶することをさらに実行させるための、請求項７から９のいずれか一項に記載のプログラム。
【請求項１１】
前記コンピュータに、
タイルが圧縮形式で記憶可能となるためクリアビットの最大数を判定することさらに実行させるための、請求項１０に記載のプログラム。
【請求項１２】
前記コンピュータに、
圧縮形式で記憶するためにタイルを圧縮するため、一定のおよび変化するアルファ値のそれぞれについてクリアビットの最大数を判定することをさらに実行させるための、請求項１１に記載のプログラム。
【請求項１３】
シーケンスを実行するプロセッサであって、前記シーケンスを実行するために、前記プロセッサは、画素またはサンプルのタイルが一定のまたは変化するアルファ値を有するかどうかを判定し、前記タイルに関するクリアされた画素またはサンプルの数を判定し、前記アルファ値の判定およびクリアされた画素またはサンプルの前記数に基づき、前記タイルの圧縮形式を判定する、プロセッサと、
前記プロセッサに連結される記憶装置と、
を備える、装置。
【請求項１４】
前記シーケンスを実行するために、前記プロセッサは、前記アルファ値の判定を記憶するために２ビットを使用する、請求項１３に記載の装置。
【請求項１５】
前記シーケンスを実行するために、前記プロセッサは、一定の０、一定の１、および変化を含む３つのアルファ値の判定を提供する、請求項１３または１４に記載の装置。
【請求項１６】
前記シーケンスを実施するために、前記プロセッサは、前記画素またはサンプルがクリアされたかどうかを示すために、前記タイルの画素またはサンプルのそれぞれについてクリアビットを記憶する、請求項１３から１５のいずれか一項に記載の装置。
【請求項１７】
前記シーケンスを実行するために、前記プロセッサは、タイルが圧縮形式で記憶可能となるためのクリアビットの最大数を判定する、請求項１６に記載の装置。
【請求項１８】
前記シーケンスを実行するために、前記プロセッサは、圧縮形式で記憶するためにタイルを圧縮するために、一定のおよび変化するアルファ値のそれぞれについてクリアビットの最大数を判定する、請求項１７に記載の装置。
【請求項１９】
メモリと、
前記メモリに連結されるプロセッサであって、クリアされた画素かどうかを判定し、クリアされない画素に関するカラー値と、画素ごとの１ビットのクリアマスクと、アルファ値がタイルの全体にわたって一定であるか変化するかを示す値とを各タイルについて前記メモリに記憶するプロセッサと、
を備える、装置。
【請求項２０】
メモリと、
前記メモリに連結されるプロセッサであって、クリアされた画素かどうかを判定し、クリアされない画素に関するカラー値を前記メモリに記憶し、２つのマスクビットを使用して、アルファ値がタイルの全体にわたって０、１、または非一定であるかどうかを示すプロセッサと、
を備える、装置。
【請求項２１】
メモリと、
前記メモリに連結されるプロセッサであって、クリアされた画素かどうかを判定し、クリアされない画素に関するカラー値と、アルファ値がタイルの全体にわたって一定であるか変化するかを示す値とを前記メモリに記憶し、画素カラーを各カラーチャネルについての単一の参照値からのデルタ値として表すためのビットを使用してクリアされた画素を表記するプロセッサと、
を備える、装置。
【請求項２２】
前記プロセッサは、グラフィックスプロセッシングユニットである、請求項１９から２１のいずれか一項に記載の装置。
【請求項２３】
前記プロセッサは、前記クリアされない画素の前記カラー値のビット数を維持した状態で記憶する、請求項１９から２２のいずれか一項に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概してコンピュータのためのグラフィックスプロセッシングに関し、特にカラーキャッシュにおけるキャッシングデータに関する。
【背景技術】
【０００２】
グラフィックスプロセッシングユニット（ＧＰＵ）に関する性能を増加させるために、メモリ帯域幅削減技法が採用される。帯域幅要件を減少させるための１つの方法は、バッファ圧縮を実施することである。グラフィックスシステムは、画素のカラーが描かれるカラーバッファ、および各画素のデプスが記憶されるデプスバッファを使用し得る。レンダリング中、これらのバッファは読み取られまた書き込まれ、そしてしばしば同一の画素が両方のバッファに関して複数回アクセスされる。これらの読み取りおよび書き込みアクセスは、エネルギー消費の点で高価であり、可能な程度に有利に削減され得、特に、モバイル装置等の電源供給が限定されたユーザ端末に関してそうである。
【図面の簡単な説明】
【０００３】
いくつかの実施形態は、以下の図に関して記述される。
【図１】１つの実施形態の概略図である。
【図２】８×４画素のタイルサイズを使用する１つの実施形態に関するフローチャートである。
【図３】１つの実施形態に関するシステム描写である。
【図４】１つの実施形態に関する正面図である。
【発明を実施するための形態】
【０００４】
いくつかの実施形態にしたがい、タイル内の各画素がクリアされたかどうかに関する情報を記録するために、マスクまたはテーブルを維持し得る。本明細書中の使用においては、「クリアされた」タイル、画素、またはサンプルは、任意の他の描写されたオブジェクトによってカバーされないものである。クリアマスクは、画素またはサンプルがカラー値を含むかどうか、または、それがクリアされたかどうかを示すために、画素またはサンプルごとにビットを記憶し得る。その結果、いくつかの実施形態では、圧縮率は部分的にカバーされたタイルに関して増加され得る。
【０００５】
バッファの圧縮／解凍を三次元（３Ｄ）図形において使用可能であり、これは、ゲーム、３Ｄ地図および情景、３Ｄメッセージ、例えば、動画メッセージ、スクリーンセーバ、人−機械インターフェース（ＭＭＩ）等であるが、しかしそれらには限定されない。このように、圧縮／解凍は、例えば、一次元（１Ｄ）、二次元（２Ｄ）または３Ｄ画像等の他のタイプの画像または図形をエンコードするためにも採用され得る。
【０００６】
圧縮および解凍は、典型的には、画素のブロックまたはタイルの形式で、複数の画素を集合的に取り扱う。ある実施形態では、画素ブロックはＭ×Ｎ画素のサイズを有し、ここで、Ｍ、Ｎは、ＭおよびＮの両方が同時に１ではないという条件を満たす整数である。好ましくはＭ＝２ｍおよびＮ＝２ｎであり、ｍ、ｎは、ｍおよびｎが同時に０ではないという条件を満たす、０または整数である。典型的実装においてはＭ＝Ｎであり、そのようなブロック実施形態は４×４画素、８×４、８×８画素または１６×１６画素であり得る。
【０００７】
表現画素（expression pixel）または「ブロック要素」は、ブロックまたはブロックのエンコードされた表現内の要素を参照する。このブロックは、画像、テクスチャ、またはバッファの一部分に対応する。このように、画素は、（１Ｄ、２Ｄ、３Ｄ）テクスチャのテクセル（テクスチャ要素）、（１Ｄまたは２Ｄ）画像の画素、または、３Ｄ画像のボクセル（体積要素）であり得る。概して、画素は、関連する画素パラメータまたはプロパティ値または特徴で特性化される。画素に割り当て可能な異なる特性プロパティ値があり、典型的には、どの種類の画素ブロックが取り扱われているかに依存する。例えば、プロパティ値は画素に割り当てられるカラー値であり得る。画素カラー値を表現するために、異なるカラー空間が利用可能である。１つのカラー空間は、いわゆる、赤、緑、青（ＲＧＢ）カラー空間である。画素プロパティ値は、したがって、ＲＧＢカラーの赤値、緑値、または青値であり得る。
【０００８】
画素カラーは、輝度および色度の構成要素の形式でも表現され得る。そのような場合は、ＲＧＢカラー値を輝度値および典型的には２つの色度の構成要素にコンバートするために変換を使用可能である。輝度−色度空間の例は、ＹＵＶ、ＹＣｏＣｇ、およびＹＣｒＣｂを含む。プロパティ値は、それゆえ、輝度値（Ｙ）または色度値（Ｕ、Ｖ、Ｃｏ、Ｃｇ、Ｃｒ、またはＣｂ）であることも可能である。カラーバッファの画素ブロックを圧縮／解凍するケースでは、画素のＲＧＢカラーは輝度／色度カラー空間にコンバートされ得る。それは、ＲＧＢデータの相関を失わせて、改善された圧縮率に繋がるばかりでなく、輝度および色度の構成要素に関する異なる圧縮戦略を有する可能性がある。このように、人間の視覚システムは、輝度の構成要素のエラーにより敏感であるので、色度の構成要素は、典型的に、輝度の構成要素より積極的に圧縮されることが可能である。
【０００９】
図１において、グラフィックスプロセッサ１０は、ラスター化ユニット４０、テクスチャおよび断片処理ユニット４２、およびデプスまたはＺ比較および混合ユニット４４を含むラスター化パイプラインを含み得る。これらのユニットのそれぞれは、いくつかの実施形態では、全体的または部分的にソフトウェアまたはハードウェアによって実装され得る。
【００１０】
テクスチャおよび断片処理ユニット４２は、テクスチャキャッシュ４６に連結される。キャッシュ４６は、次に、テクスチャ解凍モジュール５４を介して、メモリ区画６０に連結される。このように、キャッシュ内に記憶されるテクスチャ情報は、メモリ区画とキャッシュとの間で解凍され得る。
【００１１】
デプス比較および混合ユニット４４は、デプスバッファキャッシュ４８、カラーバッファキャッシュ５０、およびタイルテーブルキャッシュ５２に連結される。次に、デプスバッファキャッシュ４８は、デプスバッファコーダ／デコーダ（コーデック）５６を介して、メモリ区画６０に連結される。同様に、カラーバッファキャッシュ５０は、カラーバッファコーダ／デコーダ（コーデック）５８を介して、メモリ区画６０に連結する。メモリ区画６０は、システムメモリの一部であり得る動的ランダムアクセスメモリ（ＤＲＡＭ）６２、６４、６６、および６８に連結され得る。いくつかの実施形態では、統合キャッシュが使用され得、これはテクスチャキャッシュ、デプスバッファキャッシュ、およびカラーバッファキャッシュを含む。
【００１２】
いくつかの実施形態では、統合コーデックは、ユニット５４、５６、および５８を置き換え得る。さまざまな構成が、Ｆｌｏａｔｉｎｇ  Ｐｏｉｎｔ  Ｂｕｆｆｅｒ  Ｃｏｍｐｒｅｓｓｉｏｎ  ｉｎ  ａ  Ｕｎｉｆｉｅｄ  Ｃｏｄｅｃ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｂｙ  Ｓｔｒｏｍ、ｅｔ  ａｌ．Ｇｒａｐｈｉｃｓ  Ｈａｒｄｗａｒｅ（２００８）の記事において詳細に記述されている。
【００１３】
図２を参照すると、カラーバッファ圧縮のためのシーケンス７０は、ハードウェア、ソフトウェア、および／またはファームウェアにより実装され得る。ソフトウェアおよびファームウェアの実施形態では、これは、磁気、光学、または半導体記憶装置媒体等の１つ以上の非一時的コンピュータ可読媒体に記憶されたコンピュータ実行命令によって実装され得る。そのような記憶媒体の例は、カラーバッファキャッシュ自体、動的ランダムアクセスメモリ、またはそれらに関連するプロセッサ、いくつかの例を述べればグラフィックスプロセッシングユニット等を含み得る。
【００１４】
シーケンスは、モードビット（ブロック７２）を設定することにより始まり得る。１つの実施形態では、２つのモードビットが提供される。カラーの圧縮は、タイルについて別個に一定のアルファカラーチャネルである共通のケース、ならびにアルファ値がタイルについて変化するケースを伴う。このように、３つの可能な状況をカバーするために２つのモードビットが使用されている。第１には、タイルの全体についてアルファ値が一定および０であり得、第２には、タイルの全体についてアルファ値は一定の１であり得（１は典型的には８ビットレンダーターゲットについて２５５としてエンコードされる）、そして第３には、アルファ値は一定ではなく、タイルの全体について０または１ではないことがあり得る。
【００１５】
典型的タイルサイズは８×４画素である。しかし本発明は、任意の特定タイルサイズに限定されない。さらに、現在ではキャッシュラインサイズは６４バイトである。つまり、非圧縮タイルは２つのキャッシュラインに適合し、圧縮タイルは１つのキャッシュラインに適合する。しかし本開示は、任意の特定圧縮率または任意の特定キャッシュラインサイズに限定されない。
【００１６】
次に、クリアマスクビットは、ブロック７４に示されるように、各タイルについて記憶される。タイルサイズが８×４である実施形態では、各タイルについて３２のそのようなクリアマスクビットがある。１つの実施形態では、クリアマスクＣ内の１は、その画素がクリアされたことを示す。クリアマスクを使用する１つの利点は、カラー値は非クリア画素についてのみ記憶されなければならないということである。１つの実施形態において、マスク内の非クリア画素の合計数、すなわち０はｎ（Ｃ）によって表記される。クリアマスクが使用される場合、５１２ビットのキャッシュラインを有する実施形態では、クリアマスクに関する３２ビットを考慮した後、４８０ビットが残って非クリアカラーを表現する。次に、２つのモードビットについて考慮し、一定のアルファを想定し、２４ビットＲＧＢ値のケースでは、たった３つのカラー値が画素ごとに記憶される。
【００１７】
一定のアルファ値（菱形７６）についてビット配分が残り、カラーチャネル精度が与えられた場合、非クリア画素またはサンプルの数が２０未満（菱形７８）である限り、ブロック８０で示されるように、非クリアカラー値は完全な精度で記憶されることが可能であり、したがって、タイルは常に圧縮され得る。すなわち、４８０ビット残りから２つのモードビットを差し引き、画素ごとに２４ビットで分割すると（２４ビットＲＧＢスキームを使用する実施形態では）、１９．９２画素が得られる。
【００１８】
アルファの非一定値の場合（すなわち、菱形７６における選択肢のいいえ）、クリアされないビットの数は、１つのキャッシュラインに完全な精度を記憶するために（ブロック８４）１５未満（菱形８２）であるべきである。これは、４７８を画素ごとに３２ビットで分割することによって決定され、タイルごとに１４．９４の非クリアビットに等しくなる。
【００１９】
このように、典型的には、圧縮タイルの内容は２つのモードビット、その後の３２のクリアマスクビット、およびその後の実際に使用された圧縮ビットを含む。例として、１２の非クリアビットがある場合、２＋３２＋１２×２４で３２２ビットとなり、これはキャッシュラインの５１２ビット配分内にうまく適合する。
【００２０】
非クリアビットの数が、一定のアルファのケースについて２０に等しいか、それより大きい場合、任意の他の圧縮スキームが通常通り使用されることが可能である。例えば、デルタカラー圧縮が使用され得る。デルタカラー圧縮の場合、各タイルまたは画素グループについて、単一参照値が各カラーチャネルについて記憶される。個々の画素カラーは、次に、参照値からデルタ値としてエンコードされる。デルタカラー圧縮と比較されたときの違いは、非クリアビットの数が変わるにつれ、その数は、カラー構成要素について、デルタビットの変化する数と組み合わせられることが可能であるということである。例として、これらのケースに関するデルタビット分配は、以下の表に示されている。
【表１】
0005870145.tif 000002
上の表は、ＲＧＢＡに一般化することに対しても直接的である。さまざまなビット分配において残される残りの非使用ビットは、タイル内の画素のサブセットのデルタ範囲を増加させるためにも利用されることが可能である。例えば、非クリアビットの数が２４であるケースにおいて、２４画素のうちの２２について、６＋６＋６から６＋７＋６にデルタビットの数を増加させるために、２２の非使用ビットが使用され得る。非使用ビットを少しだけよりよく生かす可能性もある。例えば、残りの非使用ビットをタイル内の第１のＭカラー上に広げ、デルタビットの数がいくつかの画素内ではより高く、いくつかの画素内ではより低くすることができる。
【００２１】
タイルサイズとキャッシュラインサイズとの異なる組み合わせは、以下の表に示されるように、異なる最大圧縮率を可能とする。８×８画素のタイルは、８：１の比率で、３２バイトのキャッシュラインで最大限に圧縮可能であり、このことは、タイルは、８つのキャッシュラインに代えて１つのキャッシュラインに記憶されることを意味する。そのケースでは、一定のアルファ値を想定し、最大９画素カラー値（２５６−２−３２）／２４））が完全な解像度で記憶されることが可能である。
【表２】
0005870145.tif 000003
【００２２】
別の実施形態では、クリアマスクを画素ビットフィールドごとに１ビットとして記憶する代わりに、同一情報が既存圧縮方法内に組み込まれることが可能である。デルタ圧縮スキームが存在するときは、ＲＧＢデルタ値の１つの予め定められたビットの組み合わせは、クリアされた画素を表記するために使用されることが可能である。例えば、特定の画素に関するすべてのデルタ値がすべて１に設定された場合には、バッファ処理されたクリアカラーが代わりにその画素のために暗示される。この方式は圧縮器の成功率を減少させる、何故ならば、表現可能な色の数を１だけ縮小させるからである。多くのケースでは、しかしながら、このわずかな損失よりもクリアされた画素を表現する能力が勝る。
【００２３】
特定のタイルに関し、三角形がラスター化され、結果としてのカバー範囲が以下に描写される。枠０〜２、９〜１１、１８〜２０、および２７〜２９は、タイルのカバーされる画素であり、カラー情報がこれらの画素について記憶される。
【表３】
0005870145.tif 000004
【００２４】
この例では、圧縮タイルの内容は以下のようになる。
【表４】
0005870145.tif 000005
合計ビットカウントは２＋３２＋１２×２４＝３２２であり、これはキャッシュラインの５１２ビット配分において好適に適合する。
【００２５】
図３は、システム７００の実施形態を図解する。実施形態では、システム７００はこの文脈に限定されず、システム７００はメディアシステムであり得る。例えば、システム７００は、パーソナルコンピュータ（ＰＣ）、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、可搬型コンピュータ、手持ちコンピュータ、パームトップコンピュータ、携帯情報端末（ＰＤＡ）、携帯電話、携帯電話／ＰＤＡ組み合わせ、テレビ、高性能装置（例えば、スマートフォン、スマートタブレット、またはスマートテレビ）、モバイルインターネット装置（ＭＩＤ）、メッセージ通信装置、データ通信装置等に組み込まれ得る。
【００２６】
実施形態においては、システム７００は、表示装置７２０に連結されたプラットフォーム７０２を備える。プラットフォーム７０２は、コンテンツサービス装置７３０またはコンテンツ配信装置７４０または他の類似コンテンツソースのようなコンテンツ装置からコンテンツを受信し得る。１つ以上のナビゲーション機能を備えるナビゲーションコントローラ７５０は、例えば、プラットフォーム７０２および／または表示装置７２０と対話するために使用され得る。これらの構成要素のそれぞれは、以下により詳細に記述される。
【００２７】
実施形態においては、プラットフォーム７０２は、チップセット７０５、プロセッサ７１０、メモリ７１２、記憶装置７１４、グラフィックスサブシステム７１５、アプリケーション７１６および／または無線機７１８の任意の組み合わせを備え得る。チップセット７０５は、プロセッサ７１０、メモリ７１２、記憶装置７１４、グラフィックスサブシステム７１５、アプリケーション７１６および／または無線機７１８の間の相互通信を提供し得る。例えば、チップセット７０５は、記憶装置７１４との相互通信を提供することのできる記憶装置アダプタ（描かれていない）を含み得る。
【００２８】
プロセッサ７１０は、複合命令セットコンピュータ（ＣＩＳＣ）または縮小命令セットコンピュータ（ＲＩＳＣ）プロセッサ、×８６命令セット互換プロセッサ、マルチコア、または任意の他のマイクロプロセッサまたは中央処理装置（ＣＰＵ）として実装され得る。実施形態においては、プロセッサ７１０は、デュアルコアプロセッサ、デュアルコアモバイルプロセッサ等を備え得る。プロセッサは、メモリ７１２と共に図２のシーケンスを実装し得る。
【００２９】
メモリ７１２は、それらに限定されないが、ランダムアクセスメモリ（ＲＡＭ）、動的ランダムアクセスメモリ（ＤＲＡＭ）、またはスタティックＲＡＭ（ＳＲＡＭ）等の揮発性メモリ装置として実装され得る。
【００３０】
記憶装置７１４は、それらに限定されないが、磁気ディスクドライブ、光ディスクドライブ、テープドライブ、内部記憶装置、付加記憶装置、フラッシュメモリ、バッテリバックアップＳＤＲＡＭ（同期ＤＲＡＭ）、および／またはネットワークアクセス可能記憶装置等の不揮発性記憶装置として実装され得る。実施形態においては、記憶装置７１４は、例えば、多数ハードドライブが含まれるとき、貴重なデジタル媒体のための記憶装置性能強化保護を増加するための技術を含み得る。
【００３１】
グラフィックスサブシステム７１５は、表示装置のための静止画または動画等の画像の処理を実施し得る。グラフィックスサブシステム７１５は、例えば、グラフィックスプロセッシングユニット（ＧＰＵ）または視覚処理ユニット（ＶＰＵ）であり得る。アナログまたはデジタルインターフェースは、グラフィックスサブシステム７１５と表示装置７２０を通信可能に連結するために使用され得る。例えば、インターフェースは、高品位マルチメディアインターフェース、ＤｉｓｐｌａｙＰｏｒｔ、無線ＨＤＭＩ（登録商標）、および／または無線ＨＤ互換技法の任意のものであり得る。グラフィックスサブシステム７１５は、プロセッサ７１０またはチップセット７０５に組み込まれることが可能である。グラフィックスサブシステム７１５は、チップセット７０５に通信可能に連結される独立型カードであり得る。
【００３２】
本明細書中に記述されるグラフィックスプロセッシング技法および／またはビデオプロセッシング技法は、さまざまなハードウェア構造において実装され得る。例えば、グラフィックス機能および／またはビデオ機能はチップセット内に統合され得る。代替的にディスクリートグラフィックスプロセッサおよび／またはビデオプロセッサが使用され得る。さらに別の実施形態としてグラフィックス機能および／またはビデオ機能はマルチコアプロセッサを含む汎用プロセッサによって実装され得る。さらなる実施形態では、機能は消費者電子装置内に実装され得る。
【００３３】
無線機７１８は、さまざまな好適無線通信技法を使用して、信号を送信および受信することのできる１つ以上の無線機を含み得る。そのような技法は、１つ以上の無線ネットワークをわたる通信を伴い得る。模範的無線ネットワークは（それらに限定されないが）、無線ローカルエリアネットワーク（ＷＬＡＮ）、無線パーソナルエリアネットワーク（ＷＰＡＮ）、無線メトロポリタンエリアネットワーク（ＷＭＡＮ）、セルネットワーク、および衛星ネットワークを含む。そのようなネットワークをわたって通信を行うとき、無線機７１８は任意のバージョンの１つ以上の適用可能標準にしたがって操作し得る。
【００３４】
実施形態においては、表示装置７２０は任意のテレビ型モニタまたは表示装置を備え得る。表示装置７２０は、例えば、コンピュータディスプレイスクリーン、タッチスクリーンディスプレイ、ビデオモニタ、テレビ類似装置、および／またはテレビを備え得る。表示装置７２０は、デジタルおよび／またはアナログであり得る。実施形態においては、表示装置７２０は、ホログラフィ表示装置であり得る。また、表示装置７２０は、視覚投影を受信し得る透明表面であり得る。そのような投影は、さまざまな形式の情報、画像、および／またはオブジェクトを運搬し得る。例えば、そのような投影は、モバイル強化リアリティ（ＭＡＲ）アプリケーションのための視覚オーバーレイであり得る。１つ以上のソフトウェアアプリケーション７１６の制御の下で、プラットフォーム７０２は、表示装置７２０上にユーザインターフェース７２２を表示し得る。
【００３５】
実施形態においては、コンテンツサービス装置７３０は、任意の国内、国際、および／または独自のサービスによって主催され得、したがって、例えば、インターネットを介してプラットフォーム７０２にアクセス可能である。コンテンツサービス装置７３０は、プラットフォーム７０２および／または表示装置７２０に連結され得る。プラットフォーム７０２および／またはコンテンツサービス装置７３０は、ネットワーク７６０との間で、メディア情報を通信（例えば、送信および／または受信）するためにネットワーク７６０に連結され得る。コンテンツ配信装置７４０もプラットフォーム７０２および／または表示装置７２０に連結され得る。
【００３６】
実施形態においては、コンテンツサービス装置７３０は、ケーブルテレビボックス、パーソナルコンピュータ、ネットワーク、電話、デジタル情報および／またはコンテンツを配信できるインターネット可能装置または器具、および、ネットワーク７６０を介してまたは直接的に、コンテンツプロバイダとプラットフォーム７０２および表示装置７２０との間のコンテンツの単一方向または双方向通信をできる任意の他の類似装置を備え得る。コンテンツは、ネットワーク７６０を介して、システム７００内の構成要素の任意の１つとコンテンツプロバイダとの間で、単一方向におよび／または双方向に通信し得ることは評価されるであろう。コンテンツの例は、例えば、映像、音楽、医療およびゲーム情報等を含む任意のメディア情報を含み得る。
【００３７】
コンテンツサービス装置７３０は、メディア情報、デジタル情報、および／または他のコンテンツを含むケーブルテレビプログラム等のコンテンツを受信する。コンテンツプロバイダの例は、任意のケーブルまたは衛星テレビ、または無線機またはインターネットコンテンツプロバイダを含み得る。提供された例は、本発明の実施形態を限定するものではない。
【００３８】
実施形態においては、プラットフォーム７０２は、１つ以上のナビゲーション機能を有するナビゲーションコントローラ７５０から制御信号を受信し得る。コントローラ７５０のナビゲーション機能は、例えば、ユーザインターフェース７２２と対話するために使用され得る。実施形態においては、ナビゲーションコントローラ７５０は、ユーザが空間（例えば、連続的および多次元）データをコンピュータに入力することを許可するコンピュータハードウェア構成要素（具体的にヒューマンインターフェース装置）であり得るポインティング装置であり得る。グラフィカルユーザインターフェース（ＧＵＩ）、テレビ、およびモニタ等の多くのシステムは、ユーザが物理的身振りを使用してコンピュータまたはテレビを制御し、データを提供することを許可する。
【００３９】
コントローラ７５０のナビゲーション機能の移動は、表示装置上に表示されるポインタ、カーソル、フォーカスリング、または他の視覚的表示器の移動によって表示装置（例えば、表示装置７２０）に反響され得る。例えば、ソフトウェアアプリケーション７１６の制御の下で、ナビゲーションコントローラ７５０上に配置されたナビゲーション機能は、例えば、ユーザインターフェース７２２上に表示される視覚的ナビゲーション機能に写像され得る。実施形態においては、コントローラ７５０は、別個の構成要素ではないかもしれないが、しかし、プラットフォーム７０２および／または表示装置７２０内に統合され得る。実施形態は、しかしながら、本明細書中に示される、または記述される、要素または文脈には限定されない。
【００４０】
実施形態においては、ドライバ（図示せず）は、例えば、テレビでの初期ブートアップ後の使用可能のとき、ボタンのタッチのように、ユーザが即時にプラットフォーム７０２をターンオン／オフすることを可能とする技術を備え得る。プログラム論理は、プラットフォームがターン「オフ」されたとき、プラットフォーム７０２がコンテンツを媒体アダプタまたは他のコンテンツサービス装置７３０またはコンテンツ配信装置７４０に流すことを許可し得る。さらに、チップセット７０５は、例えば、５．１サラウンドサウンド音声および／または高品位７．１サラウンドサウンド音声に関するハードウェアおよび／またはソフトウェアサポートを備え得る。ドライバは、統合グラフィックスプラットフォームのためのグラフィックスドライバを含み得る。実施形態においては、グラフィックスドライバは、周辺構成要素相互接続（ＰＣＩ）Ｅｘｐｒｅｓｓグラフィックスカードを備え得る。
【００４１】
さまざまな実施形態において、システム７００に示される任意の１つ以上の構成要素が統合され得る。例えば、プラットフォーム７０２およびコンテンツサービス装置７３０が統合され得、あるいは、プラットフォーム７０２およびコンテンツ配信装置７４０が統合され得、あるいは、プラットフォーム７０２、コンテンツサービス装置７３０、およびコンテンツ配信装置７４０が統合され得る。さまざまな実施形態において、プラットフォーム７０２および表示装置７２０は、統合化ユニットであり得る。表示装置７２０およびコンテンツサービス装置７３０が統合され得、あるいは、表示装置７２０およびコンテンツ配信装置７４０が、例えば、統合され得る。これらの例は本発明を限定するものではない。
【００４２】
さまざまな実施形態において、システム７００は、無線システム、有線システム、または両者の組み合わせとして実装され得る。無線システムとして実装されたとき、システム７００は、１つ以上のアンテナ、送信装置、受信装置、送受信装置、増幅装置、フィルタ、制御論理等の無線共有媒体を介して通信を行うために好適な構成要素およびインターフェースを含み得る。無線共有媒体の例は、ＲＦスペクトラム等の無線スペクトラムの部分を含み得る。有線システムとして実装されたとき、システム７００は、入力／出力（Ｉ／Ｏ）アダプタ、Ｉ／Ｏアダプタを対応する有線通信媒体に接続するための物理コネクタ、ネットワークインターフェースカード（ＮＩＣ）、ディスクコントローラ、ビデオコントローラ、音声コントローラ等の有線通信媒体を介して通信を行うために好適な構成要素およびインターフェースを含み得る。有線通信媒体の例は、ワイヤ、ケーブル、金属リード、印刷回路板（ＰＣＢ）、バックプレーン、スイッチファブリック、半導体材料、対撚り線、同軸ケーブル、光ファイバ等を含み得る。
【００４３】
プラットフォーム７０２は、情報を通信するために１つ以上の論理的または物理的チャネルを確立し得る。情報は、メディア情報および制御情報を含み得る。メディア情報は、ユーザにとって意味のあるコンテンツを表現する任意のデータを参照し得る。コンテンツの例は、例えば、音声会話からのデータ、テレビ会議、ストリーミングビデオ、電子メール（「ｅメール」）メッセージ、音声メールメッセージ、英数字符号、図形、画像、映像、テキスト等を含み得る。音声会話からのデータは、例えば、スピーチ情報、静寂期間、背景雑音、コンフォートノイズ、楽音等を含み得る。制御情報は、自動化システムのための命令、指令、または制御単語を表現する任意のデータを参照し得る。例えば、制御情報は、メディア情報をシステムを介してルート決めするために、または、ノードに対して予め定められた方法でメディア情報を処理するように命令するために使用され得る。実施形態は、しかしながら、図３に示される、または記述される、要素または文脈に限定されない。
【００４４】
前述のように、システム７００は、変化する物理的スタイルまたは形式要因において具現化され得る。図４は、システム７００が具現化され得る小型形式要因装置８００の実施形態を図解する。実施形態において、例えば、装置８００は、無線能力を有するモバイル演算装置として実装され得る。モバイル演算装置は、処理システム、および、例えば、１つ以上のバッテリ等のモバイル電源ソースまたは供給を有する任意の装置を参照し得る。
【００４５】
前述のように、モバイル演算装置の例は、パーソナルコンピュータ（ＰＣ）、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、可搬型コンピュータ、手持ちコンピュータ、パームトップコンピュータ、携帯情報端末（ＰＤＡ）、携帯電話、携帯電話／ＰＤＡ組み合わせ、テレビ、高性能装置（例えば、スマートフォン、スマートタブレット、またはスマートテレビ）、モバイルインターネット装置（ＭＩＤ）、メッセージ通信装置、データ通信装置等を含み得る。
【００４６】
モバイル演算装置の例は、手首コンピュータ、指コンピュータ、リングコンピュータ、メガネコンピュータ、ベルトクリップコンピュータ、アームバンドコンピュータ、靴コンピュータ、服コンピュータ、および他の着用可能コンピュータ等の個人によって着用されるようにアレンジされたコンピュータをも含み得る。実施形態においては、例えば、モバイル演算装置は、コンピュータアプリケーション、ならびに音声通信、および／またはデータ通信を実行できるスマートフォンとして実装され得る。いくつかの実施形態は、例としてスマートフォンとして実装されたモバイル演算装置と共に記述され得るが、他の実施形態は他の無線モバイル演算装置を使用しても実装され得ることが評価されるであろう。実施形態はこの文脈に限定されない。
【００４７】
プロセッサ７１０は、いくつかの実施形態では、カメラ７２２および全地球測位システムセンサ７２０と通信し得る。メモリ７１２は、プロセッサ７１０に連結され、ソフトウェアおよび／またはファームウェア実施形態において図２に示されるシーケンスを実装するために、コンピュータ可読命令を記憶し得る。
【００４８】
図４に示されるように、小型形式要因装置８００は、筐体８０２、表示装置８０４、入力／出力（Ｉ／Ｏ）装置８０６、およびアンテナ８０８を備え得る。小型形式要因装置８００は、ナビゲーション機能８１２も備え得る。表示装置８０４は、モバイル演算装置にとって適切な情報を表示するための任意の好適表示ユニットを備え得る。Ｉ／Ｏ装置８０６は、情報をモバイル演算装置に入力するための任意の好適Ｉ／Ｏ装置を備え得る。Ｉ／Ｏ装置８０６の例は、英数字キーボード、数字キーパッド、タッチパッド、入力キー、ボタン、スイッチ、ロッカースイッチ、マイクロフォン、スピーカー、音声認識装置およびソフトウェア等を含み得る。情報は、マイクロフォンを介しても小型形式要因装置８００内に入力され得る。そのような情報は、音声認識装置によってデジタル化され得る。実施形態は本文脈に限定されない。
【００４９】
さまざまな実施形態は、ハードウェア要素、ソフトウェア要素、または両者の組み合わせを使用して実装され得る。ハードウェア要素の例は、プロセッサ、マイクロプロセッサ、回路、回路要素（例えば、トランジスタ、抵抗、コンデンサ、インダクタ等）、集積回路、特定用途向け集積回路（ＡＳＩＣ）、プログラム式論理装置（ＰＬＤ）、デジタル信号プロセッサ（ＤＳＰ）、フィールドプログラム式ゲートアレイ（ＦＰＧＡ）、論理ゲート、レジスタ、半導体装置、チップ、マイクロチップ、チップセット等を含み得る。ソフトウェアの例は、ソフトウェア構成要素、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、機械プログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、機能、方法、手順、ソフトウェアインターフェース、アプリケーションプログラムインターフェース（ＡＰＩ）、命令セット、演算コード、コンピュータコード、コードセグメント、コンピュータコードセグメント、ワード、値、符号、またはそれらの任意の組み合わせを含み得る。ハードウェア要素および／またはソフトウェア要素を使用して実施形態が実装されるかどうかの判定は、望ましい演算率、パワーレベル、熱寛容性、処理サイクル分配、入力データ率、出力データ率、メモリ資源、データバス速度および他の設計または性能制約等の任意の数の要因にしたがって変化し得る。
【００５０】
以下の句および／または例はさらなる実施形態に関する。１つの例の実施形態は、画素またはサンプルのタイルが一定のまたは変化するアルファ値を有するかどうかを判定することと、タイルに関するクリアされた画素またはサンプルの数を判定することと、アルファ値の判定およびクリアされた画素またはサンプルの数に基づき、タイルをどのように記憶するかを判定することと、を含むコンピュータ実行方法であり得る。方法は、アルファ値の判定を記憶するために２ビットを使用することを含み得る。方法は、一定の０、一定の１、および変化を含む３つのアルファ値の判定を提供することも含み得る。方法は、画素またはサンプルがクリアされたかどうかを示すために、タイルの画素またはサンプルのそれぞれについてクリアビットを記憶することも含み得る。方法は、１キャッシュライン内にタイルが記憶可能となるクリアビットの最大数を判定することも含み得る。方法は、１キャッシュライン内に記憶するためにタイルを圧縮ために、一定のおよび変化するアルファ値のそれぞれについてクリアビットの最大数を判定することも含み得る。
【００５１】
別の例の実施形態において１つ以上の非一時的コンピュータ可読媒体記憶命令は、プロセッサに対し、画素またはサンプルのタイルが一定のまたは変化するアルファ値を有するかどうかを判定することと、タイルに関するクリアされた画素またはサンプルの数を判定することと、アルファ値の判定およびクリアされた画素またはサンプルの数に基づき、タイルをどのように記憶するかを判定することと、を含むシーケンスを実行させる。媒体は、アルファ値の判定を記憶するために２ビットを使用することを含む、前述のシーケンスをさらに記憶し得る。媒体は、一定の０、一定の１、および変化を含む３つのアルファ値の判定を提供することを含む、前述のシーケンスをさらに記憶し得る。媒体は、画素またはサンプルがクリアされたかどうかを示すために、タイルの画素またはサンプルのそれぞれについてクリアビットを記憶することを含む、前述のシーケンスをさらに記憶し得る。媒体は、タイルが１キャッシュライン内に記憶されることが可能となるためのクリアビットの最大数を判定することを含む、前述のシーケンスをさらに記憶し得る。媒体は、１キャッシュライン内にタイルを記憶するために圧縮するため、一定のおよび変化するアルファ値のそれぞれについてクリアビットの最大数を判定することを含む、前述のシーケンスをさらに記憶し得る。
【００５２】
別の例の実施形態では、画素またはサンプルのタイルが、一定のまたは変化するアルファ値を有するかどうかを判定することと、タイルのクリアされた画素またはサンプルの数を判定することと、アルファ値の判定およびクリアされた画素またはサンプルの数に基づき、タイルをどのように記憶するかを判定することと、を含むシーケンスを実行するためのプロセッサを含む装置であり得、また前述のプロセッサに連結される記憶装置であり得る。装置は、アルファ値の判定を記憶するために２ビットを使用することを含む前述のシーケンスを含み得る。装置は、一定の０、一定の１、および変化を含む３つのアルファ値の判定を提供することを含む、前述のシーケンスを含み得る。装置は、画素またはサンプルがクリアされたかどうかを示すために、タイルの画素またはサンプルのそれぞれについてクリアビットを記憶することを含む、前述のシーケンスを含み得る。装置は、タイルが１キャッシュライン内に記憶可能となるためのクリアビットの最大数を判定することを含む、前述のシーケンスを含み得る。装置は、タイルを１キャッシュライン内に記憶するために圧縮するため、一定のおよび変化するアルファ値のそれぞれについてクリアビットの最大数を判定することを含む、前述のシーケンスを含み得る。装置は、オペレーティングシステム、バッテリおよびファームウェア、および前述のファームウェアを更新するためのモジュールを含み得る。
【００５３】
別の例の実施形態は、画素が任意の他の描写されたオブジェクトによってカバーされていないために画素がクリアされ、クリアされていない画素に関するカラー値のみを前述のメモリ内に記憶するかどうかを判定するために、メモリおよび前述のメモリに連結されたプロセッサを備える装置であり得る。装置は、前述のプロセッサがグラフィックスプロセッシングユニットであることを含み得る。装置は、各圧縮タイル内に画素ごとに１ビットのクリアマスクを記憶するために前述のプロセッサを含み得る。装置は、タイルの全体にわたってアルファ値が０、１、または一定でないかどうかを示すために２つのマスクビットを使用するために、前述のプロセッサを含み得る。装置は、カラー値を完全な精度で記憶するために前述のプロセッサを含み得る。装置は、クリアされた画素を表記するためにデルタ値の１ビットを使用するために、前述のプロセッサを含み得る。装置は、オペレーティングシステム、バッテリ、およびファームウェアならびに前述のファームウェアを更新するためのモジュールを含み得る。
【００５４】
本明細書中に記述されるグラフィックスプロセッシング技法は、さまざまなハードウェア構造において実装され得る。例えば、グラフィックス機能はチップセット内に統合され得る。代替的に、ディスクリートグラフィックスプロセッサが使用され得る。さらに別の実施形態として、グラフィックス機能は、マルチコアプロセッサを含む、汎用プロセッサによって実装され得る。
【００５５】
本明細書中で「一実施形態」または「ある実施形態」の参照は、その実施形態と関連して記述される特定の特徴、構築、または特性は、本開示内に包含される少なくとも１つの実装内に含まれることを意味する。このように、句「一実施形態」または「ある実施形態において」の出現は、必ずしも同一実施形態を参照していない。さらに、特定の特徴、構築、または特性は、図解される特定の実施形態以外の他の好適形式によって制定され得、すべてのそのような形式は本出願の特許請求の範囲内に包含され得る。
【００５６】
限られた数の実施形態ではあるが、当業者は数多くの修正および変形をそこから理解するであろう。付属請求項は、本開示の真の精神および範囲内にあるものとしてすべてのそのような修正および変形を網羅することが意図される。
［項目１］
コンピュータ実行方法であって、
画素またはサンプルのタイルが一定のまたは変化するアルファ値を有するかどうかを判定することと、
前記タイルに関するクリアされた画素またはサンプルの数を判定することと、
前記アルファ値の判定およびクリアされた画素またはサンプルの前記数に基づき、前記タイルをどのように記憶するか判定することと、
を含む、方法。
［項目２］
２ビットを使用して前記アルファ値の判定を記憶することを含む、項目１に記載の方法。
［項目３］
一定の０、一定の１、および変化を含む、３つのアルファ値の判定を提供することを含む、項目１または２に記載の方法。
［項目４］
前記画素またはサンプルがクリアされたかどうかを示すために、前記タイルの画素またはサンプルのそれぞれのためのクリアビットを記憶することを含む、項目１から３のいずれか一項に記載の方法。
［項目５］
タイルが圧縮形式で記憶可能となるためのクリアビットの最大数を判定することを含む、項目４に記載の方法。
［項目６］
圧縮形式で記憶するためにタイルを圧縮するため、一定のおよび変化するアルファ値のそれぞれについてクリアビットの最大数を判定することを含む、項目５に記載の方法。
［項目７］
コンピュータに、
画素またはサンプルのタイルが一定のまたは変化するアルファ値を有するかどうかを判定することと、
前記タイルに関するクリアされた画素またはサンプルの数を判定することと、
前記アルファ値の判定およびクリアされた画素またはサンプルの前記数に基づき、前記タイルをどのように記憶するかを判定することと、
を実行させるための、プログラム。
［項目８］
前記コンピュータに、
２ビットを使用して前記アルファ値の判定を記憶することをさらに実行させるための、項目７に記載のプログラム。
［項目９］
前記コンピュータに、
一定の０、一定の１、および変化を含む３つのアルファ値の判定を提供することさらに実行させるための、項目７または８に記載のプログラム。
［項目１０］
前記コンピュータに、
前記画素またはサンプルがクリアされたかどうかを示すために、前記タイルの画素またはサンプルのそれぞれに関するクリアビットを記憶することをさらに実行させるための、項目７から９のいずれか一項に記載のプログラム。
［項目１１］
前記コンピュータに、
タイルが圧縮形式で記憶可能となるためクリアビットの最大数を判定することさらに実行させるための、項目１０に記載のプログラム。
［項目１２］
前記コンピュータに、
圧縮形式で記憶するためにタイルを圧縮するため、一定のおよび変化するアルファ値のそれぞれについてクリアビットの最大数を判定することをさらに実行させるための、項目１１に記載のプログラム。
［項目１３］
シーケンスを実行するプロセッサであって、前記シーケンスを実行するために、前記プロセッサは、画素またはサンプルのタイルが一定のまたは変化するアルファ値を有するかどうかを判定し、前記タイルに関するクリアされた画素またはサンプルの数を判定し、前記アルファ値の判定およびクリアされた画素またはサンプルの前記数に基づき、前記タイルをどのように記憶するかを判定する、プロセッサと、
前記プロセッサに連結される記憶装置と、
を備える、装置。
［項目１４］
前記シーケンスを実行するために、前記プロセッサは、前記アルファ値の判定を記憶するために２ビットを使用する、項目１３に記載の装置。
［項目１５］
前記シーケンスを実行するために、前記プロセッサは、一定の０、一定の１、および変化を含む３つのアルファ値の判定を提供する、項目１３または１４に記載の装置。
［項目１６］
前記シーケンスを実施するために、前記プロセッサは、前記画素またはサンプルがクリアされたかどうかを示すために、前記タイルの画素またはサンプルのそれぞれについてクリアビットを記憶する、項目１３から１５のいずれか一項に記載の装置。
［項目１７］
前記シーケンスを実行するために、前記プロセッサは、タイルが圧縮形式で記憶可能となるためのクリアビットの最大数を判定する、項目１６に記載の装置。
［項目１８］
前記シーケンスを実行するために、前記プロセッサは、圧縮形式で記憶するためにタイルを圧縮するために、一定のおよび変化するアルファ値のそれぞれについてクリアビットの最大数を判定する、項目１７に記載の装置。
［項目１９］
メモリと、
前記メモリに連結されるプロセッサであって、画素が、任意の他の描写されたオブジェクトによってカバーされないためにクリアされたかどうかを判定し、クリアされない画素に関するカラー値のみを前記メモリに記憶するプロセッサと、
を備える、装置。
［項目２０］
前記プロセッサは、グラフィックスプロセッシングユニットである、項目１９に記載の装置。
［項目２１］
前記プロセッサは、画素ごとに１ビットのクリアマスクを各圧縮タイルに記憶することを含む、項目１９または２０に記載の装置。
［項目２２］
前記プロセッサは、２つのマスクビットを使用して、アルファ値が前記タイルの全体にわたって０、１、または非一定であるかどうかを示す、項目２１に記載の装置。
［項目２３］
前記プロセッサは、カラー値を完全な精度で記憶する、項目２２に記載の装置。
［項目２４］
前記プロセッサは、デルタ値のビットを使用してクリアされた画素を表記する、項目１９から２３のいずれか一項に記載の装置。
【図１】
0005870145.tif 000006
【図２】
0005870145.tif 000007
【図３】
0005870145.tif 000008
【図４】
0005870145.tif 000009