(57)【特許請求の範囲】
【請求項１】
画像データの圧縮されたブロックを受信するステップであって、該ブロックは、画像の少なくとも一部を表す、ステップと、
前記圧縮されたブロックをハッシュ処理して鍵を導出するステップと、
前記鍵をインデックスとして使用して、キャッシュ内のキャッシュされたデータへアクセスするステップと、
前記圧縮されたブロック内のエンドポイント色が、前記鍵によってインデックス付けされる前記キャッシュされたデータ内の対応するフィールドに合致するかどうかを判断する、前記キャッシュされたデータの妥当性チェックを実行するステップと、
を含む、方法。
【請求項２】
前記キャッシュされたデータが前記妥当性チェックに通るとき、前記キャッシュされたデータを、画像データの前記圧縮されたブロックに対応する圧縮解除された画像データとして使用するステップを更に含む、請求項１に記載の方法。
【請求項３】
前記キャッシュされたデータが前記妥当性チェックに通らないとき、前記圧縮されたブロックを圧縮解除して、該圧縮されたブロックに対応する画像データを生成するステップを更に含む、請求項１に記載の方法。
【請求項４】
前記の圧縮解除の後に、前記画像データを前記キャッシュに前記鍵に対応する位置で書き込むステップを更に含む、請求項３に記載の方法。
【請求項５】
前記ハッシュ処理は、前記圧縮されたブロックのモジュラ減少を備える、請求項１に記載の方法。
【請求項６】
前記モジュラ減少のモジュラスは２５５である、請求項５に記載の方法。
【請求項７】
プロセッサと、
画像データの圧縮されたブロックを受信するためのロジックであって、該ブロックは、画像の少なくとも一部を表す、ロジックと、
前記圧縮されたブロックをハッシュ処理して鍵を導出するためのロジックと、
前記鍵をキャッシュ内のキャッシュされたデータへのインデックスとして使用して、該キャッシュされたデータへアクセスするためのロジックと、
前記圧縮されたブロック内のエンドポイント色が、前記鍵によってインデックス付けされる前記キャッシュされたデータ内の対応するフィールドに合致するかどうかを判断する、前記キャッシュされたデータの妥当性チェックを実行するためのロジックと、
を備える、システム。
【請求項８】
前記キャッシュされたデータが前記妥当性チェックに通るとき、前記キャッシュされたデータを、画像データの前記圧縮されたブロックに対応する圧縮解除された画像データとして使用するためのロジックを更に備える、請求項７に記載のシステム。
【請求項９】
前記キャッシュされたデータが前記妥当性チェックに通らないとき、前記圧縮されたブロックを圧縮解除して、該圧縮されたブロックに対応する画像データを生成するためのロジックを更に備える、請求項７に記載のシステム。
【請求項１０】
前記の圧縮解除の後に、前記画像データを前記キャッシュの前記鍵に対応する位置に書き込むためのロジックを更に備える、請求項９に記載のシステム。
【請求項１１】
前記ハッシュ処理は、前記圧縮されたブロックのモジュラ減少を備える、請求項７に記載のシステム。
【請求項１２】
前記モジュラ減少のモジュラスは２５５である、請求項１１に記載のシステム。
【請求項１３】
制御ロジックをを備えるコンピュータプログラムであって、前記制御ロジックは、プロセッサに、
画像データの圧縮されたブロックを受信させ、該ブロックは、画像の少なくとも一部を表し、
前記圧縮されたブロックをハッシュ処理して鍵を導出させ、
前記鍵をインデックスとして使用して、キャッシュ内のキャッシュされたデータへアクセスさせ、
前記圧縮されたブロック内のエンドポイント色が、前記鍵によってインデックス付けされる前記キャッシュされたデータ内の対応するフィールドに合致するかどうかを判断する、前記キャッシュされたデータの妥当性チェックを実行させる
ロジックを備える、コンピュータプログラム。
【請求項１４】
前記制御ロジックは、前記プロセッサに、
前記キャッシュされたデータが妥当性チェックに通るとき、前記キャッシュされたデータを、画像データの前記圧縮されたブロックに対応する圧縮解除された画像データとして使用させるロジック
を更に含む、請求項１３に記載のコンピュータプログラム。
【請求項１５】
前記制御ロジックは、前記プロセッサに、
前記キャッシュされたデータが妥当性チェックに通らないとき、前記圧縮されたブロックを圧縮解除して、該圧縮されたブロックに対応する画像データを生成させるロジック
を更に含む、請求項１３に記載のコンピュータプログラム。
【請求項１６】
前記制御ロジックは、前記プロセッサに、
前記の圧縮解除の後に、前記画像データを前記キャッシュの前記鍵に対応する位置に書き込ませるロジック
を更に含む、請求項１５に記載のコンピュータプログラム。
【請求項１７】
前記ハッシュ処理は、前記圧縮されたブロックのモジュラ減少を備える、請求項１３に記載のコンピュータプログラム。
【請求項１８】
前記モジュラ減少のモジュラスは２５５である、請求項１７に記載のコンピュータプログラム。
【請求項１９】
請求項１３乃至１８のいずれか一項に記載のコンピュータプログラムを記憶するコンピュータ読取可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブロック圧縮された画像の圧縮解除のためのシステム、方法及びコンピュータプログラム製品に関する。
【背景技術】
【０００２】
画像のデジタル表現は典型的に、色、テクスチャ、不透明度等をキャプチャするために非常に多くのデータ量を含む。その結果、画像の処理及び伝送には時間がかかることがある。これにより、画像を処理又は通信するスピードは、対処する必要のあるシステム設計上の問題を提示する。画像を表すデータの素早い計算と伝送の必要性が存在するために、しばしばデータの圧縮が用いられる。これは、計算速度の問題の一部の解決、帯域幅の保護及びメモリ容量の保護を容易にする。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、圧縮及び圧縮解除の処理は、これらの処理自体の問題を生じることがある。そのような処理は、簡単なものではあるが、タイムリーな画像処理又は出力を可能にするために、素早く行われる必要がある。特に、従来の圧縮解除処理は、ハードウェアで実行される場合であってもソフトウェアで実行される場合であっても、遅く、計算コストがかかることがある。例えば圧縮解除は、グラフィクス処理ユニット（ＧＰＵ）内の専用のハードウェアを使用して実行される場合もある。それでもなお、スピードは、リアルタイム処理が望まれるときは特に問題のままである。
【課題を解決するための手段】
【０００４】
本明細書で説明されるシステム及び方法は、ブロック圧縮された画像データの圧縮解除においてキャッシュを使用することができる。キャッシュ内の各データエントリは、画像の圧縮されたブロックに対応する圧縮解除された画像データを表す。キャッシュのインデックスは、鍵とすることができ、各鍵は、対応する圧縮されたブロックに対して行われたハッシュプロセスの出力とすることができる。圧縮されたブロックの圧縮解除は、圧縮されたブロックをハッシュして、鍵を生成することによって行われる。鍵を使用してキャッシュにアクセスすることができる。鍵によってインデックス付けされた圧縮解除されたデータは、圧縮されたブロックの圧縮解除されたバージョンとして読み取られて使用される。鍵に対応するデータがない場合、又はその鍵によってインデックス付けされた、キャッシュされたデータが有効でない場合、従来の圧縮解除処理を、圧縮されたブロックに適用して、圧縮解除されたデータを得ることができる。この圧縮解除されたデータは、その後、鍵に対応する位置でキャッシュに書き込まれる。
【図面の簡単な説明】
【０００５】
【図１】画像の未圧縮のブロックを示す図である。
【図２】ブロック圧縮処理を示すフローチャートである。
【図３】圧縮されたブロックを示す図である。
【図４】ブロック圧縮解除処理を示すフローチャートである。
【図５】一実施形態に係るブロック圧縮解除処理を示すフローチャートである。
【図６】一実施形態に係るブロック圧縮解除を示すデータフロー図である。
【図７】一実施形態の特定の特徴のソフトウェア又はファームウェア実装を示すブロック図である。
【図８】一実施形態を組み込むことが可能なシステムの図である。
【図９】一実施形態を実装することが可能なモバイルデバイスの図である。
【発明を実施するための形態】
【０００６】
図面において、参照符号の一番左の桁は、その参照符号が最初に現れる図面を識別する。
【０００７】
次に、図面を参照しながら実施形態を説明する。図面において、同様の参照番号は、同一又は機能的に同様の要素を示す。具体的な構成又は配置を検討するが、これは単に例示の目的にすぎないことを理解されたい。関連する技術分野の当業者には、この説明の精神及び範囲から逸脱することなく、他の構成及び配置を使用することができることが認識されよう。関連する技術分野の当業者には、本発明を、本明細書において説明されるものの以外の様々な他のシステム及び用途に用いることもできることが明らかとなるであろう。
【０００８】
本明細書で説明されるシステム及び方法は、ブロック圧縮された画像データの圧縮解除において、キャッシュを使用することができる。キャッシュ内の各データエントリは、画像の圧縮されたブロックに対応する圧縮解除された画像データを表すことができる。キャッシュのインデックスは、鍵とすることができ、各鍵は、対応する圧縮されたブロックに対して行われるハッシュ処理の出力とすることができる。圧縮されたブロックの圧縮解除は、圧縮されたブロックをハッシュして、鍵を生成することによって行われる。鍵を使用してキャッシュにアクセスすることができる。鍵によってインデックス付けされた圧縮解除されたデータは、圧縮されたブロックの圧縮解除されたバージョンとして読み取られ、使用され得る。鍵に対応するデータがない場合、あるいはこの鍵によってインデックス付けされた、キャッシュされたデータが有効でない場合、従来の圧縮解除処理を、圧縮されたブロックに適用して、圧縮解除されたデータを得ることができる。この圧縮解除されたデータは、その後、鍵に対応する位置でキャッシュに書き込まれる。
【０００９】
画像の圧縮及び圧縮解除に先行して、画像データのブロックへの画像の分解が行われることがあり、この場合、各ブロックは、デジタルで表される。所与のブロックを、該ブロック内で生じる色のアレイとしてモデル化してもよい。これが図１に示されている。ブロック１００は、個別の数の色を有するようにモデル化され得る。ブロック１００は、４つの色、ここではａ、ｂ、ｃ、ｄと示される４つの色を有するように示されている。この例では、４色が示されているが、他の画像又は他の圧縮／圧縮解除処理について、画像データのブロックを異なる数の色でモデル化してもよい。ブロックについて色のセットが定義されると、そのブロックはブロック圧縮処理を受けることができる。
【００１０】
ブロック圧縮処理が図２に図示されている。図示された処理では、ブロックの色のデジタル表現を圧縮する。２１０において、ブロックが受信される。２２０において、２つのエンドポイントの色が決定される。これらのエンドポイントの色は、色をモデル化するのに使用される３次元の色空間において（ブロック内の色の）最も端点にある色を表すことがある。２３０において、圧縮された形式にコード化すべき追加の色が存在するかどうかの判定が行われる。存在する場合、例えばブロック内に４つの色が存在する場合、エンドポイントの色とは別に、コード化すべき２つの追加の色が存在するであろう。２４０において、残りの色のうちの１つが、３次元の色空間におけるエンドポイント色の間の線分上の位置を表すコードに割り当てられる。線分上の位置は、コード化すべき色の空間内の実際の位置に最も近いセグメント上の点を表すことがある。線分上の位置は、エンドポイント色のうちの１つからの距離として表されるか、コード化され得る。このようにして、色は３つの色座標として明示的には表されないが、線分の端からの距離として表される。この距離は、色についてのコードとして見ることができる。その結果、色は、より少ないビットを使用して表される（コード化される）。処理は２３０に戻り、ブロック内にコード化すべき追加の色が存在するかどうかの別の決定が行われる。
【００１１】
コード化すべき色が存在しない場合、２５０において、コード化された色が、エンドポイント色の表現と連結されて、圧縮されたブロックを形成する。これは図３に図示されている。２つのエンドポイント色が１つ又は複数のフィールド内に明示的に定義され得る。これらのフィールドが３１０、３２０として示されている。フィールド３３０は、予め定義された順序で提示される、色に対するコードを含むことができる。フォーマットされたデータ３００は、画像データの圧縮されたブロックを表す。
【００１２】
図４に圧縮解除処理の方法を図示する。４１０において、画像データの圧縮されたブロックを受信する。ブロックは、上述のように圧縮されたものである。４２０において、まだ処理すべき色コードが存在するかどうかの判定が行われる。処理すべき色コードが存在する場合、次いで４３０において、コードが色に変換される。定義されたエンドポイント色及び３次元色空間におけるこれらのエンドポイント色の間の線分を所与とすると、コードは、エンドポイントのうちの１つのからの距離として使用される。その場所で結果として得られる色は、元の色の近似として使用され、圧縮解除された色を表す。処理は４２０に戻り、圧縮解除色に変換する必要のある追加のコードが残っているかどうかの別の判定が行われる。未処理のコードが残っていない場合、次いで４４０において、圧縮されたブロックの圧縮解除が完了する。
【００１３】
図５に、一実施形態に係る圧縮解除の方法を図示する。５１０において、画像データの圧縮されたブロックを受信する。５２０において、このブロックはハッシュ処理を受ける。当業者に公知の任意の決定論的ハッシュ演算を使用してよい。一実施形態において、ハッシュ演算はモジュラ減少（modular  reduction）を備えることがある。例えば圧縮されたブロックのバイナリ値は、２５５のモジュラスによって減少され得る。
【００１４】
５３０おいて、結果として得られるハッシュ出力を、特定のキャッシュ位置への鍵として使用してよく、このキャッシュは、圧縮されたブロックに対応する圧縮解除されたブロックを格納することができる。５４０において、鍵に対応する位置におけるキャッシュされたデータが、圧縮されたブロックに対応する圧縮解除されたデータとして有効かどうかの判定が行われる。一実施形態において、このチェックは、このキャッシュ位置が圧縮解除ブロックを保持していたと想定すると、エンドポイント色が、圧縮されたブロックの適切なフィールド内で表されているように、エンドポイント色を通常保持すると思われるキャッシュされたデータ内のフィールドに合致するかどうかの判定とすることができる。圧縮解除されたデータとして有効でない場合、次いで５５０において、従来の圧縮解除処理が、圧縮されたブロックに対して実行され得る。そのような圧縮解除処理の例は図４に示されている。５６０において、この従来の圧縮解除から得られた圧縮解除されたブロックを、鍵（すなわちハッシュ出力）によって指定された位置にあるキャッシュへロードすることができる。これは、キャッシュへデータ投入するための機構として使用されてもよいことに留意されたい。鍵がキャッシュ内の空の位置へ導く場合、５４０における検証の試みは失敗することとなり、従来の圧縮解除処理が、５５０において実行され得る。この圧縮解除の結果が、５６０においてキャッシュにロードされ得る。
【００１５】
５４０において決定されるように、鍵によって指定された位置のデータが有効であることが判明した場合、次いで５７０において、このデータは、最初に受信した圧縮ブロックに対応する圧縮解除画像データのブロックとして読み出される。
【００１６】
圧縮解除処理は、図６にデータフロー図として図示される。圧縮されたブロック６１０がハッシュロジック６２０に入力され得る。上記したように、当業者に公知のいずれかの決定論的ハッシュ演算を使用してよい。一実施形態において、ハッシュ演算はモジュラ減少としてよい。例えば圧縮ブロックのバイナリ値は２５５のモジュラスによって減少され得る。代替的な実施形態では、異なるモジュラスを用いるモジュラ減少を適用してもよい。ハッシュロジック６２０の結果として得られる出力は鍵６３０である。
【００１７】
鍵６３０を使用して、キャッシュ６３５内の特定の位置にアクセスすることができる。この位置に格納されるキャッシュされたデータは、圧縮解除されたデータ６４０ｉであり得る。このキャッシュされたデータは検証ロジック６５０へ入力され得る。上述のように、このモジュールの処理は、圧縮解除されたデータ６４０ｉが、圧縮ブロック６１０のエンドポイント色フィールド内で表された色に合致するエンドポイント色を含むかどうかに関する判定を含むことができる。このチェックは、ビット単位の比較として実装され得る。この妥当性チェックに通ると、次いでキャッシュ読み出しロジック６６０が有効にされ、圧縮解除されたデータ６４０ｉがキャッシュから読み出されて、圧縮ブロック６１０に対応する圧縮解除された画像データのブロック６７０として扱われることになる。
【００１８】
ロジック６５０の妥当性チェックに通らなかった場合、圧縮解除ロジック６８０が有効にされる。圧縮されたブロック６１０は次いで、圧縮解除ロジック６８０によって圧縮解除されて、圧縮解除されたデータ６９０を得ることができる。一実施形態では、圧縮解除ロジック６８０は、図４に示されるような処理を含み得る。結果として得られる圧縮解除されたデータ６９０は、その後、キャッシュ６３５へ、鍵６３０によって識別される位置で書き込まれる。
【００１９】
ハッシュロジック６２０、検証ロジック６５０、キャッシュ読み出しロジック６６０及び圧縮解除ロジック６８０のいずれかはソフトウェア、ファームウェア、ハードウェア又はこれらの任意の組み合わせで実装され得る。キャッシュ６３５は、当業者に公知の任意のデータ構造及びメモリ媒体を使用して実装されてよい。キャッシュ６３５は、例えばランダムアクセスメモリに格納されてよく、あるいはハードディスク、フラッシュメモリ等のような公知の揮発性又は非揮発性メモリ技術で実装されてもよい。
【００２０】
上記の議論は、元の圧縮処理が、所与のブロックについて色空間内の単一の線分を使用し、２つのエンドポイント色があることを想定していることに留意されたい。代替的なシステムでは、１つより多くの線分が使用し、これにより、追加のエンドポイント色が存在することもある。このような場合、圧縮は、特定の線分を指定する追加のデータを使用するコード化を必要とすることがある。この場合、一実施形態によると、圧縮解除も、キャッシュに投入すべき圧縮解除データを生成するときに、この追加のデータの適応を必要とすることがある。さらに、圧縮は、色空間内の線分の使用に限定されない。当業者によって理解されるように、代替的な幾何学的構築が、色をコード化して圧縮を達成する目的のために使用されてもよい。
【００２１】
様々な実施形態は、ハードウェア要素、ソフトウェア要素又はその双方の組み合わせを使用して実装され得る。ハードウェア要素の例には、プロセッサ、マイクロプロセッサ、回路、回路要素（例えばトランジスタ、レジスタ、キャパシタ、インダクタ等）、集積回路、特定用途向け集積回路（ＡＳＩＣ）、プログラマブル論理デバイス（ＰＬＤ）、デジタル信号プロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセット等が含まれ得る。ソフトウェアの例は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、関数、メソッド、プロシージャ、ソフトウェアインタフェース、アプリケーションプログラムンタフェース（ＡＰＩ）、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、ワード、値、記号又はこれらの任意の組み合わせが含まれ得る。実施形態を、ハードウェア要素を使用して実装するか、及び／又はソフトウェア要素を使用して実装するかの決定は、所望の計算レート、電力レベル、耐熱性、処理サイクル量、入力データレート、出力データレート、メモリリソース、データバススピード並びに他の設計又は性能制約のような、任意の数のファクタに従って変化し得る。
【００２２】
ソフトウェアという用語は、本明細書で使用されるとき、コンピュータシステムに、本明細書で開示される１つ又は複数の特徴並びに／あるいは特徴の組み合わせを実行させるコンピュータプログラムロジックを有するコンピュータ読取可能媒体を含む、コンピュータプログラム製品を指すことがある。コンピュータ読取可能媒体は、一時的なものであっても、非一時的なものであってもよい。一時的なコンピュータ読取可能媒体の例は、ローカル又はワイドエリアネットワークを介して、あるいはインターネットのようなネットワークを介して、無線周波数又は電導体上で伝送されるデジタル信号とすることができる。非一時的なコンピュータ読取可能媒体の例は、コンパクトディスク、フラッシュメモリ、ランダムアクセスメモリ、読取専用メモリ又は他のデータ記憶デバイスとすることができる。
【００２３】
そのようなソフトウェア／ファームウェアを実行する、一実施形態に係るコンピューティングシステムが図７に示されている。図示されるシステム７００は、１つ又は複数のプロセッサ７３０を含んでよく、更にメモリ７１０の本体を含んでよい。プロセッサ７３０は、１つ又は複数の中央処理ユニットコア並びに／あるいは１つ又は複数のグラフィクス処理ユニット（ＧＰＵ）コアを有するグラフィクス処理ユニットを含み得る。メモリ７１０は、コンピュータプログラムロジック７４０を格納することができる１つ又は複数のコンピュータ読取可能媒体を含み得る。メモリ７１０は、ハードディスク及びドライブ、例えばコンパクトディスク、読取専用メモリ（ＲＯＭ）又はランダムアクセスメモリ（ＲＡＭ）デバイスのような取外可能媒体、あるいはこれらの何らかの組み合わせとして実装され得る。プロセッサ７３０及びメモリ７１０は、バスのような当業者に公知の幾つかの技術のいずれかを使用して通信することができる。メモリ７１０内に含まれるコンピュータプログラムロジック７４０は、プロセッサ７３０によって読み取られて、実行され得る。１つ又は複数のＩ／Ｏポート及び／又はＩＯデバイスは、まとめてＩ／Ｏ７６０として示されているが、これらもプロセッサ７３０及びメモリ７１０と接続されてよい。
【００２４】
コンピュータプログラムロジック７４０は、上述の処理を具現化するロジックを含むことがある。図示される実施形態では、コンピュータプログラムロジック７４０は、図６のハッシュロジック６２０を具現化し得るハッシュモジュール７２０を含むことができる。上述のように、ハッシュ処理は、モジュラ減少のような当業者に公知の任意の決定論的ハッシュ処理とすることができる。コンピュータプログラムロジック７４０は、図６の検証ロジック６５０を具現化し得る検証モジュール７５０も含むことがある。上述のように、このモジュールによって具現化される処理は、圧縮されたブロックからのエンドポイントの色と、ハッシュ出力によってアクセスされる圧縮解除されたデータにおけるこれらの色との比較を含み得る。代替的な実施形態では、圧縮解除ロジック６８０及び／又はキャッシュ読取ロジック６６０も、部分的に又は完全に、メモリ７１０内のコンピュータプログラムロジックとして具現化してもよい。加えて、メモリ７１０も、キャッシュ６３５のようなキャッシュを含むことがある（図７には図示せず）。
【００２５】
本明細書で説明されるシステムは、より大きな情報システムの一部とすることができる。図８は後者の実施形態を図示している。諸実施形態において、システム８００はメディアシステムとすることができるが、システム８００は、このコンテキストに限定されない。例えばシステム８００を、パーソナルコンピュータ（ＰＣ）、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、ハンドヘルドコンピュータ、パルムトップコンピュータ、パーソナルデジタルアシスタント（ＰＤＡ）、携帯電話、携帯電話／ＰＤＡの組み合わせ、テレビジョン、スマートデバイス（例えばスマートフォン、スマートタブレット又はスマートテレビ）、モバイルインターネットデバイス（ＭＩＤ）、メッセージングデバイス、データ通信デバイス等に組み込むことができる。
【００２６】
諸実施形態において、システム８００は、ディスプレイ８２０に結合されるプラットフォーム８０２を備える。プラットフォーム８０２は、コンテンツサービスデバイス８３０又はコンテンツ配信デバイス８４０又は他の同様のコンテンツソースのようなコンテンツデバイスから、コンテンツを受信することがある。１つ又は複数のナビゲーション機能を備えるナビゲーションコントローラ８５０は、例えばプラットフォーム８０２及び／又はディスプレイ８２０と対話するのに使用され得る。これらのコンポーネントの各々を、以下で詳述する。
【００２７】
諸実施形態において、プラットフォーム８０２は、チップセット８０５、プロセッサ８１０、メモリ８１２、ストレージ８１４、グラフィクスサブシステム８１５、アプリケーション８１６及び／又は無線機８１８の任意の組み合わせを備えることができる。チップセット８０５は、プロセッサ８１０、メモリ８１２、ストレージ８１４、グラフィクスサブシステム８１５、アプリケーション８１６及び／又は無線機８１８の間の相互通信を提供し得る。例えばチップセット８０５は、ストレージ８１４との相互通信を提供することが可能なストレージアダプタ（図示せず）を含んでもよい。
【００２８】
プロセッサ８１０は、複数命令セットコンピュータ（ＣＩＳＣ）又は縮小命令セットコンピュータ（ＲＩＳＡ）プロセッサ、ｘ８６命令セット互換プロセッサ、マルチコアあるいは任意の他のマイクロプロセッサ又は中央処理ユニット（ＣＰＵ）として実装され得る。諸実施形態において、プロセッサ８１０は、デュアルコアプロセッサ、デュアルコアモバイルプロセッサ等を備えてもよい。一実施形態において、プロセッサ８１０は、図７のプロセッサ７３０に対応し得る。
【００２９】
メモリ８１２は、これらに限られないが、ランダムアクセスメモリ（ＲＡＭ）、動的ＲＡＭ（ＤＲＡＭ）又は静的ＲＡＭ（ＲＡＭ）のような揮発性メモリとして実装され得る。
【００３０】
ストレージ８１４は、これらに限られないが、磁気ディスクドライブ、光ディスクドライブ、テープドライブ、内部ストレージデバイス、外付けストレージデバイス、フラッシュメモリ、バッテリバックアップＳＤＲＡＭ（同期ＤＲＡＭ）及び／又はネットワークアクセス可能なストレージデバイスのような非揮発性ストレージデバイスとして実装され得る。諸実施形態において、ストレージ８１４は、例えば複数のハードドライブが含まれるときに価値あるデジタルメディアのために、保護が強化されたストレージ性能を向上させる技術を備えることがある。
【００３１】
グラフィクスサブシステム８１５は、表示用に静止画又はビデオのような画像の処理を実行することができる。グラフィクスサブシステム８１５は、例えばグラフィクス処理ユニット（ＧＰＵ）又はビジュアル処理ユニット（ＶＰＵ）とすることができる。アナログ又はデジタルインタフェースを使用して、グラフィクスサブシステム８１５とディスプレイ８２０を通信可能に結合することができる。例えばインタフェースは、高解像度マルチメディアインタフェース（ＨＤＭＩ）、ディスプレイポート、無線ＨＤＭＩ及び／又は無線ＨＤ準拠技術のうちのいずれかとすることができる。グラフィクスサブシステム８１５を、プロセッサ８１０又はチップセット８０５に統合することが可能である。グラフィクスサブシステム８１５は、チップセット８５に通信可能に結合されるスタンドアロンのカードとすることも可能である。
【００３２】
本明細書で説明されるグラフィクス及び／又はビデオ処理技術は、様々なハードウェアアーキテクチャにいて実装され得る。例えばグラフィクス及び／又はビデオの機能性をチップセット内に統合してもよい。あるいは、別個のグラフィクス及び／又はビデオプロセッサを使用してもよい。更に別の実施形態として、グラフィクス及び／又はビデオ機能が、マルチコアプロセッサを含め、汎用プロセッサによって実装されてもよい。更なる実施形態において、これらの機能は、家庭用電子機器において実装されてもよい。
【００３３】
無線機８１８は、様々な適切な無線通信技術を使用して信号を送受信することができる１つ又は複数の無線機を含むことができる。そのような技術は、１つ又は複数の無線ネットワークにわたる通信を含むことがある。例示的な無線ネットワークには（これらに限られないが）、無線ローカルエリアネットワーク（ＷＬＡＮ）、無線パーソナルエリアネットワーク（ＷＰＡＮ）、無線メトロポリタンエリアネットワーク（ＷＭＡＮ）、セルラネットワーク及び衛星ネットワークが含まれる。そのようなネットワークにわたる通信において、無線機８１８は、任意のバージョンの１つ又は複数の適用可能な規格に従って動作し得る。
【００３４】
諸実施形態において、ディスプレイ８２０は任意のモニタ又はディスプレイを備えてよい。ディスプレイ８２０は、例えばコンピュータディスプレイスクリーン、タッチスクリーンティスプレイ、ビデオモニタ、テレビ類似デバイス及び／又はテレビを備えてよい。ディスプレイ８２０はデジタル及び／又はアナログであってよい。諸実施形態において、ディスプレイ８２０は、ホログラフィックディスプレイとすることができる。また、ディスプレイ８２０は、視覚的投影を受け取ることができる透明な面としてもよい。そのような投影は、様々な形式の情報、画像及び／又は対象物を伝達することが可能である。例えばそのような投影は、モバイル拡張現実（ＭＡＲ：mobile  augmented  reality）アプリケーションのための視覚的オーバレイとしてもよい。１つ又は複数のソフトウェアアプリケーション８１６の制御の下、プラットフォーム８０２は、ユーザインタフェース８２２をディスプレイ８２０上に表示することができる。
【００３５】
諸実施形態において、コンテンツサービスデバイス８３０は、任意のナショナルサービス、インターナショナルサービス及び／又は独立サービスによってホストされることがあり、したがってプラットフォーム８０２から、例えばインターネットを介してアクセス可能である。コンテンツサービスデバイス８３０は、プラットフォーム８０２及び／又はディスプレイ８２０に結合され得る。プラットフォーム８０２及び／又はコンテンツサービスデバイス８３０は、ネットワーク８６０に結合されて、ネットワーク８６０との間でメディア情報を通信（例えば送信及び／又は受信）することができる。コンテンツ配信デバイス８４０も、プラットフォーム８０２及び／又はディスプレイ８２０に結合され得る。
【００３６】
諸実施形態において、コンテンツサービスデバイス８３０は、ケーブルテレビボックス、パーソナルコンピュータ、ネットワーク、電話、デジタル情報、インターネット対応デバイス又は及び／又はコンテンツの配信が可能な機器、並びにコンテンツプロバイダとプラットフォーム８０２及び／又はディスプレイ８２０との間でネットワーク８６０を経由するか直接にコンテンツを一方向又は双方向で通信することができる任意の他の同様のデバイスを備えることができる。コンテンツは、システム８００内のコンポーネントのいずれか１つとの間で、及びネットワーク８６０を介してコンテンツプロバイダとの間で、一方向及び／又は双方向に通信されてよいことが認識されよう。コンテンツの例には、例えばビデオ、音楽、医療及びゲーム情報等を含め、任意のメディア情報が含まれ得る。
【００３７】
コンテンツサービスデバイス８３０は、メディア情報、デジタル情報及び／又は他のコンテンツを含め、ケーブルテレビ番組のようなコンテンツを受信する。コンテンツプロバイダの例には、任意のケーブル若しくは衛星テレビ又は無線又はインターネットコンテンツのプロバイダが含まれ得る。提供される例は、本発明の実施形態を限定するように意図されるものではない。
【００３８】
諸実施形態において、プラットフォーム８０２は、１つ又は複数のナビゲーション機能を有するナビゲーションコントローラ８５０から制御信号を受信することがある。コントローラ８５０のナビゲーション機能を使用して、例えばユーザインタフェース８２２と対話することができる。諸実施形態において、ナビゲーションコントローラ８５０は、ポインティングデバイスとすることができ、該ポインティングデバイスは、ユーザが空間的（例えば連続的な多次元の）データをコンピュータに入力することができる、コンピュータハードウェアコンポーネント（特にヒューマンインタフェースデバイス）とすることができる。グラフィカルユーザインタフェース（ＧＵＩ）のような多くのシステム並びにテレビ及びモニタは、ユーザが、物理的なジェスチャを使用してコンピュータ又はテレビへのデータを制御及び提供するのを可能にする。
【００３９】
コントローラ８５０のナビゲーション機能の動きは、ディスプレイ（例えばディスプレイ８２０）上で、ポインタ、カーソル、フォーカスリング又はディスプレイ上に表示される他の視覚的インジケータの動きによって返されることがある。例えばソフトウェアアプリケーション８１６の制御の下、ナビゲーションコントローラ８５０上に配置されるナビゲーション機能を、例えばユーザインタフェース８２２上に表示される仮想ナビゲーション機能にマップしてもよい。諸実施形態において、コントローラ８５０は、別個のコンポーネントではなく、プラットフォーム８０２及び／又はディスプレイ８２０に統合され得る。しかしながら、諸実施形態は、本明細書で示される又は説明される要素又はコンテキストに限定されない。
【００４０】
諸実施形態において、ドライバ（図示せず）は、ユーザが、テレビのようなプラットフォーム８０２を、最初のブートアップの後、例えばイネーブルされると、ボタンのタッチですぐにターンオン及びターンオフできるようにする技術を備えることがある。プログラムロジックは、プラットフォーム８０２がターン「オフ」されるとき、プラットフォーム８０２が、コンテンツをメディアアダプタ又は他のコンテンツサービスデバイス８３０又はコンテンツ配信デバイス８４０へストリーミングするのを可能にする。加えて、チップセット８０５は、例えば５．１サラウンドオーディオ及び／又は高品位７．１サラウンドサウンドオーディオ用のハードウェア及び／又はソフトウェアサポートを備えてもよい。ドライバは、統一的なグラフィクスプラットフォームのためのグラフィクスドライバを含み得る。諸実施形態において、グラフィクスドライバは、周辺コンポーネント相互接続（ＰＣＩ）エクスプレス・グラフィクスカードを備えてもよい。
【００４１】
様々な実施形態において、システム８００内に示されるコンポーネントのいずれか１つ又は複数を統合してもよい。例えばプラットフォーム８０２とコンテンツサービスデバイス８３０とを統合してもよく、プラットフォーム８０２とコンテンツ配信デバイス８４０とを統合してもよく、あるいはプラットフォーム８０２と、コンテンツサービスデバイス８３０と、コンテンツ配信デバイス８４０とを統合してもよい。様々な実施形態において、プラットフォーム８０２とディスプレイ８２０は一体型のユニットであってよい。例えばディスプレイ８２０とコンテンツサービスデバイス８３０とを統合してもよく、ディスプレイ８２０とコンテンツ配信デバイス８４０とを統合してもよい。これらの例は本発明を限定するように意図されない。
【００４２】
様々な実施形態において、システム８００を、無線システム、有線システム又はこれらの組み合わせとして実装してもよい。無線システムとして実装されるとき、システム８００は、１つ又は複数のアンテナ、送信機、受信機、送受信機、増幅器、フィルタ、制御ロジック等のような無線共有媒体を介して通信するのに適したコンポーネント及びインタフェースを含み得る。無線共有媒体の例には、ＲＦスペクトル等のような無線スペクトルの部分が含まれ得る。有線システムとして実装されるとき、システム８００は、入出力（Ｉ／Ｏ）アダプタ、対応する有線通信媒体によりＩ／Ｏアダプタへ接続する物理コネクタ、ネットワークインタフェースカード（ＮＩＣ）、ディスクコントローラ、ビデオコントローラ、オーディオコントローラ等のような有線通信媒体を介して通信するのに適したコンポーネント及びインタフェースを含み得る。有線通信媒体の例には、ワイヤ、ケーブル、金属導線、プリント基板（ＰＣＢ）、バックプレーン、スイッチ構成、半導体金属、ツイストペア線、同軸ケーブル、ファイバ光学等が含まれ得る。
【００４３】
プラットフォーム８０２は、情報を通信する１つまたは複数の論理又は物理チャネルを確立してもよい。この情報には、メディア情報及び制御情報が含まれ得る。メディア情報は、ユーザに向けられたコンテンツを表す任意のデータを指してよい。コンテンツの例には、例えば音声会話からのデータ、ビデオ会議、ストリーミングビデオ、電子メール（ｅメール）メッセージ、音声メールメッセージ、英数字文字、グラフィック、画像、ビデオ、テキスト等が含まれ得る。音声会話からのデータは、例えばスピーチ情報、無音の期間、背景雑音、快適雑音、トーン等とすることができる。制御情報は、コマンド、命令又は自動システムに向けられた制御ワードを表す任意のデータを指してよい。例えば制御情報を使用して、システム中を通じてメディア情報をルーティングするか、メディア情報を所定の手法で処理するようノードに指示してもよい。しかしながら、諸実施形態は、図８に図示され、説明される要素又はコンテキストに限定されない。
【００４４】
上述のように、システム８００は様々な物理的スタイル又はフォームファクタで具現化され得る。図９は、システム８００が具現化され得る小さなフォームファクタデバイス９００の実施形態を図示している。諸実施形態において、例えばデバイス９００は、無線機能を有するモバイルデバイスとして実装されてよい。モバイルコンピューティングデバイスは、処理システムと、例えば１つ又は複数のバッテリのようなモバイル電力ソース又は電源とを有する任意のデバイスを指すことがある。
【００４５】
上述のように、モバイルコンピューティングデバイスの例には、パーソナルコンピュータ（ＰＣ）、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、ハンドヘルドコンピュータ、パルムトップコンピュータ、パーソナルデジタルアシスタント（ＰＤＡ）、携帯電話、携帯電話／ＰＤＡの組み合わせ、テレビジョン、スマートデバイス（例えばスマートフォン、スマートタブレット又はスマートテレビ）、モバイルインターネットデバイス（ＭＩＤ）、メッセージングデバイス、データ通信デバイス等が含まれ得る。
【００４６】
モバイルコンピューティングデバイスの例には、人間が身に着けるように構成されるコンピュータも含まれることがある。諸実施形態において、例えばモバイルコンピューティングデバイスは、コンピュータアプリケーションを実行することができ、さらに音声通信及び／又はデータ通信も可能なスマートフォンとして実装され得る。一部の実施形態は、例としてスマートフォンとして実装されるモバイルコンピューティングデバイスを用いて説明されるが、他の実施形態は、他の無線のモバイルコンピューティングデバイスを使用して実装されてもよいことが認識されよう。諸実施形態は、このコンテキストに限定されない。
【００４７】
図９に示されるように、デバイス９００は、ハウジング９０２、ディスプレイ９０４、入出力（Ｉ／Ｏ）デバイス９０６及びアンテナ９０８を備えることができる。デバイス９００はナビゲーション機能９１２も備えることができる。ディスプレイ９０４は、モバイルコンピューティングデバイスに適した情報を表示するための任意の適切なディスプレイユニットを備えることができる。Ｉ／Ｏデバイス９０６は、モバイルコンピューティングデバイスへ情報を入力するための任意の適切なＩ／Ｏデバイスを備えることができる。Ｉ／Ｏデバイス９０６の例には、英数字のキーボード、数字のキーパッド、タッチパッド、入力キー、ボタン、スイッチ、ロッカースイッチ、マイクロフォン、スピーカ、音声認識デバイス及びソフトウェア等が含まれ得る。情報はマイクロフォンによってデバイス９００へ入力されてもよい。そのような情報は、音声認識デバイスによってデジタル化され得る。諸実施形態は、このコンテキストに限定されない。
【００４８】
少なくとも１つの実施形態の１つ又は複数の態様が、マシン読取可能媒体上に格納される、プロセッサ内の様々なロジックを表す表現的命令によって実装されることがあり、これらの命令は、マシンによって読み取られると、マシンに、本明細書で説明される技術を実行するロジックを組み立てさせる。「ＩＰコア」として知られるそのような表現は、有形のマシン読取可能媒体に格納され、様々な顧客又は製造施設に供給されて、実際にロジック又はプロセッサを作る制作マシンへとロードされる。
【００４９】
方法及びシステムは、本明細書において、機能、特徴及びこれらの関係を示す機能的構成要素を用いて開示されている。これらの機能的構成要素の境界の少なくとも一部は、本明細書において、説明の便宜上任意に定義されている。特定される機能及びその関係が適切に実施される限りにおいて、代替的な境界を定義してもよい。
【００５０】
本明細書において様々な実施形態が開示されているが、これらは限定ではなく単なる例として提示されていることを理解されたい。関連する技術分野の当業者には、本明細書で開示される方法及びシステムの精神及び範囲から逸脱することなく、形式及び詳細において様々な変更を行ってもよいことは明らかであろう。したがって、請求項の広さ及び範囲は、本明細書において開示される例示的な実施形態のいずれによっても限定されるべきではない。
【図１】
0006005834.tif 000002
【図２】
0006005834.tif 000003
【図３】
0006005834.tif 000004
【図４】
0006005834.tif 000005
【図５】
0006005834.tif 000006
【図６】
0006005834.tif 000007
【図７】
0006005834.tif 000008
【図８】
0006005834.tif 000009
【図９】
0006005834.tif 000010