(58)【調査した分野】(Int.Cl.,DB名)
圧縮形式で記憶するために前記グループを圧縮するため、一定のおよび変化するアルファ値のそれぞれについてクリアビットの最大数を判定することを含む、請求項5に記載の方法。
シーケンスを実行するプロセッサであって、前記シーケンスを実行するために、複数の画素または複数のサンプルのグループのアルファ値が異なるかどうかを判定し、前記グループにおいて前記アルファ値が変化するかどうかに基づいて前記グループの圧縮形式を決定するための方法を選択する、プロセッサと、
前記プロセッサに連結される記憶装置と、
を備え、
前記グループのアルファ値が異なるかどうかを判定することは、一定の0、一定の1、および変化を含む3つのアルファ値の判定を提供することを含む、装置。
前記シーケンスを実施するために、前記プロセッサは、画素またはサンプルがクリアされたかどうかを示すために、前記グループの前記画素または前記サンプルのそれぞれについてクリアビットを記憶する、請求項14又は15に記載の装置。
前記シーケンスを実行するために、前記プロセッサは、圧縮形式で記憶するために前記グループを圧縮するために、一定のおよび変化するアルファ値のそれぞれについてクリアビットの最大数を判定する、請求項18に記載の装置。
【発明を実施するための形態】
【0004】
いくつかの実施形態にしたがい、タイル内の各画素がクリアされたかどうかに関する情報を記録するために、マスクまたはテーブルを維持し得る。本明細書中の使用においては、「クリアされた」タイル、画素、またはサンプルは、任意の他の描写されたオブジェクトによってカバーされないものである。クリアマスクは、画素またはサンプルがカラー値を含むかどうか、または、それがクリアされたかどうかを示すために、画素またはサンプルごとにビットを記憶し得る。その結果、いくつかの実施形態では、圧縮率は部分的にカバーされたタイルに関して増加され得る。
【0005】
バッファの圧縮/解凍を三次元(3D)図形において使用可能であり、これは、ゲーム、3D地図および情景、3Dメッセージ、例えば、動画メッセージ、スクリーンセーバ、人−機械インターフェース(MMI)等であるが、しかしそれらには限定されない。このように、圧縮/解凍は、例えば、一次元(1D)、二次元(2D)または3D画像等の他のタイプの画像または図形をエンコードするためにも採用され得る。
【0006】
圧縮および解凍は、典型的には、画素のブロックまたはタイルの形式で、複数の画素を集合的に取り扱う。ある実施形態では、画素ブロックはM×N画素のサイズを有し、ここで、M、Nは、MおよびNの両方が同時に1ではないという条件を満たす整数である。好ましくはM=2
mおよびN=2
nであり、m、nは、mおよびnが同時に0ではないという条件を満たす、0または整数である。典型的実装においてはM=Nであり、そのようなブロック実施形態は4×4画素、8×4、8×8画素または16×16画素であり得る。
【0007】
表現画素(expression pixel)または「ブロック要素」は、ブロックまたはブロックのエンコードされた表現内の要素を参照する。このブロックは、画像、テクスチャ、またはバッファの一部分に対応する。このように、画素は、(1D、2D、3D)テクスチャのテクセル(テクスチャ要素)、(1Dまたは2D)画像の画素、または、3D画像のボクセル(体積要素)であり得る。概して、画素は、関連する画素パラメータまたはプロパティ値または特徴で特性化される。画素に割り当て可能な異なる特性プロパティ値があり、典型的には、どの種類の画素ブロックが取り扱われているかに依存する。例えば、プロパティ値は画素に割り当てられるカラー値であり得る。画素カラー値を表現するために、異なるカラー空間が利用可能である。1つのカラー空間は、いわゆる、赤、緑、青(RGB)カラー空間である。画素プロパティ値は、したがって、RGBカラーの赤値、緑値、または青値であり得る。
【0008】
画素カラーは、輝度および色度の構成要素の形式でも表現され得る。そのような場合は、RGBカラー値を輝度値および典型的には2つの色度の構成要素にコンバートするために変換を使用可能である。輝度−色度空間の例は、YUV、YC
oC
g、およびYC
rC
bを含む。プロパティ値は、それゆえ、輝度値(Y)または色度値(U、V、C
o、C
g、C
r、またはC
b)であることも可能である。カラーバッファの画素ブロックを圧縮/解凍するケースでは、画素のRGBカラーは輝度/色度カラー空間にコンバートされ得る。それは、RGBデータの相関を失わせて、改善された圧縮率に繋がるばかりでなく、輝度および色度の構成要素に関する異なる圧縮戦略を有する可能性がある。このように、人間の視覚システムは、輝度の構成要素のエラーにより敏感であるので、色度の構成要素は、典型的に、輝度の構成要素より積極的に圧縮されることが可能である。
【0009】
図1において、グラフィックスプロセッサ10は、ラスター化ユニット40、テクスチャおよび断片処理ユニット42、およびデプスまたはZ比較および混合ユニット44を含むラスター化パイプラインを含み得る。これらのユニットのそれぞれは、いくつかの実施形態では、全体的または部分的にソフトウェアまたはハードウェアによって実装され得る。
【0010】
テクスチャおよび断片処理ユニット42は、テクスチャキャッシュ46に連結される。キャッシュ46は、次に、テクスチャ解凍モジュール54を介して、メモリ区画60に連結される。このように、キャッシュ内に記憶されるテクスチャ情報は、メモリ区画とキャッシュとの間で解凍され得る。
【0011】
デプス比較および混合ユニット44は、デプスバッファキャッシュ48、カラーバッファキャッシュ50、およびタイルテーブルキャッシュ52に連結される。次に、デプスバッファキャッシュ48は、デプスバッファコーダ/デコーダ(コーデック)56を介して、メモリ区画60に連結される。同様に、カラーバッファキャッシュ50は、カラーバッファコーダ/デコーダ(コーデック)58を介して、メモリ区画60に連結する。メモリ区画60は、システムメモリの一部であり得る動的ランダムアクセスメモリ(DRAM)62、64、66、および68に連結され得る。いくつかの実施形態では、統合キャッシュが使用され得、これはテクスチャキャッシュ、デプスバッファキャッシュ、およびカラーバッファキャッシュを含む。
【0012】
いくつかの実施形態では、統合コーデックは、ユニット54、56、および58を置き換え得る。さまざまな構成が、Floating Point Buffer Compression in a Unified Codec Architecture by Strom、et al.Graphics Hardware(2008)の記事において詳細に記述されている。
【0013】
図2を参照すると、カラーバッファ圧縮のためのシーケンス70は、ハードウェア、ソフトウェア、および/またはファームウェアにより実装され得る。ソフトウェアおよびファームウェアの実施形態では、これは、磁気、光学、または半導体記憶装置媒体等の1つ以上の非一時的コンピュータ可読媒体に記憶されたコンピュータ実行命令によって実装され得る。そのような記憶媒体の例は、カラーバッファキャッシュ自体、動的ランダムアクセスメモリ、またはそれらに関連するプロセッサ、いくつかの例を述べればグラフィックスプロセッシングユニット等を含み得る。
【0014】
シーケンスは、モードビット(ブロック72)を設定することにより始まり得る。1つの実施形態では、2つのモードビットが提供される。カラーの圧縮は、タイルについて別個に一定のアルファカラーチャネルである共通のケース、ならびにアルファ値がタイルについて変化するケースを伴う。このように、3つの可能な状況をカバーするために2つのモードビットが使用されている。第1には、タイルの全体についてアルファ値が一定および0であり得、第2には、タイルの全体についてアルファ値は一定の1であり得(1は典型的には8ビットレンダーターゲットについて255としてエンコードされる)、そして第3には、アルファ値は一定ではなく、タイルの全体について0または1ではないことがあり得る。
【0015】
典型的タイルサイズは8×4画素である。しかし本発明は、任意の特定タイルサイズに限定されない。さらに、現在ではキャッシュラインサイズは64バイトである。つまり、非圧縮タイルは2つのキャッシュラインに適合し、圧縮タイルは1つのキャッシュラインに適合する。しかし本開示は、任意の特定圧縮率または任意の特定キャッシュラインサイズに限定されない。
【0016】
次に、クリアマスクビットは、ブロック74に示されるように、各タイルについて記憶される。タイルサイズが8×4である実施形態では、各タイルについて32のそのようなクリアマスクビットがある。1つの実施形態では、クリアマスクC内の1は、その画素がクリアされたことを示す。クリアマスクを使用する1つの利点は、カラー値は非クリア画素についてのみ記憶されなければならないということである。1つの実施形態において、マスク内の非クリア画素の合計数、すなわち0はn(C)によって表記される。クリアマスクが使用される場合、512ビットのキャッシュラインを有する実施形態では、クリアマスクに関する32ビットを考慮した後、480ビットが残って非クリアカラーを表現する。次に、2つのモードビットについて考慮し、一定のアルファを想定し、24ビットRGB値のケースでは、たった3つのカラー値が画素ごとに記憶される。
【0017】
一定のアルファ値(菱形76)についてビット配分が残り、カラーチャネル精度が与えられた場合、非クリア画素またはサンプルの数が20未満(菱形78)である限り、ブロック80で示されるように、非クリアカラー値は完全な精度で記憶されることが可能であり、したがって、タイルは常に圧縮され得る。すなわち、480ビット残りから2つのモードビットを差し引き、画素ごとに24ビットで分割すると(24ビットRGBスキームを使用する実施形態では)、19.92画素が得られる。
【0018】
アルファの非一定値の場合(すなわち、菱形76における選択肢のいいえ)、クリアされないビットの数は、1つのキャッシュラインに完全な精度を記憶するために(ブロック84)15未満(菱形82)であるべきである。これは、478を画素ごとに32ビットで分割することによって決定され、タイルごとに14.94の非クリアビットに等しくなる。
【0019】
このように、典型的には、圧縮タイルの内容は2つのモードビット、その後の32のクリアマスクビット、およびその後の実際に使用された圧縮ビットを含む。例として、12の非クリアビットがある場合、2+32+12×24で322ビットとなり、これはキャッシュラインの512ビット配分内にうまく適合する。
【0020】
非クリアビットの数が、一定のアルファのケースについて20に等しいか、それより大きい場合、任意の他の圧縮スキームが通常通り使用されることが可能である。例えば、デルタカラー圧縮が使用され得る。デルタカラー圧縮の場合、各タイルまたは画素グループについて、単一参照値が各カラーチャネルについて記憶される。個々の画素カラーは、次に、参照値からデルタ値としてエンコードされる。デルタカラー圧縮と比較されたときの違いは、非クリアビットの数が変わるにつれ、その数は、カラー構成要素について、デルタビットの変化する数と組み合わせられることが可能であるということである。例として、これらのケースに関するデルタビット分配は、以下の表に示されている。
【表1】
上の表は、RGBAに一般化することに対しても直接的である。さまざまなビット分配において残される残りの非使用ビットは、タイル内の画素のサブセットのデルタ範囲を増加させるためにも利用されることが可能である。例えば、非クリアビットの数が24であるケースにおいて、24画素のうちの22について、6+6+6から6+7+6にデルタビットの数を増加させるために、22の非使用ビットが使用され得る。非使用ビットを少しだけよりよく生かす可能性もある。例えば、残りの非使用ビットをタイル内の第1のMカラー上に広げ、デルタビットの数がいくつかの画素内ではより高く、いくつかの画素内ではより低くすることができる。
【0021】
タイルサイズとキャッシュラインサイズとの異なる組み合わせは、以下の表に示されるように、異なる最大圧縮率を可能とする。8×8画素のタイルは、8:1の比率で、32バイトのキャッシュラインで最大限に圧縮可能であり、このことは、タイルは、8つのキャッシュラインに代えて1つのキャッシュラインに記憶されることを意味する。そのケースでは、一定のアルファ値を想定し、最大9画素カラー値(256−2−32)/24))が完全な解像度で記憶されることが可能である。
【表2】
【0022】
別の実施形態では、クリアマスクを画素ビットフィールドごとに1ビットとして記憶する代わりに、同一情報が既存圧縮方法内に組み込まれることが可能である。デルタ圧縮スキームが存在するときは、RGBデルタ値の1つの予め定められたビットの組み合わせは、クリアされた画素を表記するために使用されることが可能である。例えば、特定の画素に関するすべてのデルタ値がすべて1に設定された場合には、バッファ処理されたクリアカラーが代わりにその画素のために暗示される。この方式は圧縮器の成功率を減少させる、何故ならば、表現可能な色の数を1だけ縮小させるからである。多くのケースでは、しかしながら、このわずかな損失よりもクリアされた画素を表現する能力が勝る。
【0023】
特定のタイルに関し、三角形がラスター化され、結果としてのカバー範囲が以下に描写される。枠0〜2、9〜11、18〜20、および27〜29は、タイルのカバーされる画素であり、カラー情報がこれらの画素について記憶される。
【表3】
【0024】
この例では、圧縮タイルの内容は以下のようになる。
【表4】
合計ビットカウントは2+32+12×24=322であり、これはキャッシュラインの512ビット配分において好適に適合する。
【0025】
図3は、システム700の実施形態を図解する。実施形態では、システム700はこの文脈に限定されず、システム700はメディアシステムであり得る。例えば、システム700は、パーソナルコンピュータ(PC)、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、可搬型コンピュータ、手持ちコンピュータ、パームトップコンピュータ、携帯情報端末(PDA)、携帯電話、携帯電話/PDA組み合わせ、テレビ、高性能装置(例えば、スマートフォン、スマートタブレット、またはスマートテレビ)、モバイルインターネット装置(MID)、メッセージ通信装置、データ通信装置等に組み込まれ得る。
【0026】
実施形態においては、システム700は、表示装置720に連結されたプラットフォーム702を備える。プラットフォーム702は、コンテンツサービス装置730またはコンテンツ配信装置740または他の類似コンテンツソースのようなコンテンツ装置からコンテンツを受信し得る。1つ以上のナビゲーション機能を備えるナビゲーションコントローラ750は、例えば、プラットフォーム702および/または表示装置720と対話するために使用され得る。これらの構成要素のそれぞれは、以下により詳細に記述される。
【0027】
実施形態においては、プラットフォーム702は、チップセット705、プロセッサ710、メモリ712、記憶装置714、グラフィックスサブシステム715、アプリケーション716および/または無線機718の任意の組み合わせを備え得る。チップセット705は、プロセッサ710、メモリ712、記憶装置714、グラフィックスサブシステム715、アプリケーション716および/または無線機718の間の相互通信を提供し得る。例えば、チップセット705は、記憶装置714との相互通信を提供することのできる記憶装置アダプタ(描かれていない)を含み得る。
【0028】
プロセッサ710は、複合命令セットコンピュータ(CISC)または縮小命令セットコンピュータ(RISC)プロセッサ、×86命令セット互換プロセッサ、マルチコア、または任意の他のマイクロプロセッサまたは中央処理装置(CPU)として実装され得る。実施形態においては、プロセッサ710は、デュアルコアプロセッサ、デュアルコアモバイルプロセッサ等を備え得る。プロセッサは、メモリ712と共に
図2のシーケンスを実装し得る。
【0029】
メモリ712は、それらに限定されないが、ランダムアクセスメモリ(RAM)、動的ランダムアクセスメモリ(DRAM)、またはスタティックRAM(SRAM)等の揮発性メモリ装置として実装され得る。
【0030】
記憶装置714は、それらに限定されないが、磁気ディスクドライブ、光ディスクドライブ、テープドライブ、内部記憶装置、付加記憶装置、フラッシュメモリ、バッテリバックアップSDRAM(同期DRAM)、および/またはネットワークアクセス可能記憶装置等の不揮発性記憶装置として実装され得る。実施形態においては、記憶装置714は、例えば、多数ハードドライブが含まれるとき、貴重なデジタル媒体のための記憶装置性能強化保護を増加するための技術を含み得る。
【0031】
グラフィックスサブシステム715は、表示装置のための静止画または動画等の画像の処理を実施し得る。グラフィックスサブシステム715は、例えば、グラフィックスプロセッシングユニット(GPU)または視覚処理ユニット(VPU)であり得る。アナログまたはデジタルインターフェースは、グラフィックスサブシステム715と表示装置720を通信可能に連結するために使用され得る。例えば、インターフェースは、高品位マルチメディアインターフェース、DisplayPort、無線HDMI(登録商標)、および/または無線HD互換技法の任意のものであり得る。グラフィックスサブシステム715は、プロセッサ710またはチップセット705に組み込まれることが可能である。グラフィックスサブシステム715は、チップセット705に通信可能に連結される独立型カードであり得る。
【0032】
本明細書中に記述されるグラフィックスプロセッシング技法および/またはビデオプロセッシング技法は、さまざまなハードウェア構造において実装され得る。例えば、グラフィックス機能および/またはビデオ機能はチップセット内に統合され得る。代替的にディスクリートグラフィックスプロセッサおよび/またはビデオプロセッサが使用され得る。さらに別の実施形態としてグラフィックス機能および/またはビデオ機能はマルチコアプロセッサを含む汎用プロセッサによって実装され得る。さらなる実施形態では、機能は消費者電子装置内に実装され得る。
【0033】
無線機718は、さまざまな好適無線通信技法を使用して、信号を送信および受信することのできる1つ以上の無線機を含み得る。そのような技法は、1つ以上の無線ネットワークをわたる通信を伴い得る。模範的無線ネットワークは(それらに限定されないが)、無線ローカルエリアネットワーク(WLAN)、無線パーソナルエリアネットワーク(WPAN)、無線メトロポリタンエリアネットワーク(WMAN)、セルネットワーク、および衛星ネットワークを含む。そのようなネットワークをわたって通信を行うとき、無線機718は任意のバージョンの1つ以上の適用可能標準にしたがって操作し得る。
【0034】
実施形態においては、表示装置720は任意のテレビ型モニタまたは表示装置を備え得る。表示装置720は、例えば、コンピュータディスプレイスクリーン、タッチスクリーンディスプレイ、ビデオモニタ、テレビ類似装置、および/またはテレビを備え得る。表示装置720は、デジタルおよび/またはアナログであり得る。実施形態においては、表示装置720は、ホログラフィ表示装置であり得る。また、表示装置720は、視覚投影を受信し得る透明表面であり得る。そのような投影は、さまざまな形式の情報、画像、および/またはオブジェクトを運搬し得る。例えば、そのような投影は、モバイル強化リアリティ(MAR)アプリケーションのための視覚オーバーレイであり得る。1つ以上のソフトウェアアプリケーション716の制御の下で、プラットフォーム702は、表示装置720上にユーザインターフェース722を表示し得る。
【0035】
実施形態においては、コンテンツサービス装置730は、任意の国内、国際、および/または独自のサービスによって主催され得、したがって、例えば、インターネットを介してプラットフォーム702にアクセス可能である。コンテンツサービス装置730は、プラットフォーム702および/または表示装置720に連結され得る。プラットフォーム702および/またはコンテンツサービス装置730は、ネットワーク760との間で、メディア情報を通信(例えば、送信および/または受信)するためにネットワーク760に連結され得る。コンテンツ配信装置740もプラットフォーム702および/または表示装置720に連結され得る。
【0036】
実施形態においては、コンテンツサービス装置730は、ケーブルテレビボックス、パーソナルコンピュータ、ネットワーク、電話、デジタル情報および/またはコンテンツを配信できるインターネット可能装置または器具、および、ネットワーク760を介してまたは直接的に、コンテンツプロバイダとプラットフォーム702および表示装置720との間のコンテンツの単一方向または双方向通信をできる任意の他の類似装置を備え得る。コンテンツは、ネットワーク760を介して、システム700内の構成要素の任意の1つとコンテンツプロバイダとの間で、単一方向におよび/または双方向に通信し得ることは評価されるであろう。コンテンツの例は、例えば、映像、音楽、医療およびゲーム情報等を含む任意のメディア情報を含み得る。
【0037】
コンテンツサービス装置730は、メディア情報、デジタル情報、および/または他のコンテンツを含むケーブルテレビプログラム等のコンテンツを受信する。コンテンツプロバイダの例は、任意のケーブルまたは衛星テレビ、または無線機またはインターネットコンテンツプロバイダを含み得る。提供された例は、本発明の実施形態を限定するものではない。
【0038】
実施形態においては、プラットフォーム702は、1つ以上のナビゲーション機能を有するナビゲーションコントローラ750から制御信号を受信し得る。コントローラ750のナビゲーション機能は、例えば、ユーザインターフェース722と対話するために使用され得る。実施形態においては、ナビゲーションコントローラ750は、ユーザが空間(例えば、連続的および多次元)データをコンピュータに入力することを許可するコンピュータハードウェア構成要素(具体的にヒューマンインターフェース装置)であり得るポインティング装置であり得る。グラフィカルユーザインターフェース(GUI)、テレビ、およびモニタ等の多くのシステムは、ユーザが物理的身振りを使用してコンピュータまたはテレビを制御し、データを提供することを許可する。
【0039】
コントローラ750のナビゲーション機能の移動は、表示装置上に表示されるポインタ、カーソル、フォーカスリング、または他の視覚的表示器の移動によって表示装置(例えば、表示装置720)に反響され得る。例えば、ソフトウェアアプリケーション716の制御の下で、ナビゲーションコントローラ750上に配置されたナビゲーション機能は、例えば、ユーザインターフェース722上に表示される視覚的ナビゲーション機能に写像され得る。実施形態においては、コントローラ750は、別個の構成要素ではないかもしれないが、しかし、プラットフォーム702および/または表示装置720内に統合され得る。実施形態は、しかしながら、本明細書中に示される、または記述される、要素または文脈には限定されない。
【0040】
実施形態においては、ドライバ(図示せず)は、例えば、テレビでの初期ブートアップ後の使用可能のとき、ボタンのタッチのように、ユーザが即時にプラットフォーム702をターンオン/オフすることを可能とする技術を備え得る。プログラム論理は、プラットフォームがターン「オフ」されたとき、プラットフォーム702がコンテンツを媒体アダプタまたは他のコンテンツサービス装置730またはコンテンツ配信装置740に流すことを許可し得る。さらに、チップセット705は、例えば、5.1サラウンドサウンド音声および/または高品位7.1サラウンドサウンド音声に関するハードウェアおよび/またはソフトウェアサポートを備え得る。ドライバは、統合グラフィックスプラットフォームのためのグラフィックスドライバを含み得る。実施形態においては、グラフィックスドライバは、周辺構成要素相互接続(PCI)Expressグラフィックスカードを備え得る。
【0041】
さまざまな実施形態において、システム700に示される任意の1つ以上の構成要素が統合され得る。例えば、プラットフォーム702およびコンテンツサービス装置730が統合され得、あるいは、プラットフォーム702およびコンテンツ配信装置740が統合され得、あるいは、プラットフォーム702、コンテンツサービス装置730、およびコンテンツ配信装置740が統合され得る。さまざまな実施形態において、プラットフォーム702および表示装置720は、統合化ユニットであり得る。表示装置720およびコンテンツサービス装置730が統合され得、あるいは、表示装置720およびコンテンツ配信装置740が、例えば、統合され得る。これらの例は本発明を限定するものではない。
【0042】
さまざまな実施形態において、システム700は、無線システム、有線システム、または両者の組み合わせとして実装され得る。無線システムとして実装されたとき、システム700は、1つ以上のアンテナ、送信装置、受信装置、送受信装置、増幅装置、フィルタ、制御論理等の無線共有媒体を介して通信を行うために好適な構成要素およびインターフェースを含み得る。無線共有媒体の例は、RFスペクトラム等の無線スペクトラムの部分を含み得る。有線システムとして実装されたとき、システム700は、入力/出力(I/O)アダプタ、I/Oアダプタを対応する有線通信媒体に接続するための物理コネクタ、ネットワークインターフェースカード(NIC)、ディスクコントローラ、ビデオコントローラ、音声コントローラ等の有線通信媒体を介して通信を行うために好適な構成要素およびインターフェースを含み得る。有線通信媒体の例は、ワイヤ、ケーブル、金属リード、印刷回路板(PCB)、バックプレーン、スイッチファブリック、半導体材料、対撚り線、同軸ケーブル、光ファイバ等を含み得る。
【0043】
プラットフォーム702は、情報を通信するために1つ以上の論理的または物理的チャネルを確立し得る。情報は、メディア情報および制御情報を含み得る。メディア情報は、ユーザにとって意味のあるコンテンツを表現する任意のデータを参照し得る。コンテンツの例は、例えば、音声会話からのデータ、テレビ会議、ストリーミングビデオ、電子メール(「eメール」)メッセージ、音声メールメッセージ、英数字符号、図形、画像、映像、テキスト等を含み得る。音声会話からのデータは、例えば、スピーチ情報、静寂期間、背景雑音、コンフォートノイズ、楽音等を含み得る。制御情報は、自動化システムのための命令、指令、または制御単語を表現する任意のデータを参照し得る。例えば、制御情報は、メディア情報をシステムを介してルート決めするために、または、ノードに対して予め定められた方法でメディア情報を処理するように命令するために使用され得る。実施形態は、しかしながら、
図3に示される、または記述される、要素または文脈に限定されない。
【0044】
前述のように、システム700は、変化する物理的スタイルまたは形式要因において具現化され得る。
図4は、システム700が具現化され得る小型形式要因装置800の実施形態を図解する。実施形態において、例えば、装置800は、無線能力を有するモバイル演算装置として実装され得る。モバイル演算装置は、処理システム、および、例えば、1つ以上のバッテリ等のモバイル電源ソースまたは供給を有する任意の装置を参照し得る。
【0045】
前述のように、モバイル演算装置の例は、パーソナルコンピュータ(PC)、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、可搬型コンピュータ、手持ちコンピュータ、パームトップコンピュータ、携帯情報端末(PDA)、携帯電話、携帯電話/PDA組み合わせ、テレビ、高性能装置(例えば、スマートフォン、スマートタブレット、またはスマートテレビ)、モバイルインターネット装置(MID)、メッセージ通信装置、データ通信装置等を含み得る。
【0046】
モバイル演算装置の例は、手首コンピュータ、指コンピュータ、リングコンピュータ、メガネコンピュータ、ベルトクリップコンピュータ、アームバンドコンピュータ、靴コンピュータ、服コンピュータ、および他の着用可能コンピュータ等の個人によって着用されるようにアレンジされたコンピュータをも含み得る。実施形態においては、例えば、モバイル演算装置は、コンピュータアプリケーション、ならびに音声通信、および/またはデータ通信を実行できるスマートフォンとして実装され得る。いくつかの実施形態は、例としてスマートフォンとして実装されたモバイル演算装置と共に記述され得るが、他の実施形態は他の無線モバイル演算装置を使用しても実装され得ることが評価されるであろう。実施形態はこの文脈に限定されない。
【0047】
プロセッサ710は、いくつかの実施形態では、カメラ722および全地球測位システムセンサ720と通信し得る。メモリ712は、プロセッサ710に連結され、ソフトウェアおよび/またはファームウェア実施形態において
図2に示されるシーケンスを実装するために、コンピュータ可読命令を記憶し得る。
【0048】
図4に示されるように、小型形式要因装置800は、筐体802、表示装置804、入力/出力(I/O)装置806、およびアンテナ808を備え得る。小型形式要因装置800は、ナビゲーション機能812も備え得る。表示装置804は、モバイル演算装置にとって適切な情報を表示するための任意の好適表示ユニットを備え得る。I/O装置806は、情報をモバイル演算装置に入力するための任意の好適I/O装置を備え得る。I/O装置806の例は、英数字キーボード、数字キーパッド、タッチパッド、入力キー、ボタン、スイッチ、ロッカースイッチ、マイクロフォン、スピーカー、音声認識装置およびソフトウェア等を含み得る。情報は、マイクロフォンを介しても小型形式要因装置800内に入力され得る。そのような情報は、音声認識装置によってデジタル化され得る。実施形態は本文脈に限定されない。
【0049】
さまざまな実施形態は、ハードウェア要素、ソフトウェア要素、または両者の組み合わせを使用して実装され得る。ハードウェア要素の例は、プロセッサ、マイクロプロセッサ、回路、回路要素(例えば、トランジスタ、抵抗、コンデンサ、インダクタ等)、集積回路、特定用途向け集積回路(ASIC)、プログラム式論理装置(PLD)、デジタル信号プロセッサ(DSP)、フィールドプログラム式ゲートアレイ(FPGA)、論理ゲート、レジスタ、半導体装置、チップ、マイクロチップ、チップセット等を含み得る。ソフトウェアの例は、ソフトウェア構成要素、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、機械プログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、機能、方法、手順、ソフトウェアインターフェース、アプリケーションプログラムインターフェース(API)、命令セット、演算コード、コンピュータコード、コードセグメント、コンピュータコードセグメント、ワード、値、符号、またはそれらの任意の組み合わせを含み得る。ハードウェア要素および/またはソフトウェア要素を使用して実施形態が実装されるかどうかの判定は、望ましい演算率、パワーレベル、熱寛容性、処理サイクル分配、入力データ率、出力データ率、メモリ資源、データバス速度および他の設計または性能制約等の任意の数の要因にしたがって変化し得る。
【0050】
以下の句および/または例はさらなる実施形態に関する。1つの例の実施形態は、画素またはサンプルのタイルが一定のまたは変化するアルファ値を有するかどうかを判定することと、タイルに関するクリアされた画素またはサンプルの数を判定することと、アルファ値の判定およびクリアされた画素またはサンプルの数に基づき、タイルをどのように記憶するかを判定することと、を含むコンピュータ実行方法であり得る。方法は、アルファ値の判定を記憶するために2ビットを使用することを含み得る。方法は、一定の0、一定の1、および変化を含む3つのアルファ値の判定を提供することも含み得る。方法は、画素またはサンプルがクリアされたかどうかを示すために、タイルの画素またはサンプルのそれぞれについてクリアビットを記憶することも含み得る。方法は、1キャッシュライン内にタイルが記憶可能となるクリアビットの最大数を判定することも含み得る。方法は、1キャッシュライン内に記憶するためにタイルを圧縮ために、一定のおよび変化するアルファ値のそれぞれについてクリアビットの最大数を判定することも含み得る。
【0051】
別の例の実施形態において1つ以上の非一時的コンピュータ可読媒体記憶命令は、プロセッサに対し、画素またはサンプルのタイルが一定のまたは変化するアルファ値を有するかどうかを判定することと、タイルに関するクリアされた画素またはサンプルの数を判定することと、アルファ値の判定およびクリアされた画素またはサンプルの数に基づき、タイルをどのように記憶するかを判定することと、を含むシーケンスを実行させる。媒体は、アルファ値の判定を記憶するために2ビットを使用することを含む、前述のシーケンスをさらに記憶し得る。媒体は、一定の0、一定の1、および変化を含む3つのアルファ値の判定を提供することを含む、前述のシーケンスをさらに記憶し得る。媒体は、画素またはサンプルがクリアされたかどうかを示すために、タイルの画素またはサンプルのそれぞれについてクリアビットを記憶することを含む、前述のシーケンスをさらに記憶し得る。媒体は、タイルが1キャッシュライン内に記憶されることが可能となるためのクリアビットの最大数を判定することを含む、前述のシーケンスをさらに記憶し得る。媒体は、1キャッシュライン内にタイルを記憶するために圧縮するため、一定のおよび変化するアルファ値のそれぞれについてクリアビットの最大数を判定することを含む、前述のシーケンスをさらに記憶し得る。
【0052】
別の例の実施形態では、画素またはサンプルのタイルが、一定のまたは変化するアルファ値を有するかどうかを判定することと、タイルのクリアされた画素またはサンプルの数を判定することと、アルファ値の判定およびクリアされた画素またはサンプルの数に基づき、タイルをどのように記憶するかを判定することと、を含むシーケンスを実行するためのプロセッサを含む装置であり得、また前述のプロセッサに連結される記憶装置であり得る。装置は、アルファ値の判定を記憶するために2ビットを使用することを含む前述のシーケンスを含み得る。装置は、一定の0、一定の1、および変化を含む3つのアルファ値の判定を提供することを含む、前述のシーケンスを含み得る。装置は、画素またはサンプルがクリアされたかどうかを示すために、タイルの画素またはサンプルのそれぞれについてクリアビットを記憶することを含む、前述のシーケンスを含み得る。装置は、タイルが1キャッシュライン内に記憶可能となるためのクリアビットの最大数を判定することを含む、前述のシーケンスを含み得る。装置は、タイルを1キャッシュライン内に記憶するために圧縮するため、一定のおよび変化するアルファ値のそれぞれについてクリアビットの最大数を判定することを含む、前述のシーケンスを含み得る。装置は、オペレーティングシステム、バッテリおよびファームウェア、および前述のファームウェアを更新するためのモジュールを含み得る。
【0053】
別の例の実施形態は、画素が任意の他の描写されたオブジェクトによってカバーされていないために画素がクリアされ、クリアされていない画素に関するカラー値のみを前述のメモリ内に記憶するかどうかを判定するために、メモリおよび前述のメモリに連結されたプロセッサを備える装置であり得る。装置は、前述のプロセッサがグラフィックスプロセッシングユニットであることを含み得る。装置は、各圧縮タイル内に画素ごとに1ビットのクリアマスクを記憶するために前述のプロセッサを含み得る。装置は、タイルの全体にわたってアルファ値が0、1、または一定でないかどうかを示すために2つのマスクビットを使用するために、前述のプロセッサを含み得る。装置は、カラー値を完全な精度で記憶するために前述のプロセッサを含み得る。装置は、クリアされた画素を表記するためにデルタ値の1ビットを使用するために、前述のプロセッサを含み得る。装置は、オペレーティングシステム、バッテリ、およびファームウェアならびに前述のファームウェアを更新するためのモジュールを含み得る。
【0054】
本明細書中に記述されるグラフィックスプロセッシング技法は、さまざまなハードウェア構造において実装され得る。例えば、グラフィックス機能はチップセット内に統合され得る。代替的に、ディスクリートグラフィックスプロセッサが使用され得る。さらに別の実施形態として、グラフィックス機能は、マルチコアプロセッサを含む、汎用プロセッサによって実装され得る。
【0055】
本明細書中で「一実施形態」または「ある実施形態」の参照は、その実施形態と関連して記述される特定の特徴、構築、または特性は、本開示内に包含される少なくとも1つの実装内に含まれることを意味する。このように、句「一実施形態」または「ある実施形態において」の出現は、必ずしも同一実施形態を参照していない。さらに、特定の特徴、構築、または特性は、図解される特定の実施形態以外の他の好適形式によって制定され得、すべてのそのような形式は本出願の特許請求の範囲内に包含され得る。
【0056】
限られた数の実施形態ではあるが、当業者は数多くの修正および変形をそこから理解するであろう。付属請求項は、本開示の真の精神および範囲内にあるものとしてすべてのそのような修正および変形を網羅することが意図される。
[項目1]
コンピュータ実行方法であって、
画素またはサンプルのタイルが一定のまたは変化するアルファ値を有するかどうかを判定することと、
前記タイルに関するクリアされた画素またはサンプルの数を判定することと、
前記アルファ値の判定およびクリアされた画素またはサンプルの前記数に基づき、前記タイルをどのように記憶するか判定することと、
を含む、方法。
[項目2]
2ビットを使用して前記アルファ値の判定を記憶することを含む、項目1に記載の方法。
[項目3]
一定の0、一定の1、および変化を含む、3つのアルファ値の判定を提供することを含む、項目1または2に記載の方法。
[項目4]
前記画素またはサンプルがクリアされたかどうかを示すために、前記タイルの画素またはサンプルのそれぞれのためのクリアビットを記憶することを含む、項目1から3のいずれか一項に記載の方法。
[項目5]
タイルが圧縮形式で記憶可能となるためのクリアビットの最大数を判定することを含む、項目4に記載の方法。
[項目6]
圧縮形式で記憶するためにタイルを圧縮するため、一定のおよび変化するアルファ値のそれぞれについてクリアビットの最大数を判定することを含む、項目5に記載の方法。
[項目7]
コンピュータに、
画素またはサンプルのタイルが一定のまたは変化するアルファ値を有するかどうかを判定することと、
前記タイルに関するクリアされた画素またはサンプルの数を判定することと、
前記アルファ値の判定およびクリアされた画素またはサンプルの前記数に基づき、前記タイルをどのように記憶するかを判定することと、
を実行させるための、プログラム。
[項目8]
前記コンピュータに、
2ビットを使用して前記アルファ値の判定を記憶することをさらに実行させるための、項目7に記載のプログラム。
[項目9]
前記コンピュータに、
一定の0、一定の1、および変化を含む3つのアルファ値の判定を提供することさらに実行させるための、項目7または8に記載のプログラム。
[項目10]
前記コンピュータに、
前記画素またはサンプルがクリアされたかどうかを示すために、前記タイルの画素またはサンプルのそれぞれに関するクリアビットを記憶することをさらに実行させるための、項目7から9のいずれか一項に記載のプログラム。
[項目11]
前記コンピュータに、
タイルが圧縮形式で記憶可能となるためクリアビットの最大数を判定することさらに実行させるための、項目10に記載のプログラム。
[項目12]
前記コンピュータに、
圧縮形式で記憶するためにタイルを圧縮するため、一定のおよび変化するアルファ値のそれぞれについてクリアビットの最大数を判定することをさらに実行させるための、項目11に記載のプログラム。
[項目13]
シーケンスを実行するプロセッサであって、前記シーケンスを実行するために、前記プロセッサは、画素またはサンプルのタイルが一定のまたは変化するアルファ値を有するかどうかを判定し、前記タイルに関するクリアされた画素またはサンプルの数を判定し、前記アルファ値の判定およびクリアされた画素またはサンプルの前記数に基づき、前記タイルをどのように記憶するかを判定する、プロセッサと、
前記プロセッサに連結される記憶装置と、
を備える、装置。
[項目14]
前記シーケンスを実行するために、前記プロセッサは、前記アルファ値の判定を記憶するために2ビットを使用する、項目13に記載の装置。
[項目15]
前記シーケンスを実行するために、前記プロセッサは、一定の0、一定の1、および変化を含む3つのアルファ値の判定を提供する、項目13または14に記載の装置。
[項目16]
前記シーケンスを実施するために、前記プロセッサは、前記画素またはサンプルがクリアされたかどうかを示すために、前記タイルの画素またはサンプルのそれぞれについてクリアビットを記憶する、項目13から15のいずれか一項に記載の装置。
[項目17]
前記シーケンスを実行するために、前記プロセッサは、タイルが圧縮形式で記憶可能となるためのクリアビットの最大数を判定する、項目16に記載の装置。
[項目18]
前記シーケンスを実行するために、前記プロセッサは、圧縮形式で記憶するためにタイルを圧縮するために、一定のおよび変化するアルファ値のそれぞれについてクリアビットの最大数を判定する、項目17に記載の装置。
[項目19]
メモリと、
前記メモリに連結されるプロセッサであって、画素が、任意の他の描写されたオブジェクトによってカバーされないためにクリアされたかどうかを判定し、クリアされない画素に関するカラー値のみを前記メモリに記憶するプロセッサと、
を備える、装置。
[項目20]
前記プロセッサは、グラフィックスプロセッシングユニットである、項目19に記載の装置。
[項目21]
前記プロセッサは、画素ごとに1ビットのクリアマスクを各圧縮タイルに記憶することを含む、項目19または20に記載の装置。
[項目22]
前記プロセッサは、2つのマスクビットを使用して、アルファ値が前記タイルの全体にわたって0、1、または非一定であるかどうかを示す、項目21に記載の装置。
[項目23]
前記プロセッサは、カラー値を完全な精度で記憶する、項目22に記載の装置。
[項目24]
前記プロセッサは、デルタ値のビットを使用してクリアされた画素を表記する、項目19から23のいずれか一項に記載の装置。