(57)【特許請求の範囲】
【請求項１】
ピクセルの矩形領域であるタイル内の複数の色値の周囲に第１最小ボックスを画定する段階と、
前記第１最小ボックスを複数のセルに分割する段階と、
それぞれの空でないセルに対するベース色値を決定する段階と、
前記ベース色値を用いて各値をエンコードする段階とを備える、方法。
【請求項２】
各セルに対して複数の色値の周囲に第２最小ボックスを画定する段階を備える、請求項１に記載の方法。
【請求項３】
結合される複数の前記第２最小ボックスの総体積を最も少ない量だけ増大させる前記複数の第２最小ボックスのペアを結合する段階を備える、請求項２に記載の方法。
【請求項４】
前記エンコードのコストが閾値未満に低下するまで反復して、複数の前記第２最小ボックスのペアを結合する段階とを備える、請求項３に記載の方法。
【請求項５】
空でないセルに対する前記ベース色値に関して当該セルにおける各値に対する複数の残差をエンコードする段階を備える、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
エンコードされるべきグループ内の全ての色値から最小の色値を減算して各チャネルに対する複数の色値成分を形成する段階を備える、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
各チャネルの最大色値成分を見出す段階を備える、請求項５に記載の方法。
【請求項８】
１つのチャネル当たりの最大色値成分を用いてカラーエンコードを１つの整数のコストに変換する段階を備える、請求項６に記載の方法。
【請求項９】
色空間に対する全てのチャネルを一緒にエンコードする段階を備える、請求項１〜８のいずれか１項に記載の方法。
【請求項１０】
乗算および除算をすることなくエンコードする段階を備える、請求項１〜９のいずれか１項に記載の方法。
【請求項１１】
分割がセットにわたって定数を用いて実装されるように、複数の幅を前記セットに割り当てる段階を備える、請求項１〜１０のいずれか１項に記載の方法。
【請求項１２】
同一の色成分の複数の値を一緒にエンコードする段階を備える、請求項１〜１１のいずれか１項に記載の方法。
【請求項１３】
実行されると、コンピュータに、
ピクセルの矩形領域であるタイル内の複数の色値の周囲に第１最小ボックスを画定する手順と、
前記第１最小ボックスを複数のセルに分割する手順と、
それぞれの空でないセルに対するベース色値を決定する手順と、
前記ベース色値を用いて各値をエンコードする手順と有するシーケンスを実行させる、コンピュータプログラム。
【請求項１４】
前記シーケンスは、
各セルに対して複数の色値の周囲に第２最小ボックスを画定する手順を有する、請求項１３に記載のコンピュータプログラム。
【請求項１５】
前記シーケンスは、結合される複数の前記第２最小ボックスの総体積を最も少ない量だけ増大させる前記複数の第２最小ボックスのペアを結合する手順を有する、請求項１４に記載のコンピュータプログラム。
【請求項１６】
前記シーケンスは、
前記エンコードのコストが閾値未満に低下するまで反復して、複数の前記第２最小ボックスのペアを結合する手順とを有する、請求項１５に記載のコンピュータプログラム。
【請求項１７】
前記シーケンスは、空でないセルに対する前記ベース色値に関して当該セルにおける各値に対する複数の残差をエンコードする手順を有する、請求項１３〜１６のいずれか１項に記載のコンピュータプログラム。
【請求項１８】
前記シーケンスは、色空間に対する全てのチャネルを一緒にエンコードする手順を有する、請求項１３〜１７のいずれか１項に記載のコンピュータプログラム。
【請求項１９】
ピクセルの矩形領域であるタイル内の複数の色値の周囲に第１最小ボックスを画定し、前記第１最小ボックスを複数のセルに分割し、それぞれの空でないセルに対するベース色値を決定し、前記ベース色値を用いて各値をエンコードするプロセッサと、
前記プロセッサに結合されたストレージとを備える、装置。
【請求項２０】
前記プロセッサは、
各セルに対して複数の色値の周囲に第２最小ボックスを画定する、請求項１９に記載の装置。
【請求項２１】
前記プロセッサは、結合される複数の前記第２最小ボックスの総体積を最も少ない量だけ増大させる前記複数の第２最小ボックスのペアを結合する、請求項２０に記載の装置。
【請求項２２】
前記プロセッサは、
前記エンコードのコストが閾値未満に低下するまで反復して、複数の前記第２最小ボックスのペアを結合する、請求項２１に記載の装置。
【請求項２３】
前記プロセッサは、空でないセルに対する前記ベース色値に関して当該セルにおける各値に対する複数の残差をエンコードする、請求項１９〜２２のいずれか１項に記載の装置。
【請求項２４】
前記プロセッサは、色空間に対する全てのチャネルを一緒にエンコードする、請求項１９〜２３のいずれか１項に記載の装置。
【請求項２５】
前記プロセッサは、乗算および除算をすることなくエンコードする、請求項１９〜２４のいずれか１項に記載の装置。
【請求項２６】
請求項１３〜１８のいずれか１項に記載のコンピュータプログラムを格納するコンピュータ可読記録媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
これは、グラフィックス処理に関する。
【０００２】
グラフィックスアーキテクチャを設計する場合、エネルギー効率性がハードウェア設計において最も重くのしかかる性能要因であるので、メモリ帯域幅を低減することは、極めて重要である。メモリバスを介するトランザクションには、エネルギーおよびレイテンシの観点から、電算処理よりも数桁は大きな規模のコストが掛る場合がある。従って、より多くの電算処理を犠牲にして帯域幅の使用量を低減し、それにより電力消費を低減し、および／または全体としての性能を高めることを試みるのが通常である。これが、グラフィックス処理ユニット（ＧＰＵ）に通常見られるバッファ圧縮アルゴリズムの背後にある動機である。
【０００３】
カラーバッファ圧縮については、アルゴリズムは、有用である場合に各タイルの色データ（例えば、ピクセルの矩形領域）をいくつかの閾値のサイズに圧縮することに成功しなければならない。例えば、未圧縮の形態の１０２４ビットを用いるタイルは、圧縮から何かが得られる場合には、５１２ビットまで圧縮する必要があり得る（圧縮／未圧縮タイルのサイズは、アーキテクチャに基づいて変わり、典型的にはメモリシステムの制約に関係する）。従って、それらの閾値（本例においては５１２ビット）まで圧縮され得るタイルが多くなるほど、メモリに対して用いられる帯域幅は小さくなる。圧縮され得る複数のタイルとタイルの総数との間のこの比率は圧縮レートと呼ばれ、これは圧縮アルゴリズムの効率性を評価する場合に重要な基準である。いくつかの異なる閾値が存在し得、例えば２０４８ビットから５１２ビットの倍数の１５３６ビット、または１０２４ビット、または５１２ビットまで圧縮する。この場合、これらの閾値が優先され得、最低の閾値（すなわち、この場合には５１２）で開始する。
【０００４】
典型的なカラーバッファ圧縮アルゴリズムは、最小の色成分をタイルの中から見つけ、次に１つのチャネル当たりの最小の色成分に対する残差をエンコードするべく、できるだけ少ないビットを用い得る。これらのスキームは、オフセット圧縮法と呼ばれる場合がある。グラフィックスアプリケーションプログラムインターフェース（ＡＰＩ）（ＯｐｅｎＧＬおよびＤｉｒｅｃｔＸ）は、カラーバッファが可逆であること、すなわち圧縮／解凍処理において情報が破棄され得ないことを要求することに留意されたい。
【図面の簡単な説明】
【０００５】
いくつかの実施形態は、以下の図面に関して説明される。
【図１】一仮定例における赤および緑のチャネルのグラフである。
【図２】パーティション化の一実施形態のフロー図である。
【図３】一実施形態のシステムの図示である。
【図４】システムの一実施形態の前方立面図である。
【発明を実施するための形態】
【０００６】
多くのタイルは、複数の色の２またはそれより多い別個のグループを含み得る。例えば、タイルは、青みを帯びた複数の色のグループ、および黄色みを帯びた複数の色の別のグループを含み得る。これらのグループを一緒に圧縮することは、多くの場合、あまり効率的ではない。これは、２つの別個のグループの間の色空間における長い距離のためであり、このために圧縮に大きな複数の残差を必要とする。
【０００７】
まず、複数の色は、各グループ内における色の多様性が小さくなるように、タイル内で別個のグループにパーティション化される。第２に、各グループは効率的にエンコードされ得る。本明細書に説明されるアルゴリズムは、従前のアルゴリズムより高い圧縮レートを提供し得、従っていくつかの実施形態において、電算処理コストの非常に低い増加でメモリ帯域幅を更に低減し得る。アルゴリズムは、既存の複数のバッファ圧縮アルゴリズムを用いるシステムに追加され得、既存のアルゴリズムが圧縮できない追加の複数のタイルを処理し、それにより全体としての圧縮レートを増加させる。
【０００８】
パーティション化スキームの一実施形態において、最小ボックスがタイルの色の周囲に画定され、次にこのボックスは、一実施形態においてペアレントボックスをカバーする複数の素のセル（やはりボックス形状）の数を有するグリッドに分割される。しかし、他の複数の構成、例えば矩形グリッドセルも用いられ得る。各セルについて、当該セルに含まれる複数の色の最小ボックスが見出される。最悪の場合には、このボックスはグリッドセル自体と同程度に大きくなるが、複数のサンプルが密なグループを形成する場合、ボックスは通常、より小さくなる。次に、これらのボックスは、効率的に格納され得るグループの予め定められた数が識別されるまで結合される。この数は、圧縮データのサイズに依存し、従って一実施形態において、５１２ビットのバジェットに対しては、例えば２または３グループが提供され得るであろう。次に、複数の色のセットの周囲における最小ボックスが見出され、効率的にエンコードされる。
【０００９】
このアルゴリズムは、いくつかの実施形態において全てのチャネルを一緒に同時にエンコードし、より効率的であり得る。
【００１０】
例えば、Ｎ個の色を有するタイルは、複数のＲＧＢ値により規定されるものと仮定されたい。しかし、いずれの色空間も用いられてよい。図１において、赤および緑のチャネル（ＲおよびＧ）のみが示される。
【００１１】
図１の左側に、赤（Ｒ）および緑（Ｇ）の軸が８ピクセルカラー、つまり４つの緑（白丸）および４つの赤（黒丸）に対して示される。中央に、ピクセルカラーの周囲に最小ボックスが描かれている。円Ｄは左側の底部角にあり、これら８ピクセルカラーの最小色である。中央で、最小ボックスは２×２のセルに分割される。右側で、各セルに対する最小ボックスＢ１およびＢ２が計算され、これにより２つのグループを作成する。黒円Ｄ１およびＤ２は、これら２つのグループに対する最小色を示す。
【００１２】
最も単純なクラスタ化アルゴリズムにおいて、それぞれの空でないセルは、最小色（図１の黒円Ｄ１およびＤ２）を用いてエンコードされるのみであり、次に当該ボックス内の残差に対するいくつかのエンコードが続く。これは、標準的な複数の方法または以下に説明される方法により行われ得る。
【００１３】
本例は２次元であるが、通常は３次元（ＲＧＢ）または４次元（ＲＧＢＡ）である。グループ（またはボックス）の最小色の符号化は、どちらかといえば高価であり、２つのグループ（ボックス）を１つに結合することは意味がある場合がある。また、潜在的には各ボックスの体積を低減し、従って残差ビットの数を低減するべく、複数の色を、疑似輝度または強度（Ｙ）、オレンジクロミナンス、つまりＣｏおよび緑クロミナンスＣｇ、つまり（ＹＣｏＣｇ）のような別の色空間に変換することが選択され得る。例えば、低クロミナンスを有する複数の画像において、分散のほとんどは、Ｙ軸に沿っている。
【００１４】
反復スキームにおいて、もたらされる複数の結合グループ（ボックス）の総体積を最も増加させない複数のグループ（ボックス）のペアが結合される。ＲＧＢ空間において、１次元当たりで１回分割することにより、８つのセルが得られる。各グループは、ｘ、ｙ、またはｚにおいて１つの直接の隣接物のみを有する。１つの有用な結合ヒューリスティックは、任意の他の隣接物と結合することと比較して、最小の体積を提供する隣接物と最小ボックスとを結合することである。成功した圧縮に対するビット閾値未満にコストが低下するまで、これを反復して行う。目標のビット閾値に到達する（またはそれより小さい）まで結合を専ら継続する必要がある。
【００１５】
１次元当たり２回以上分割することも可能である。これにより、より多くのセルを作成し、これらのセルの最小ボックスが結合され得る。この場合に各セルは、より多くの直接の隣接物を得ることができる。
【００１６】
エンコードする複数の色の１つのグループが存在すると仮定すると、ＲＧＢ空間内のこれらの色の周囲のボックスに対して、最小色が識別される。各チャネル色に対する複数の残差成分を算出するべく、この最小色はまず、グループ内の全ての色から減算され得る。次に各チャネルの最大の色成分ＬＲ、ＬＧ、ＬＢが見出される。各チャネルの「幅」は、ｗＲ、ｗＧ、ｗＢとして示され、ｗＲ＝ＬＲ＋１等である。
【００１７】
ほとんどのスキームは、整数のビットを単に用いて、１チャネル当たりの残差を格納する。これは、例えば赤のチャネルＲについては、ＷＲ＜＝２ｋとなるように最小のｋが見出され、次にｋビットを用いてＲについて各残差をエンコードすることを意味する。しかし、これは非常に無駄の多いものとなり得る。例えば、最大残差が３２である場合、（５ビットのみが２５−１＝３１に到達するので）当該残差をエンコードするのに６ビットが必要とされる。
【００１８】
これに代えて、より効率的な符号化技術が用いられ得る。以下の説明はやはりＲＧＢ空間におけるものであるが、これは任意の色空間における任意の数のチャネルに一般化される。
【００１９】
色ｒ、ｇ、ｂ（上記のように、最小色は既に減算されている）がエンコードされると仮定されたい。ｒは他のチャネルに対する０〜ｗＲ−１等の数であることに留意されたい。
【００２０】
このエンコードは、以下のように、各チャネルに対する最大の色成分を用いて１つの整数のコストＴに変換される。
【数１】
0006427831.tif 000002
この数は、最大で０〜（ｗＲ＊ｗＧ＊ｗＢ−１）になり得る。従って、最小数ｋは、（ｗＲ＊ｗＧ＊ｗＢ−１）＜２ｋであり、各Ｔがｋビットでエンコードされるように見出される。
【００２１】
ｃは１ピクセル当たりのチャネルの数と仮定すると、これは、１ピクセル当たり０〜ｃ−１ビットを節約する。いくつかの例は、以下のテーブル１に含まれる。
【表１】
0006427831.tif 000003
表１。各残差成分を個々にエンコードすることに代えて、複数の残差を単一の符号なし整数としてエンコードすることによりビットを節約する複数の例。
【００２２】
次に、デコードが説明される。（１ピクセル当たりの）数Ｔを有し、ｒ、ｇ、およびｂをデコードすることを希望する。
【数２】
0006427831.tif 000004
【００２３】
１カラーグループ毎に、グループのサイズ、つまり１タイル毎にｗＲ、ｗＧ、ｗＢが格納される。現行の複数のスキームは、１チャネル当たり３ビット（Ｒ８Ｇ８Ｂ８Ａ８に対する）を格納する必要あり得、いくつかの実施形態において本スキームに従う最適化を用いて１チャネル当たり６ビットを格納する必要があり得る。従って、コストは、６×４−３×４＝１２ビットだけ増加し、これは許容可能である。
【００２４】
上記のように、複数のＲＧＢＡチャネルは、一緒にエンコードされた。別の代替形態は、複数の他のチャネルから分離される全ての赤色値をエンコードすることであり、全ての緑色値は、一緒にエンコードされ、他のチャネルから分離され、青色およびアルファについても同様である。例えば、３つの赤色値が１グループにおいてエンコードされる場合、等式１は以下のように書き換えられ得るであろう。
【数３】
0006427831.tif 000005
【００２５】
同様に、デコード（等式２）は、調整され得る（ｗＧ（および他のもの）が用いられる全ての場合に単にｗＲを用いる）。これは潜在的にはより効率的であり得、１つのグループにおいてより多くのチャネル成分（例えば、赤色値）を一緒にエンコードすることが選択され得る。例えば、８つのチャネル成分（例えば、赤色値）を一緒にエンコードすることが決定され得る。これは場合によっては、適応的にも実行され得る。すなわち、最良のトレードオフに到達するまでますます多くのチャネル成分がエンコードされ、これはより少ないビットを用いるので、コストＴは２の累乗に可能な限り近づき得る。
【００２６】
エンコード（等式１）およびデコード（等式２）は、乗算および除算の両方（ならびに剰余、すなわち％演算子）を含む。いくつかのグラフィックスプロセッサについては、これらの演算のコストを低減することが所望であり得る。例えば、各チャネルの幅、すなわちｗＲ、ｗＧ、ｗＢは、除算をより単純なものとするように限定され得る。
【００２７】
既に、幅ｗＲ、ｗＧ、ｗＢは、２の累乗、すなわち２ｊのみを有するようになり得る。これは、除算をシフトさせるが、やはりビットを全く節約しない。一実施形態において、以下の複数の幅が用いられ得る。
【数４】
0006427831.tif 000006
【００２８】
ＲＧＢについては、ｗＲ＊ｗＧで除算する。この数は次式のように記載される。
【数５】
0006427831.tif 000007
除算は、次式のようになる。
【数６】
0006427831.tif 000008
【００２９】
２ｎおよび２ｍで除算することにより除算となり、次に残りの数は、｛１，３，５，７｝のいずれかである２つの数で除算され得る。
【００３０】
これらは、インターネットでｈａｃｋｅｒｓｄｅｌｉｇｈｔ．ｏｒｇ／ｄｉｖｃＭｏｒｅ．ｐｄｆ．において入手可能なＩｎｔｅｇｅｒ  Ｄｉｖｉｓｉｏｎ  ｂｙ  Ｃｏｎｓｔａｎｔｓに説明されるように比較的単純にハードウェアに実装され得る。
【００３１】
別の代替形態は、幅を０〜１５、かつｋ×１６、ｋ＞＝１の数にさせる。これは、除算が１〜１５の定数、すなわち１、２、３、４、５、６、７、８、９、１０、１１、１２、１３、１４、１５を用いて実装されることを意味する。
【００３２】
これは、３、５、７、１１、１３の除算に要約される（２での除算をカウントせず、または反復しない）。残りはシフトである。
【００３３】
入手可能である場合、２つ以上のピクセルはエンコードされて１つの数になり得る。Ｎ個の色が一緒にエンコードされる場合、０〜Ｎ−１ビットが節約され得る。
【００３４】
本明細書に説明される２つのパーティション化およびエンコードスキームは、例えば必要性および実用性に応じて互い独立して、または一緒に用いられ得る。
【００３５】
図２に示されるクラスタ化アルゴリズム１０は、ソフトウェア、ファームウェア、および／またはハードウェアの形で実装され得る。ソフトウェアおよびファームウェアの複数の実施形態において、これは磁気、光、または半導体ストレージ等の１または複数の非一時的コンピュータ可読媒体に格納される複数のコンピュータ実行命令により実装されてもよい。例えば一実施形態において、これはグラフィックスプロセッサに関連付けられたストレージにおいて実装されてもよい。
【００３６】
クラスタ化アルゴリズム１０は、ブロック１２に示されるように、タイル内の色の変量に基づいて複数の色値のタイルを複数のセルに分割することで開始する。これらのセルは、タイルの任意の一部であり得る。
【００３７】
次に、ブロック１４に示されるように、それぞれの空でないセルに対するベース色値が決定される。上記の一実施形態において、ベース色値は、セルの最小の色値であってもよい。しかし、いくつかの例に言及するならば、最大値、中間値、または平均値を含む他の複数の値も用いられ得る。ブロック１５に示されるように、もたらされる結合グループの総体積を最も増加させない複数のグループのペアが結合される。
【００３８】
最終的に、空でないセルにおける各色値に対する残差は、ブロック１６に示されるようにベース色値に関してエンコードされる。複数の色値をエンコードするための異なる様々な技術が上記されている。他の複数の技術も用いられてもよい。
【００３９】
図３は、システム７００の一実施形態を図示する。複数の実施形態において、システム７００はメディアシステムであってもよいが、システム７００は、この文脈に限定されるものではない。例えば、システム７００は、パーソナルコンピュータ（ＰＣ）、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、ハンドヘルドコンピュータ、パームトップコンピュータ、携帯情報端末（ＰＤＡ）、携帯電話、携帯電話／ＰＤＡの組み合わせ、テレビ、スマートデバイス（例えば、スマートフォン、スマートタブレットまたはスマートテレビ）、モバイルインターネットデバイス（ＭＩＤ）、メッセージングデバイス、データ通信デバイス等に組み込まれてもよい。
【００４０】
複数の実施形態において、システム７００は、ディスプレイ７２０に結合されたプラットフォーム７０２を備える。プラットフォーム７０２は、コンテンツサービスデバイス７３０もしくはコンテンツ配信デバイス７４０、または他の類似のコンテンツソース等のコンテンツデバイスからコンテンツを受信し得る。１または複数のナビゲーション機能を備えるナビゲーションコントローラ７５０は、例えば、プラットフォーム７０２および／またはディスプレイ７２０とインタラクトするように用いられてもよい。これらのコンポーネントの各々は、以下により詳細に説明される。
【００４１】
複数の実施形態において、プラットフォーム７０２は、チップセット７０５、プロセッサ７１０、メモリ７１２、ストレージ７１４、グラフィックスサブシステム７１５、複数のアプリケーション７１６、および／または無線機７１８の任意の組み合わせを備え得る。チップセット７０５は、プロセッサ７１０、メモリ７１２、ストレージ７１４、グラフィックスサブシステム７１５、複数のアプリケーション７１６、および／または無線機７１８の間の相互通信を提供し得る。例えば、チップセット７０５は、ストレージ７１４との相互通信を提供することができるストレージアダプタ（図示せず）を含み得る。
【００４２】
プロセッサ７１０は、複合命令セットコンピュータ（ＣＩＳＣ）もしくは縮小命令セットコンピュータ（ＲＩＳＣ）プロセッサ、ｘ８６命令セットに互換性のあるプロセッサ、マルチコア、またはその他のマイクロプロセッサもしくは中央処理装置（ＣＰＵ）として実装され得る。複数の実施形態において、プロセッサ７１０は、デュアルコアプロセッサ、デュアルコアモバイルプロセッサ等を備えてもよい。プロセッサは、メモリ７１２と共に、図２のシーケンスを実装し得る。
【００４３】
メモリ７１２は、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）等の揮発性メモリデバイスとして実装され得るが、これらに限定されるものではない。
【００４４】
ストレージ７１４は、磁気ディスクドライブ、光ディスクドライブ、テープドライブ、内部ストレージデバイス、装着ストレージデバイス、フラッシュメモリ、バッテリバックアップＳＤＲＡＭ（シンクロナスＤＲＡＭ）、および／またはネットワークアクセス可能なストレージデバイス等の不揮発性ストレージデバイスとして実装され得るが、これらに限定されるものではない。複数の実施形態において、ストレージ７１４は、例えば、複数のハードドライブが含まれる場合に貴重なデジタル媒体に対する記憶性能を高めた保護を増大させる技術を備え得る。
【００４５】
グラフィックスサブシステム７１５は、表示のために静止画像または動画のような複数の画像の処理を実行し得る。グラフィックスサブシステム７１５は、例えば、グラフィックス処理ユニット（ＧＰＵ）またはビジュアルプロセッシングユニット（ＶＰＵ）であってもよい。アナログまたはデジタルインターフェースは、グラフィックスサブシステム７１５およびディスプレイ７２０を通信可能に結合するように用いられてもよい。例えば、インターフェースは、高細精度マルチメディアインターフェース、ＤｉｓｐｌａｙＰｏｒｔ、無線ＨＤＭＩ（登録商標）、および／または無線ＨＤに準拠する技術のいずれかであってもよい。グラフィックスサブシステム７１５は、プロセッサ７１０またはチップセット７０５に集積され得る。グラフィックスサブシステム７１５は、チップセット７０５に通信可能に結合されたスタンドアロンカードであり得る。
【００４６】
本明細書に説明されるグラフィックスおよび／または動画処理技術は、様々なハードウェアアーキテクチャで実装され得る。例えば、グラフィックスおよび／または動画機能は、チップセット内に集積され得る。あるいは、別個のグラフィックスおよび／またはビデオプロセッサが用いられてもよい。更に別の実施形態として、グラフィックスおよび／または複数のビデオ機能は、マルチコアプロセッサを含む汎用プロセッサにより実装され得る。更なる実施形態において、これらの機能は、家庭用電子デバイスに実装され得る。
【００４７】
無線機７１８は、様々な好適の無線通信技術を用いて複数の信号を送受信することができる１または複数の無線機を含み得る。そのような複数の技術は、１または複数の無線ネットワークにわたる複数の通信を含み得る。例示的な複数の無線ネットワークとしては、無線ローカルエリアネットワーク（ＷＬＡＮ）、無線パーソナルエリアネットワーク（ＷＰＡＮ）、無線メトロポリタンエリアネットワーク（ＷＭＡＮ）、セルラーネットワーク、および衛星ネットワークが挙げられる（しかし、これらに限定されるものではない）。そのような複数のネットワークにわたって通信する場合に、無線機７１８は、任意のバージョンの１または複数の適用可能規格に準拠して動作し得る。
【００４８】
複数の実施形態において、ディスプレイ７２０は、任意のテレビタイプのモニタまたはディスプレイを備え得る。ディスプレイ７２０は、例えば、コンピュータディスプレイスクリーン、タッチスクリーンディスプレイ、ビデオモニタ、テレビ様式のデバイス、および／またはテレビを備え得る。ディスプレイ７２０は、デジタルおよび／またはアナログであってもよい。複数の実施形態において、ディスプレイ７２０は、ホログラフィックディスプレイであってもよい。また、ディスプレイ７２０は、視覚投影を受信し得る透明面であってもよい。そのような複数の投影は、様々な形態の情報、画像、および／またはオブジェクトを搬送し得る。例えば、そのような複数の投影は、モバイル拡張実現（ＭＡＲ）アプリケーションのための視覚オーバーレイであってもよい。１または複数のソフトウェアアプリケーション７１６の制御下で、プラットフォーム７０２は、ユーザインターフェース７２２をディスプレイ７２０上に表示し得る。
【００４９】
複数の実施形態において、コンテンツサービスデバイス７３０は、任意の国家的、国際的、および／または独立系サービスによりホストされ、従って例えばインターネットを介してプラットフォーム７０２にアクセス可能であり得る。コンテンツサービスデバイス７３０は、プラットフォーム７０２および／またはディスプレイ７２０に結合され得る。プラットフォーム７０２および／またはコンテンツサービスデバイス７３０は、ネットワーク７６０に、およびネットワーク７６０からメディア情報を通信する（例えば送信し、および／または受信する）べくネットワーク７６０に結合され得る。コンテンツ配信デバイス７４０は、プラットフォーム７０２および／またはディスプレイ７２０にも結合され得る。
【００５０】
複数の実施形態において、コンテンツサービスデバイス７３０は、ケーブルテレビボックス、パーソナルコンピュータ、ネットワーク、電話、インターネットが可能なデバイス、もしくはデジタル情報および／またはコンテンツを提供することができる電気機器、およびネットワーク７６０を介し、または直接に複数のコンテンツプロバイダと、プラットフォーム７０２と、ディスプレイ７２０との間で一方向または双方向にコンテンツを通信することができるその他の類似のデバイスを備え得る。コンテンツは、ネットワーク７６０を介してシステム７００における複数のコンポーネントのうちのいずれか１つおよびコンテンツプロバイダに、およびこれらから一方向および／または双方向に通信され得ることが理解されよう。コンテンツの複数の例としては、例えば、動画、音楽、医療およびゲーム情報等を含む任意のメディア情報が挙げられ得る。
【００５１】
コンテンツサービスデバイス７３０は、メディア情報、デジタル情報、および／または他のコンテンツを含むケーブルテレビ番組等のコンテンツを受信する。コンテンツプロバイダの複数の例としては、任意のケーブルもしくは衛星テレビ、またはラジオもしくはインターネットコンテンツプロバイダが挙げられ得る。提供される複数の例は、適用可能な実施形態を限定することを意図しない。
【００５２】
複数の実施形態において、プラットフォーム７０２は、１または複数のナビゲーション機能を有するナビゲーションコントローラ７５０から複数の制御信号を受信し得る。コントローラ７５０の複数のナビゲーション機能は、例えば、ユーザインターフェース７２２とインタラクトするように用いられ得る。複数の実施形態において、ナビゲーションコントローラ７５０は、ユーザが空間（例えば、連続した多次元の）データをコンピュータに入力することを可能にする、コンピュータハードウェアコンポーネント（具体的にはヒューマンインターフェースデバイス）であり得るポインティングデバイスであってもよい。グラフィカルユーザインターフェース（ＧＵＩ）等の多くのシステム、ならびに複数のテレビおよびモニタは、ユーザが物理的なジェスチャを用いてコンピュータまたはテレビを制御し、これらにデータを提供することを可能にする。
【００５３】
コントローラ７５０におけるナビゲーション機能の動きは、ディスプレイ上に表示されるポインタ、カーソル、フォーカスリング、または他の複数の視覚インジケータの動きにより、ディスプレイ（例えば、ディスプレイ７２０）上に反映され得る。例えば、ソフトウェアアプリケーション７１６の制御下で、ナビゲーションコントローラ７５０上に位置する複数のナビゲーション機能は、例えばユーザインターフェース７２２上に表示される複数の仮想ナビゲーション機能にマッピングされ得る。複数の実施形態において、コントローラ７５０は、別個のコンポーネントではなく、プラットフォーム７０２および／またはディスプレイ７２０に統合されてもよい。しかし、実施形態は、本明細書に示され、または説明される要素または文脈に限定されない。
【００５４】
複数の実施形態において、複数のドライバ（図示せず）は、例えば、有効にされると、初期ブートアップ後にユーザがボタンに触れることによりテレビ等のプラットフォーム７０２を即座にオンおよびオフにすることを可能にする技術を備え得る。プラットフォームが「オフ」にされると、プログラムロジックは、プラットフォーム７０２がコンテンツをメディアアダプタもしくは他のコンテンツサービスデバイス７３０、またはコンテンツ配信デバイス７４０にストリーミングすることを可能にし得る。更に、チップセット７０５は、例えば、５．１サラウンドサウンドオーディオおよび／または高細精度７．１サラウンドサウンドオーディオに対するハードウェアおよび／またはソフトウェアのサポートを備え得る。複数のドライバは、複数の統合グラフィックスプラットフォームためのグラフィクスドライバを含み得る。複数の実施形態において、複数のグラフィクスドライバは、周辺構成要素相互接続（ＰＣＩ）エクスプレスグラフィックスカードを備え得る。
【００５５】
様々な実施形態において、システム７００において示される複数のコンポーネントのうちの任意の１または複数が統合され得る。例えば、プラットフォーム７０２およびコンテンツサービスデバイス７３０が統合されてもよく、またはプラットフォーム７０２およびコンテンツ配信デバイス７４０が統合されてもよく、または例えば、プラットフォーム７０２、コンテンツサービスデバイス７３０、およびコンテンツ配信デバイス７４０が統合されてもよい。様々な実施形態において、プラットフォーム７０２およびディスプレイ７２０は、統合されたユニットであってもよい。例えば、ディスプレイ７２０およびコンテンツサービスデバイス７３０が統合されてもよく、またはディスプレイ７２０およびコンテンツ配信デバイス７４０が統合されてもよい。これらの例は、範囲の限定であることを意図しない。
【００５６】
様々な実施形態において、システム７００は、無線システム、有線システム、または両方の組み合わせとして実装され得る。無線システムとして実装される場合、システム７００は、１または複数のアンテナ、トランスミッタ、レシーバ、トランシーバ、増幅器、フィルタ、制御ロジック等のような無線共有媒体を介して通信するのに好適な複数のコンポーネントおよびインターフェースを含み得る。無線共有媒体の例としては、ＲＦスペクトル等のような無線スペクトルの一部が挙げられ得る。有線システムとして実装される場合、システム７００は、入力／出力（Ｉ／Ｏ）アダプタ、対応する有線通信媒体とＩ／Ｏアダプタを接続する物理コネクタ、ネットワークインターフェースカード（ＮＩＣ）、ディスクコントローラ、ビデオコントローラ、オーディオコントローラ等のような有線通信媒体を介して通信するのに好適な複数のコンポーネントおよびインターフェースを含み得る。有線通信媒体の複数の例としては、ワイヤ、ケーブル、金属リード線、プリント回路基板（ＰＣＢ）、バックプレーン、スイッチファブリック、半導体材料、ツイストペアワイヤ、同軸ケーブル、光ファイバ等が挙げられ得る。
【００５７】
プラットフォーム７０２は、情報を通信するべく１または複数の論理または物理チャネルを確立し得る。情報は、メディア情報および制御情報を含み得る。メディア情報は、ユーザ向けのコンテンツを表す任意のデータを指し得る。コンテンツの複数の例としては、例えば、音声会話、ビデオ会議、ストリーミング動画、電子メール（「ｅメール」）メッセージ、ボイスメールメッセージ、英数字記号、グラフィックス、画像、ビデオ、テキスト等からのデータが挙げられ得る。音声会話からのデータは、例えば、発言情報、無音期間、バックグラウンドノイズ、コンフォートノイズ、トーン等であり得る。制御情報は、自動システム向けの複数のコマンド、命令、または制御ワードを表す任意のデータを指し得る。例えば、制御情報は、システムを通じてメディア情報をルーティングし、または予め定められたようにメディア情報を処理するようノードに指示するべく用いられ得る。しかし、実施形態は、図３に示され、または説明される要素または文脈に限定されない。
【００５８】
上記のように、システム７００は、異なる物理的スタイルまたはフォームファクタで実施され得る。図４は、システム７００が実施され得る小さいフォームファクタデバイス８００の複数の実施形態を図示する。例えば複数の実施形態において、デバイス８００は、無線機能を有するモバイルコンピューティングデバイスとして実装され得る。例えば、モバイルコンピューティングデバイスは、処理システム、および１または複数のバッテリ等、モバイル電源または電力供給を有する任意のデバイスを指し得る。
【００５９】
上記のように、モバイルコンピューティングデバイスの複数の例としては、パーソナルコンピュータ（ＰＣ）、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、ハンドヘルドコンピュータ、パームトップコンピュータ、携帯情報端末（ＰＤＡ）、携帯電話、携帯電話／ＰＤＡの組み合わせ、テレビ、スマートデバイス（例えば、スマートフォン、スマートタブレットまたはスマートテレビ）、モバイルインターネットデバイス（ＭＩＤ）、メッセージングデバイス、データ通信デバイス等が挙げられ得る。
【００６０】
モバイルコンピューティングデバイスの複数の例としては、リストコンピュータ、フィンガーコンピュータ、リングコンピュータ、眼鏡コンピュータ、ベルトクリップコンピュータ、アームバンドコンピュータ、シューズコンピュータ（ｓｈｏｅ  ｃｏｍｐｕｔｅｒ）、衣類コンピュータ（ｃｌｏｔｈｉｎｇ  ｃｏｍｐｕｔｅｒ）、および他のウェアラブルコンピュータ等、人により着用されるように構成された複数のコンピュータも挙げられ得る。例えば複数の実施形態において、モバイルコンピューティングデバイスは、複数のコンピュータアプリケーション、ならびに音声通信および／またはデータ通信を実行することができるスマートフォンとして実装され得る。いくつかの実施形態は、例として、スマートフォンとして実施されるモバイルコンピューティングデバイスと共に説明され得るが、他の複数の無線モバイルコンピューティングデバイスを同様に用いる他の複数の実施形態が実施され得ることが理解され得る。これらの実施形態は、この文脈において限定されない。
【００６１】
以下の付記および／または例は、更なる実施形態に関する。例示的な一実施形態は、タイル内の色の変量に基づいて、コンピュータプロセッサを用いて複数の色値のタイルを複数のセルに分割する段階と、それぞれの空でないセルに対するベース色値を決定する段階と、ベース色値を用いて各値をエンコードする段階とを備える、方法であり得る。本方法は、タイルの複数の色値の周囲に最小ボックスを画定する段階と、ボックスを複数のセルに分割する段階とも備え得る。本方法は、結合される複数のボックスの総体積を最も少ない量だけ増大させる複数のボックスのペアを結合する段階も備え得る。本方法は、任意の他の隣接物と結合することと比較して、最小の体積を提供する隣接物と最小ボックスを結合させる段階と、エンコードのコストが閾値未満に低下するまで反復して結合する段階とも備え得る。本方法は、空でないセルに対するベース色値に関して当該セルにおける各値に対する複数の残差をエンコードする段階も備え得る。本方法は、エンコードされるべきグループ内の全ての色値から最小の色値を減算して各チャネルに対する複数の色値成分を形成する段階も備え得る。本方法は、各チャネルの最大色値成分を見出す段階も備え得る。本方法は、１つのチャネル当たりの最大成分を用いてカラーエンコードを１つの整数のコストに変換する段階も備え得る。本方法は、色空間に対する全てのチャネルを一緒にエンコードする段階も備え得る。本方法は、乗算および除算をすることなくエンコードする段階も備え得る。本方法は、分割がセットにわたって定数を用いて実装されるように、複数の幅を当該セットに割り当てる段階も備え得る。本方法は、同一の色成分の複数の値を一緒にエンコードする段階も備え得る。
【００６２】
別の例示的な実施形態は、タイル内の色の変量に基づいて、コンピュータプロセッサを用いて複数の色値のタイルを複数のセルに分割することと、それぞれの空でないセルに対するベース色値を決定することと、ベース色値を用いて各値をエンコードすることとを含むシーケンスを実行するプロセッサにより実行される、複数の命令を格納する１または複数の非一時的コンピュータ可読媒体であり得る。媒体は、タイルの複数の色値の周囲に最小ボックスを画定することと、ボックスを複数のセルに分割することとを含み得る。媒体は、結合される複数のボックスの総体積を最も少ない量だけ増大させる複数のボックスのペアを結合することを含み得る。媒体は、任意の他の隣接物と結合することと比較して、最小の体積を提供する隣接物と最小ボックスを結合させることと、エンコードのコストが閾値未満に低下するまで反復して結合することとを含み得る。媒体は、空でないセルに対するベース色値に関して当該セルにおける各値に対する複数の残差をエンコードすることを含み得る。媒体は、色空間に対する全てのチャネルを一緒にエンコードすることを含み得る。媒体は、乗算および除算をすることなくエンコードすることを含み得る。媒体は、分割がセットにわたって定数を用いて実装されるように、複数の幅を当該セットに割り当てることを含み得る。媒体は、同一の色成分の複数の値を一緒にエンコードすることを含み得る。
【００６３】
別の例示的な実施形態は、タイル内の色の変量に基づいて、複数の色値のタイルを複数のセルに分割し、それぞれの空でないセルに対するベース色値を決定し、ベース色値を用いて各値をエンコードするプロセッサと、当該プロセッサに結合されたストレージとを備える、装置であり得る。装置は、タイルの複数の色値の周囲に最小ボックスを画定し、ボックスを複数のセルに分割する当該プロセッサを備え得る。装置は、結合される複数のボックスの総体積を最も少ない量だけ増大させる複数のボックスのペアを結合する当該プロセッサを備え得る。装置は、任意の他の隣接物と結合することと比較して、最小の体積を提供する隣接物と最小ボックスを結合させ、エンコードのコストが閾値未満に低下するまで反復して結合する当該プロセッサを備え得る。装置は、空でないセルに対するベース色値に関して当該セルにおける各値に対する複数の残差をエンコードする当該プロセッサを備え得る。装置は、色空間に対する全てのチャネルを一緒にエンコードする当該プロセッサを含み得る。装置は、乗算および除算をすることなくエンコードする当該プロセッサを備え得る。装置は、バッテリを有する当該プロセッサを備え得る。装置は、ファームウェア、およびファームウェアを更新するモジュールを有する当該プロセッサを備え得る。
【００６４】
本明細書において説明される複数のグラフィックス処理技術は、様々なハードウェアアーキテクチャにおいて実装され得る。例えば、グラフィックス機能は、チップセット内に統合され得る。あるいは、別個のグラフィックスプロセッサが用いられ得る。更に別の実施形態として、複数のグラフィックス機能は、マルチコアプロセッサを含む汎用プロセッサにより実装され得る。
【００６５】
本明細書を通して「一実施形態」または「実施形態」を参照する場合、実施形態に関連して説明される特定の機能、構造、または特性が、本開示に包含される少なくとも一実装に含まれることを意味する。従って、「一実施形態」または「実施形態において」という文言が現れても、必ずしも同一の実施形態を指すわけではない。更に、特定の機能、構造、または特性は、図示される特定の実施形態以外の他の好適な形式で設けられてもよく、またそのような全ての形態は、本願の特許請求の範囲に包含され得る。
【００６６】
限定された数の実施形態が説明されているが、当業者は、それらから多くの修正形態および改変形態を理解するであろう。添付の特許請求の範囲は、そのような全ての修正形態および改変形態を、本開示の真の主旨および範囲内に含まれるものとして包含することが意図されている。
【図１】
0006427831.tif 000009
【図２】
0006427831.tif 000010
【図３】
0006427831.tif 000011
【図４】
0006427831.tif 000012