IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ クゥアルコム・インコーポレイテッドの特許一覧

特表2024-544473色空間変換のための非線形フィルタリング
<>
  • 特表-色空間変換のための非線形フィルタリング 図1
  • 特表-色空間変換のための非線形フィルタリング 図2
  • 特表-色空間変換のための非線形フィルタリング 図3
  • 特表-色空間変換のための非線形フィルタリング 図4
  • 特表-色空間変換のための非線形フィルタリング 図5A
  • 特表-色空間変換のための非線形フィルタリング 図5B
  • 特表-色空間変換のための非線形フィルタリング 図6A
  • 特表-色空間変換のための非線形フィルタリング 図6B
  • 特表-色空間変換のための非線形フィルタリング 図7A
  • 特表-色空間変換のための非線形フィルタリング 図7B
  • 特表-色空間変換のための非線形フィルタリング 図8
  • 特表-色空間変換のための非線形フィルタリング 図9
  • 特表-色空間変換のための非線形フィルタリング 図10
  • 特表-色空間変換のための非線形フィルタリング 図11
  • 特表-色空間変換のための非線形フィルタリング 図12
  • 特表-色空間変換のための非線形フィルタリング 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-12-03
(54)【発明の名称】色空間変換のための非線形フィルタリング
(51)【国際特許分類】
   G06T 1/20 20060101AFI20241126BHJP
   G06T 9/00 20060101ALI20241126BHJP
【FI】
G06T1/20 B
G06T9/00
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024523717
(86)(22)【出願日】2022-10-12
(85)【翻訳文提出日】2024-04-19
(86)【国際出願番号】 US2022046468
(87)【国際公開番号】W WO2023086182
(87)【国際公開日】2023-05-19
(31)【優先権主張番号】17/454,797
(32)【優先日】2021-11-12
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLU-RAY DISC
(71)【出願人】
【識別番号】595020643
【氏名又は名称】クゥアルコム・インコーポレイテッド
【氏名又は名称原語表記】QUALCOMM INCORPORATED
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】バッカー、ダム
【テーマコード(参考)】
5B057
【Fターム(参考)】
5B057CA12
5B057CA16
5B057CB12
5B057CB16
5B057CE06
5B057CE18
5B057CG01
5B057CH02
5B057CH05
5B057CH14
(57)【要約】
本明細書に提示される態様は、例えばGPUなどの装置を含むグラフィックス処理のための方法及びデバイスに関する。装置は、複数の第1の色チャネルを含む第1の色空間に関連付けられた複数のピクセルを受信し得、複数の第1の色チャネルのうちの少なくとも1つの第1の色チャネルは、第1の圧縮チャネルである。装置はまた、複数の第1の色チャネルのうちの少なくとも1つの第1の色チャネルを解凍し得、少なくとも1つの第1の色チャネルは、第1の圧縮チャネルから第1の解凍チャネルに解凍される。更に、装置は、複数の第1の色チャネルが複数の第2の色チャネルに変換されように、複数のピクセルに関連付けられた第1の色空間の色空間変換を実行し得、複数の第2の色チャネルは、複数のピクセルのための第2の色空間に関連付けられる。

【特許請求の範囲】
【請求項1】
グラフィックス処理のための装置であって、
メモリと、
前記メモリに結合された少なくとも1つのプロセッサと、を備え、前記少なくとも1つのプロセッサが、
複数の第1の色チャネルを含む第1の色空間に関連付けられた複数のピクセルを受信し、前記複数の第1の色チャネルのうちの少なくとも1つの第1の色チャネルが第1の圧縮チャネルであり、
前記複数の第1の色チャネルのうちの前記少なくとも1つの第1の色チャネルを解凍し、前記少なくとも1つの第1の色チャネルが、前記第1の圧縮チャネルから第1の解凍チャネルに解凍され、
前記複数の第1の色チャネルが複数の第2の色チャネルに変換されように、前記複数のピクセルに関連付けられた前記第1の色空間の色空間変換を実行し、前記複数の第2の色チャネルが、前記複数のピクセルについての第2の色空間に関連付けられる
ように構成されている、装置。
【請求項2】
前記少なくとも1つの第1のチャネルの前記解凍が、前記解凍が前記少なくとも1つの第1のチャネルを非線形チャネルから線形チャネルに変換するように、非線形解凍である、請求項1に記載の装置。
【請求項3】
前記複数の第1の色チャネルのうちの1つ又は複数の第1のチャネルが、前記1つ又は複数の第1のチャネルが解凍されないように、線形チャネルである、請求項2に記載の装置。
【請求項4】
前記第1の色空間の前記色空間変換を実行するために、前記少なくとも1つのプロセッサが、
前記少なくとも1つの第1のチャネルを、前記複数の第1の色チャネルのうちの少なくとも1つの他の第1のチャネル及び前記複数の第1の色チャネルのうちの少なくとも1つの追加の第1のチャネルと結合するように構成されている、請求項1に記載の装置。
【請求項5】
前記少なくとも1つの第1のチャネルと、前記少なくとも1つの他の第1のチャネル及び前記少なくとも1つの追加の第1のチャネルとの前記結合が、行列結合器によって実行される、請求項4に記載の装置。
【請求項6】
前記少なくとも1つのプロセッサが、
前記少なくとも1つの第1の色チャネルが解凍された後に、前記複数の第1の色チャネルの各々をフィルタリングするように更に構成されている、請求項1に記載の装置。
【請求項7】
前記複数の第1の色チャネルの各々が、線形フィルタリング、双線形フィルタリング、又は非線形フィルタリングされる、請求項6に記載の装置。
【請求項8】
前記少なくとも1つの第1の色チャネルが、解凍される前に非線形圧縮される、請求項1に記載の装置。
【請求項9】
前記少なくとも1つのプロセッサが、
前記複数の第1の色チャネルを含む前記第1の色空間に関連付けられた前記複数のピクセルを読み取るように更に構成され、前記複数のピクセルが、前記少なくとも1つの第1の色チャネルを解凍する前に読み取られる、請求項1に記載の装置。
【請求項10】
前記少なくとも1つのプロセッサが、
前記第1の色空間に関連付けられた前記複数のピクセルについての要求を送信するように更に構成され、前記複数のピクセルが、前記送信された要求に基づいて受信される、請求項1に記載の装置。
【請求項11】
前記要求が、グラフィックス処理ユニット(GPU)のシェーダプロセッサから前記GPUのテクスチャプロセッサに送信される、請求項10に記載の装置。
【請求項12】
前記少なくとも1つのプロセッサが、
前記色空間変換後に、前記第2の色空間に関連付けられた前記複数のピクセルを送信するように更に構成されている、請求項1に記載の装置。
【請求項13】
前記複数のピクセルが、グラフィックス処理ユニット(GPU)のシェーダプロセッサに送信される、請求項12に記載の装置。
【請求項14】
前記第1の色空間が、ルミナンス(Y)クロミナンス(UV)(YUV)色空間であり、前記第2の色空間が、赤(R)緑(G)青(B)(RGB)色空間である、請求項1に記載の装置。
【請求項15】
前記色空間変換が、前記複数の第1の色チャネルの各々について同時に実行される、請求項1に記載の装置。
【請求項16】
前記色空間変換が、グラフィックス処理ユニット(GPU)のテクスチャプロセッサ又は前記GPUのシェーダプロセッサのうちの少なくとも1つにおいて実行される、請求項1に記載の装置。
【請求項17】
前記装置が、ワイヤレス通信デバイスであり、前記少なくとも1つのプロセッサに結合されたアンテナ又はトランシーバのうちの少なくとも1つを更に備える、請求項1に記載の装置。
【請求項18】
グラフィックス処理の方法であって、
複数の第1の色チャネルを含む第1の色空間に関連付けられた複数のピクセルを受信することとであって、前記複数の第1の色チャネルのうちの少なくとも1つの第1の色チャネルが第1の圧縮チャネルである、ことと、
前記複数の第1の色チャネルのうちの前記少なくとも1つの第1の色チャネルを解凍することであって、前記少なくとも1つの第1の色チャネルが、前記第1の圧縮チャネルから第1の解凍チャネルに解凍される、ことと、
前記複数の第1の色チャネルが複数の第2の色チャネルに変換されように、前記複数のピクセルに関連付けられた前記第1の色空間の色空間変換を実行することであって、前記複数の第2の色チャネルが、前記複数のピクセルのための第2の色空間に関連付けられる、ことと、
を含む、方法。
【請求項19】
前記少なくとも1つの第1のチャネルの前記解凍が、前記解凍が前記少なくとも1つの第1のチャネルを非線形チャネルから線形チャネルに変換するように、非線形解凍であり、
前記複数の第1の色チャネルのうちの1つ又は複数の第1のチャネルが、前記1つ又は複数の第1のチャネルが解凍されないように、線形チャネルである、
請求項18に記載の方法。
【請求項20】
前記第1の色空間の前記色空間変換を実行することが、
前記少なくとも1つの第1のチャネルを、前記複数の第1の色チャネルのうちの少なくとも1つの他の第1のチャネル及び前記複数の第1の色チャネルのうちの少なくとも1つの追加の第1のチャネルと結合することを更に含み、
前記少なくとも1つの第1のチャネルと、前記少なくとも1つの他の第1のチャネル及び前記少なくとも1つの追加の第1のチャネルとの前記結合が、行列結合器によって実行される、
請求項18に記載の方法。
【請求項21】
前記少なくとも1つの第1の色チャネルが解凍された後に、前記複数の第1の色チャネルの各々をフィルタリングすることを更に含み、
前記複数の第1の色チャネルの各々が、線形フィルタリング、双線形フィルタリング、又は非線形フィルタリングされる、
請求項18に記載の方法。
【請求項22】
前記少なくとも1つの第1の色チャネルが、解凍される前に非線形圧縮される、請求項18に記載の方法。
【請求項23】
前記複数の第1の色チャネルを含む前記第1の色空間に関連付けられた前記複数のピクセルを読み取ることを更に含み、前記複数のピクセルが、前記少なくとも1つの第1の色チャネルを解凍する前に読み取られる、
請求項18に記載の方法。
【請求項24】
前記第1の色空間に関連付けられた前記複数のピクセルについての要求を送信することを更に含み、前記複数のピクセルが、前記送信された要求に基づいて受信され、
前記要求が、グラフィックス処理ユニット(GPU)のシェーダプロセッサから前記GPUのテクスチャプロセッサに送信される、
請求項18に記載の方法。
【請求項25】
前記色空間変換後に、前記第2の色空間に関連付けられた前記複数のピクセルを送信することを更に含み、
前記複数のピクセルが、グラフィックス処理ユニット(GPU)のシェーダプロセッサに送信される、
請求項18に記載の方法。
【請求項26】
前記第1の色空間が、ルミナンス(Y)クロミナンス(UV)(YUV)色空間であり、前記第2の色空間が、赤(R)緑(G)青(B)(RGB)色空間である、請求項18に記載の方法。
【請求項27】
前記色空間変換が、前記複数の第1の色チャネルの各々について同時に実行される、請求項18に記載の方法。
【請求項28】
前記色空間変換が、グラフィックス処理ユニット(GPU)のテクスチャプロセッサ又は前記GPUのシェーダプロセッサのうちの少なくとも1つにおいて実行される、請求項18に記載の方法。
【請求項29】
グラフィックス処理のための装置であって、
複数の第1の色チャネルを含む第1の色空間に関連付けられた複数のピクセルを受信するための手段であって、前記複数の第1の色チャネルのうちの少なくとも1つの第1の色チャネルが第1の圧縮チャネルである、手段と、
前記複数の第1の色チャネルのうちの前記少なくとも1つの第1の色チャネルを解凍するための手段であって、前記少なくとも1つの第1の色チャネルが、前記第1の圧縮チャネルから第1の解凍チャネルに解凍される、手段と、
前記複数の第1の色チャネルが複数の第2の色チャネルに変換されるように、前記複数のピクセルに関連付けられた前記第1の色空間の色空間変換を実行するための手段であって、前記複数の第2の色チャネルが、前記複数のピクセルのための第2の色空間に関連付けられる、手段と、
を備える、装置。
【請求項30】
グラフィックス処理のためのコンピュータ実行可能コードを記憶するコンピュータ可読媒体であって、前記コードが、プロセッサによって実行されると、前記プロセッサに、
複数の第1の色チャネルを含む第1の色空間に関連付けられた複数のピクセルを受信させ、前記複数の第1の色チャネルのうちの少なくとも1つの第1の色チャネルが第1の圧縮チャネルであり、
前記複数の第1の色チャネルのうちの前記少なくとも1つの第1の色チャネルを解凍させ、前記少なくとも1つの第1の色チャネルが、前記第1の圧縮チャネルから第1の解凍チャネルに解凍され、
前記複数の第1の色チャネルが複数の第2の色チャネルに変換されるように、前記複数のピクセルに関連付けられた前記第1の色空間の色空間変換を実行させ、前記複数の第2の色チャネルが、前記複数のピクセルのための第2の色空間に関連付けられる、
コンピュータ可読媒体。

【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
[0001] 本願は、2021年11月12日に出願された「NON-LINEAR FILTERING FOR COLOR SPACE CONVERSIONS」と題する米国特許出願第17/454,797号の利益を主張し、その全体が参照により本明細書に明確に組み込まれる。
【0002】
[0002] 本開示は、一般に処理システムに関し、より詳細には、グラフィックス処理のための1つ又は複数の技法に関する。
【背景技術】
【0003】
[0003] コンピューティングデバイスは、多くの場合、視覚コンテンツをレンダリング及び表示するために、(例えば、グラフィックス処理ユニット(GPU)、中央処理ユニット(CPU)、ディスプレイプロセッサなどを利用して)グラフィックス及び/又はディスプレイ処理を実行する。そのようなコンピューティングデバイスは、例えば、コンピュータワークステーション、スマートフォンなどのモバイルフォン、埋込みシステム、パーソナルコンピュータ、タブレットコンピュータ、及びビデオゲームコンソールを含み得る。GPUは、グラフィックス処理コマンドを実行し、フレームを出力するために一緒に動作する、1つ又は複数の処理段階を含むグラフィックス処理パイプラインを実行するように構成される。中央処理ユニット(CPU)は、GPUに1つ又は複数のグラフィックス処理コマンドを出すことによって、GPUの動作を制御し得る。現代のCPUは、典型的には、複数のアプリケーションを同時に実行することが可能であり、その各々は、実行中にGPUを利用する必要があり得る。ディスプレイプロセッサは、CPUから受信されたデジタル情報をアナログ値に変換するように構成され、視覚コンテンツを表示するためのディスプレイパネルにコマンドを出し得る。ディスプレイ上の視覚的提示のためのコンテンツを提供するデバイスは、GPU及び/又はディスプレイプロセッサを利用し得る。
【0004】
[0004] デバイスのGPUは、グラフィックス処理パイプラインにおいてプロセスを実行するように構成され得る。更に、ディスプレイプロセッサ又はディスプレイ処理ユニット(DPU)は、ディスプレイ処理のプロセスを実行するように構成され得る。しかしながら、ワイヤレス通信及びより小型のハンドヘルドデバイスの出現で、改善したグラフィックス処理又はディスプレイ処理の必要が高まっている。
【発明の概要】
【0005】
[0005] 以下では、1つ又は複数の態様の基本的理解をもたらすために、そのような態様の簡略化された概要が提示される。本概要は、すべての企図される態様の広範な概説ではなく、すべての態様の主要又は重要な要素を識別するものでもなく、いずれか又はすべての態様の範囲を記述するものでもない。その唯一の目的は、後に提示されるより詳細な説明に対する導入部として、1つ又は複数の態様のいくつかの構想を簡略化された形式で提示することである。
【0006】
[0006] 本開示のある態様では、方法、コンピュータ可読媒体、及び装置が提供される。装置は、グラフィックス処理ユニット(GPU)、又はグラフィックス処理を実行し得る任意の装置であり得る。装置は、第1の色空間に関連付けられた複数のピクセルについての要求を送信し得、複数のピクセルは、送信された要求に基づいて受信される。装置はまた、複数の第1の色チャネルを含む第1の色空間に関連付けられた複数のピクセルを受信し得、複数の第1の色チャネルのうちの少なくとも1つの第1の色チャネルは第1の圧縮チャネルである。加えて、装置は複数の第1の色チャネルを含む第1の色空間に関連付けられた複数のピクセルを読み取り得、複数のピクセルは、少なくとも1つの第1の色チャネルを解凍する前に読み取られる。装置はまた、複数の第1の色チャネルのうちの少なくとも1つの第1の色チャネルを解凍し得、少なくとも1つの第1の色チャネルは、第1の圧縮チャネルから第1の解凍チャネルに解凍される。装置はまた、少なくとも1つの第1の色チャネルが解凍された後に複数の第1の色チャネルの各々をフィルタリングし得る。更に、装置は、複数の第1の色チャネルが複数の第2の色チャネルに変換されるように、複数のピクセルに関連付けられた第1の色空間の色空間変換を実行し得、複数の第2の色チャネルは、複数のピクセルのための第2の色空間に関連付けられる。装置はまた、色空間変換の後に、第2の色空間に関連付けられた複数のピクセルを送信し得る。
【0007】
[0007] 本開示の1つ又は複数の例の詳細が、添付の図面及び以下の説明に記載される。本開示の他の特徴、目的、及び利点は、説明及び図面から、並びに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0008】
図1】[0008] 例示的なコンテンツ生成システムを示すブロック図である。
図2】[0009] 例示的なグラフィックス処理ユニット(GPU)である。
図3】[0010] グラフィックス処理及びディスプレイ/画像処理のための構成要素の図である。
図4】[0011] 例示的な線形サンプリングプロセス及び例示的なガンマ空間フィルタリングプロセスを示す図を含む。
図5A】[0012] 例示的な非線形YUV符号化プロセスを示す図である。
図5B】[0013] 例示的な非線形YUV符号化プロセスを示す図である。
図6A】[0014] 例示的な非線形YUV復号プロセスを示す図である。
図6B】[0015] 例示的な非線形YUV復号プロセスを示す図である。
図7A】[0016] フィルタリングを伴う例示的な非線形YUV復号プロセスを示す図である。
図7B】[0017] フィルタリングを伴う例示的な非線形YUV復号プロセスを示す図である。
図8】[0018] 例示的な非線形YUV符号化プロセスを示す図である。
図9】[0019] 例示的な非線形YUV復号プロセスを示す図である。
図10】[0020] フィルタリングを伴う例示的な非線形YUV復号プロセスを示す図である。
図11】[0021] GPU構成要素間の例示的な通信を示す通信フロー図である。
図12】[0022] グラフィックス処理の例示的な方法のフローチャートである。
図13】[0023] グラフィックス処理の例示的な方法のフローチャートである。
【発明を実施するための形態】
【0009】
[0024] グラフィックス処理又は画像処理のいくつかの態様は、色空間(すなわち、色の特定の編成)を利用し得る。いくつかの異なるタイプの色空間又は色モデル(すなわち、色が数のタプルとして表され得る方法を記述する抽象数学モデル)が存在する。例えば、赤(R)、緑(G)、青(B)(RGB)色空間/モデル、又はルミナンス(Y)クロミナンス(UV)(YUV)色空間/モデルが存在する。加えて、色空間は、色空間変換(すなわち、ある基底から別の基底への色の表現の変換)と呼ばれるプロセスにおいて、ある色空間から別の色空間に変換され得る。色空間変換は、1つの色空間で表された画像を別の色空間での表現に変換する文脈で実行され得る。色空間変換のいくつかの態様は、非線形空間におけるフィルタリングが困難であり得る。例えば、RGB画像が生成された後、ビットレートを維持するために、RGB画像は非線形(ガンマ)圧縮され得る。非線形RGBは、ビデオ符号化及び転送のためにYUVに変換され得る。受信側では、画像は画像処理パイプラインの一部として使用され得る。このプロセスはフィルタリングを必要とし得るが、YUV画像は内部に非線形データを含み得る。正しいシーケンスは、YUV画像が非線形RGBに変換され、次いでフィルタリングの前に線形RGBに変換されることを必要とし得る。任意のピクセルアクセスの場合、このシーケンスは、計算集約的であり、ハードウェアによって直接サポートされないことがある。非線形空間における困難なフィルタリングに加えて、色空間変換のいくつかの態様は、線形空間への変換が困難である場合がある。また、非線形YUVサンプルの線形空間への変換は複雑であり、ハードウェア又はソフトウェアにおいて効率的に実装することが困難である場合がある。本開示の態様は、非線形空間においてフィルタリングする非線形YUV変換プロセスを含み得る。また、本開示の態様は、非線形YUV変換プロセス中に線形空間に変換し得る。例えば、本開示の態様は、非線形YUV変換プロセス中に非線形YUVサンプルを線形空間に変換し得る。加えて、いくつかの事例では、本開示の態様は、非線形値を用いるアップサンプリング及び色空間変換動作を利用する非線形YUV変換プロセスを含み得る。
【0010】
[0025] システム、装置、コンピュータプログラム製品、及び方法の様々な態様について、添付の図面を参照しながら以下で更に十分に説明する。しかしながら、本開示は、多くの異なる形態で具現化されてもよく、本開示全体にわたって提示される任意の特定の構造又は機能に限定されるものと解釈されるべきではない。むしろ、これらの態様は、本開示が周到で完全になり、本開示の範囲を当業者に十分に伝えるように提供される。本明細書の教示に基づいて、本開示の範囲が、本開示の他の態様とは無関係に実装されるにせよ、又は本開示の他の態様と組み合わせて実装されるにせよ、本明細書で開示するシステム、装置、コンピュータプログラム製品、及び方法の任意の態様を包含するものであることを、当業者は理解されたい。例えば、本明細書に記載の任意の数の態様を使用して、装置を実装してもよく、方法を実施してもよい。なお、本開示の範囲は、本明細書に記載する本開示の様々な態様に加えて、又はそれらの態様以外の、他の構造、機能性、又は構造及び機能性を使用して実践されるような装置又は方法を包含することが意図されている。本明細書で開示する任意の態様は、請求項の1つ又は複数の要素によって具現され得る。
【0011】
[0026] 様々な態様について本明細書で説明するが、これらの態様の多くの変形及び置換が、本開示の範囲内に入る。本開示の態様のいくつかの潜在的な利益及び利点が述べられるが、本開示の範囲は、特定の利益、使用、又は目的に限定されるものではない。むしろ、本開示の態様は、異なるワイヤレス技術、システム構成、ネットワーク、及び送信プロトコルに広く適用可能であるものであり、そのうちのいくつかが例として図及び以下の説明において示される。詳細な説明及び図面は、限定的ではなく、本開示の例示にすぎず、本開示の範囲は、添付の特許請求の範囲及びその均等物によって定義される。
【0012】
[0027] 様々な装置及び方法を参照しながら、いくつかの態様が提示される。これらの装置及び方法は、以下の詳細な説明において説明され、様々なブロック、構成要素、回路、プロセス、アルゴリズムなど(「要素」と総称される)によって添付の図面に示される。これらの要素は、電子ハードウェア、コンピュータソフトウェア、又はそれらの任意の組み合わせを使用して実装することができる。このような要素がハードウェアとして実装される又はソフトウェアとして実装されるかどうかは、具体的な適用例及び全体的なシステムに課される設計制約に依拠する。
【0013】
[0028] 例として、要素、又は要素の任意の部分、又は要素の任意の組み合わせは、1つ又は複数のプロセッサを含む「処理システム」(処理ユニットと呼ばれることもある)として実装され得る。プロセッサの例は、マイクロプロセッサ、マイクロコントローラ、グラフィックス処理ユニット(GPUs)、汎用GPU(GPGPUs)、中央処理ユニット(CPUs)、アプリケーションプロセッサ、デジタル信号プロセッサ(DSPs)、縮小命令セットコンピューティング(RISC)プロセッサ、システムオンチップ(SOC)、ベースバンドプロセッサ、特定用途向け集積回路(ASICs)、フィールドプログラマブルゲートアレイ(FPGAs)、プログラマブル論理デバイス(PLDs)、状態機械、ゲート論理、ディスクリートハードウェア回路、及び本開示全体にわたって説明する様々な機能を実行するように構成された他の好適なハードウェアを含む。処理システム内の1つ又は複数のプロセッサは、ソフトウェアを実行することができる。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、又はそれ以外で呼ばれるかどうかにかかわらず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェア構成要素、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行ファイル、実行スレッド、手順、関数などを意味するように広く解釈され得る。アプリケーションという用語は、ソフトウェアを指すことがある。本明細書で説明するように、1つ又は複数の技法は、アプリケーション、すなわち、ソフトウェアが1つ又は複数の機能を実行するように構成されることを指すことがある。そのような例では、アプリケーションは、メモリ、例えば、プロセッサのオンチップメモリ、システムメモリ、又は任意の他のメモリ上に記憶され得る。プロセッサなど、本明細書で説明するハードウェアは、アプリケーションを実行するように構成され得る。例えば、アプリケーションについて、ハードウェアによって実行されると、ハードウェアに本明細書で説明する1つ又は複数の技法を実行させる、コードを含むものとして説明することがある。一例として、ハードウェアは、メモリからコードにアクセスし、メモリからアクセスされたコードを実行して、本明細書で説明する1つ又は複数の技法を実行し得る。いくつかの例では、構成要素が本開示において識別される。そのような例では、構成要素は、ハードウェア、ソフトウェア、又はそれらの組み合わせであり得る。構成要素は、別個の構成要素、又は単一の構成要素の下位構成要素であり得る。
【0014】
[0029] したがって、本明細書で説明する1つ又は複数の例では、説明する機能は、ハードウェア、ソフトウェア、又はそれらの任意の組み合わせにおいて実装され得る。ソフトウェアにおいて実装される場合には、それらの機能は、1つ又は複数の命令又はコードとして、コンピュータ可読媒体上に記憶又は符号化することができる。コンピュータ可読媒体は、コンピュータ記憶媒体を含む。記憶媒体は、コンピュータによってアクセスされてよい任意の利用可能な媒体であってよい。限定ではなく例として、そのようなコンピュータ可読媒体は、ランダムアクセスメモリ(random-access memory:RAM)、読取り専用メモリ(read-only memory:ROM)、電気的消去可能プログラマブルROM(electrically erasable programmable ROM:EEPROM)、光ディスクストレージ、磁気ディスクストレージ、他の磁気ストレージデバイス、上述のタイプのコンピュータ可読媒体の組み合わせ、又は、コンピュータによってアクセスされ得る命令若しくはデータ構造の形態のコンピュータ実行可能コードを記憶するために使用され得る任意の他の媒体を備え得る。
【0015】
[0030] 概して、本開示は、単一のデバイス若しくは複数のデバイスにおいてグラフィックス処理パイプラインを有し、グラフィカルコンテンツのレンダリングを改善し、かつ/又は処理ユニット、すなわち、GPUなど、本明細書で説明する1つ又は複数の技法を実行するように構成された任意の処理ユニットの負荷を低減するための技法について説明する。例えば、本開示は、グラフィックス処理を利用する任意のデバイスにおけるグラフィックス処理のための技法について説明する。他の例示的な利益について、本開示全体にわたって説明する。
【0016】
[0031] 本明細書で使用する「コンテンツ」という用語の事例は、「グラフィカルコンテンツ」、「画像」を指すことがあり、その逆も同様である。このことは、それらの用語が形容詞として使用されているか、名詞として使用されているか、又は他の品詞として使用されているかにかかわらず、当てはまる。いくつかの例では、本明細書で使用する「グラフィカルコンテンツ」という用語は、グラフィックス処理パイプラインの1つ又は複数のプロセスによって作り出されたコンテンツを指すことがある。いくつかの例では、本明細書で使用する「グラフィカルコンテンツ」という用語は、グラフィックス処理を実行するように構成された処理ユニットによって作り出されたコンテンツを指すことがある。いくつかの例では、本明細書で使用する「グラフィカルコンテンツ」という用語は、グラフィックス処理ユニットによって作り出されたコンテンツを指すことがある。
【0017】
[0032] いくつかの例では、本明細書で使用する「ディスプレイコンテンツ」という用語は、ディスプレイ処理を実行するように構成された処理ユニットによって生成されたコンテンツを指すことがある。いくつかの例では、本明細書で使用する「ディスプレイコンテンツ」という用語は、ディスプレイ処理ユニットによって生成されたコンテンツを指すことがある。グラフィカルコンテンツは、ディスプレイコンテンツになるように処理され得る。例えば、グラフィックス処理ユニットは、フレームなどのグラフィカルコンテンツをバッファ(フレームバッファと呼ばれることがある)に出力し得る。ディスプレイ処理ユニットは、バッファから1つ又は複数のフレームなどのグラフィカルコンテンツを読み出し、それにおいて1つ又は複数のディスプレイ処理技法を実行して、ディスプレイコンテンツを生成し得る。例えば、ディスプレイ処理ユニットは、フレームを生成するために、1つ又は複数のレンダリングされたレイヤ上で合成を実行するように構成され得る。別の例として、ディスプレイ処理ユニットは、2つ以上のレイヤを一緒に単一のフレームに合成、混合、又はさもなければ結合するように構成され得る。ディスプレイ処理ユニットは、フレームにおいてスケーリング、例えば、アップスケーリング又はダウンスケーリングを実行するように構成され得る。いくつかの例では、フレームはレイヤを指すことがある。他の例では、フレームは、フレームを形成するためにすでに一緒に混合されている、2つ以上のレイヤを指すことがあり、すなわち、フレームは、2つ以上のレイヤを含み、2つ以上のレイヤを含むフレームは、後で混合され得る。
【0018】
[0033] 図1は、本開示の1つ又は複数の技法を実装するように構成された、例示的なコンテンツ生成システム100を示すブロック図である。コンテンツ生成システム100は、デバイス104を含む。デバイス104は、本明細書で説明する様々な機能を実行するための1つ又は複数の構成要素又は回路を含み得る。いくつかの例では、デバイス104の1つ又は複数の構成要素は、SOCの構成要素であり得る。デバイス104は、本開示の1つ又は複数の技法を実行するように構成された1つ又は複数の構成要素を含み得る。図示の例では、デバイス104は、処理ユニット120と、コンテンツエンコーダ/デコーダ122と、システムメモリ124と、を含み得る。いくつかの態様では、デバイス104は、いくつかの任意の構成要素、例えば、通信インターフェース126と、トランシーバ132と、受信機128と、送信機130と、ディスプレイプロセッサ127と、1つ又は複数のディスプレイ131と、を含み得る。ディスプレイ131への言及は、1つ又は複数のディスプレイ131を指すことがある。例えば、ディスプレイ131は、単一のディスプレイ又は複数のディスプレイを含み得る。ディスプレイ131は、第1のディスプレイと第2のディスプレイと、を含み得る。第1のディスプレイは左目ディスプレイであり得、第2のディスプレイは右目ディスプレイであり得る。いくつかの例では、第1及び第2のディスプレイは、その上に提示するための異なるフレームを受信し得る。他の例では、第1及び第2のディスプレイは、その上に提示するための同じフレームを受信し得る。更なる例では、グラフィックス処理の結果は、デバイス上に表示されなくてもよく、例えば、第1及び第2のディスプレイは、その上に提示するためのいかなるフレームも受信しなくてもよい。代わりに、フレーム又はグラフィックス処理結果は、別のデバイスに転送され得る。いくつかの態様では、このことは、分割レンダリングと呼ばれることがある。
【0019】
[0034] 処理ユニット120は、内部メモリ121を含み得る。処理ユニット120は、グラフィックス処理パイプライン107などにおいて、グラフィックス処理を実行するように構成され得る。コンテンツエンコーダ/デコーダ122は、内部メモリ123を含み得る。いくつかの例では、デバイス104は、1つ又は複数のディスプレイ131による提示の前に、処理ユニット120によって生成された1つ又は複数のフレームにおいて1つ又は複数のディスプレイ処理技法を実行するために、ディスプレイプロセッサ127などのディスプレイプロセッサを含み得る。ディスプレイプロセッサ127は、ディスプレイ処理を実行するように構成され得る。例えば、ディスプレイプロセッサ127は、処理ユニット120によって生成された1つ又は複数のフレームにおいて1つ又は複数のディスプレイ処理技法を実行するように構成され得る。1つ又は複数のディスプレイ131は、ディスプレイプロセッサ127によって処理されたフレームを表示又はさもなければ提示するように構成され得る。いくつかの例では、1つ又は複数のディスプレイ131は、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、投影ディスプレイデバイス、拡張現実ディスプレイデバイス、仮想現実ディスプレイデバイス、ヘッドマウントディスプレイ、又は任意の他のタイプのディスプレイデバイスのうちの1つ又は複数を含み得る。
【0020】
[0035] システムメモリ124など、処理ユニット120及びコンテンツエンコーダ/デコーダ122の外部のメモリは、処理ユニット120及びコンテンツエンコーダ/デコーダ122にとってアクセス可能であり得る。例えば、処理ユニット120及びコンテンツエンコーダ/デコーダ122は、システムメモリ124などの外部メモリから読み出し、かつ/又は外部メモリに書き込むように構成され得る。処理ユニット120及びコンテンツエンコーダ/デコーダ122は、バスを介してシステムメモリ124に通信可能に結合され得る。いくつかの例では、処理ユニット120及びコンテンツエンコーダ/デコーダ122は、バス又は異なる接続を介して互いに通信可能に結合され得る。
【0021】
[0036] コンテンツエンコーダ/デコーダ122は、システムメモリ124及び/又は通信インターフェース126など、任意のソースからグラフィカルコンテンツを受信するように構成され得る。システムメモリ124は、受信された符号化又は復号されたグラフィカルコンテンツを記憶するように構成され得る。コンテンツエンコーダ/デコーダ122は、例えば、システムメモリ124及び/又は通信インターフェース126から、符号化されたピクセルデータの形式で、符号化又は復号されたグラフィカルコンテンツを受信するように構成され得る。コンテンツエンコーダ/デコーダ122は、任意のグラフィカルコンテンツを符号化又は復号するように構成され得る。
【0022】
[0037] 内部メモリ121又はシステムメモリ124は、1つ又は複数の揮発性又は不揮発性メモリ又は記憶デバイスを含み得る。いくつかの例では、内部メモリ121又はシステムメモリ124は、RAM、SRAM、DRAM、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュメモリ、磁気データ媒体若しくは光記憶媒体、又は任意の他のタイプのメモリを含み得る。
【0023】
[0038] 内部メモリ121又はシステムメモリ124は、いくつかの例によれば、非一時的記憶媒体であり得る。「非一時的」という用語は、記憶媒体が搬送波又は伝搬される信号において具現化されないことを示すことがある。しかしながら、「非一時的」という用語は、内部メモリ121若しくはシステムメモリ124が非可動であること、又はそのコンテンツが静的であることを意味するものと解釈されるべきではない。一例として、システムメモリ124は、デバイス104から取り外され、別のデバイスに移動され得る。別の例として、システムメモリ124は、デバイス104から取外し可能でないことがある。
【0024】
[0039] 処理ユニット120は、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、汎用GPU(GPGPU)、又はグラフィックス処理を実行するように構成され得る任意の他の処理ユニットであり得る。いくつかの例では、処理ユニット120は、デバイス104のマザーボードに組み込まれ得る。いくつかの例では、処理ユニット120は、デバイス104のマザーボード内のポートにインストールされるグラフィックスカード上に存在し得るか、又はさもなければ、デバイス104と相互動作するように構成された周辺デバイス内に組み込まれ得る。処理ユニット120は、1つ又は複数のマイクロプロセッサ、GPU、特定用途向け集積回路(ASICs)、フィールドプログラマブルゲートアレイ(FPGAs)、算術論理ユニット(ALUs)、デジタル信号プロセッサ(DSPs)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、他の等価な集積論理回路若しくはディスクリート論理回路、又はそれらの任意の組み合わせなど、1つ又は複数のプロセッサを含み得る。技法が部分的にソフトウェアにおいて実装される場合、処理ユニット120は、好適な非一時的コンピュータ可読記憶媒体、例えば、内部メモリ121にソフトウェアのための命令を記憶し得、本開示の技法を実行するために、1つ又は複数のプロセッサを使用して、ハードウェアにおいて命令を実行し得る。ハードウェア、ソフトウェア、ハードウェア及びソフトウェアの組み合わせなどを含む、上記のいずれもが、1つ又は複数のプロセッサであると見なされ得る。
【0025】
[0040] コンテンツエンコーダ/デコーダ122は、コンテンツ復号を実行するように構成された任意の処理ユニットであり得る。いくつかの例では、コンテンツエンコーダ/デコーダ122は、デバイス104のマザーボードに組み込まれ得る。コンテンツエンコーダ/デコーダ122は、1つ又は複数のマイクロプロセッサ、特定用途向け集積回路(ASICs)、フィールドプログラマブルゲートアレイ(FPGAs)、算術論理ユニット(ALUs)、デジタル信号プロセッサ(DSPs)、ビデオプロセッサ、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、他の等価な集積論理回路若しくはディスクリート論理回路、又はそれらの任意の組み合わせなど、1つ又は複数のプロセッサを含み得る。技法が部分的にソフトウェアにおいて実装される場合、コンテンツエンコーダ/デコーダ122は、好適な非一時的コンピュータ可読記憶媒体、例えば、内部メモリ123にソフトウェアのための命令を記憶し得、本開示の技法を実行するために、1つ又は複数のプロセッサを使用して、ハードウェアにおいて命令を実行し得る。ハードウェア、ソフトウェア、ハードウェア及びソフトウェアの組み合わせなどを含む、上記のいずれもが、1つ又は複数のプロセッサであると見なされ得る。
【0026】
[0041] いくつかの態様では、コンテンツ生成システム100は、任意の通信インターフェース126を含み得る。通信インターフェース126は、受信機128及び送信機130を含み得る。受信機128は、デバイス104に関して本明細書で説明する任意の受信機能を実行するように構成され得る。更に、受信機128は、別のデバイスから情報、例えば、目若しくは頭位置情報、レンダリングコマンド、又はロケーション情報を受信するように構成され得る。送信機130は、デバイス104に関して本明細書で説明する任意の送信機能を実行するように構成され得る。例えば、送信機130は、コンテンツのための要求を含み得る情報を、別のデバイスに送信するように構成され得る。受信機128及び送信機130は、トランシーバ132に組み合わせられ得る。そのような例では、トランシーバ132は、デバイス104に関して本明細書で説明する任意の受信機能及び/又は送信機能を実行するように構成され得る。
【0027】
[0042] 再び図1を参照すると、いくつかの態様では、処理ユニット120は、第1の色空間に関連付けられた複数のピクセルについての要求を送信するように構成された決定構成要素198を含み得、複数のピクセルは、送信された要求に基づいて受信される。決定構成要素198はまた、複数の第1の色チャネルを含む第1の色空間に関連付けられた複数のピクセルを受信するように構成され得、複数の第1の色チャネルのうちの少なくとも1つの第1の色チャネルは第1の圧縮チャネルである。決定構成要素198はまた、複数の第1の色チャネルを含む第1の色空間に関連付けられた複数のピクセルを読み取るように構成され得、複数のピクセルは、少なくとも1つの第1の色チャネルを解凍する前に読み取られる。決定構成要素198はまた、複数の第1の色チャネルのうちの少なくとも1つの第1の色チャネルを解凍するように構成され得、少なくとも1つの第1の色チャネルは、第1の圧縮チャネルから第1の解凍チャネルに解凍される。決定構成要素198はまた、少なくとも1つの第1の色チャネルが解凍された後に、複数の第1の色チャネルの各々をフィルタリングするように構成され得る。決定構成要素198はまた、複数の第1の色チャネルが複数の第2の色チャネルに変換されるように、複数のピクセルに関連付けられた第1の色空間の色空間変換を実行するように構成され得、複数の第2の色チャネルは、複数のピクセルのための第2の色空間に関連付けられる。決定構成要素198はまた、色空間変換後に、第2の色空間に関連付けられた複数のピクセルを送信するように構成され得る。以下の説明は、ディスプレイ処理に焦点を合わせることがあるが、本明細書で説明する概念は、他の同様の処理技法に適用可能であり得る。
【0028】
[0043] 本明細書で説明するように、デバイス104などのデバイスは、本明細書で説明する1つ又は複数の技法を実行するように構成された、任意のデバイス、装置、又はシステムを指すことがある。例えば、デバイスは、サーバ、基地局、ユーザ機器、クライアントデバイス、局、アクセスポイント、コンピュータ、例えば、パーソナルコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、コンピュータワークステーション、若しくはメインフレームコンピュータ、最終製品、装置、電話、スマートフォン、サーバ、ビデオゲームプラットフォーム若しくはコンソール、ハンドヘルドデバイス、例えば、ポータブルビデオゲームデバイス若しくは携帯情報端末(PDA)、ウェアラブルコンピューティングデバイス、例えば、スマートウォッチ、拡張現実デバイス、若しくは仮想現実デバイス、非ウェアラブルデバイス、ディスプレイ若しくはディスプレイデバイス、テレビ、テレビセットトップボックス、中間ネットワークデバイス、デジタルメディアプレーヤ、ビデオストリーミングデバイス、コンテンツストリーミングデバイス、車載コンピュータ、任意のモバイルデバイス、グラフィカルコンテンツを生成するように構成された任意のデバイス、又は本明細書で説明する1つ又は複数の技法を実行するように構成された任意のデバイスであり得る。本明細書のプロセスは、特定の構成要素(例えば、GPU)によって実行されるものとして説明され得るが、更なる実施形態では、開示する実施形態に合わせて、他の構成要素(例えば、CPU)を使用して実行され得る。
【0029】
[0044] GPUは、GPUパイプラインにおいて複数のタイプのデータ又はデータパケットを処理し得る。例えば、いくつかの態様では、GPUは、2つのタイプのデータ又はデータパケット、例えば、コンテキストレジスタパケット及びドローコールデータを処理し得る。コンテキストレジスタパケットは、グラフィックスコンテキストがどのように処理されることになるかを調整し得る、グローバル状態情報、例えば、グローバルレジスタに関する情報、シェーディングプログラム、又は定数データのセットであり得る。例えば、コンテキストレジスタパケットは、カラーフォーマットに関する情報を含み得る。コンテキストレジスタパケットのいくつかの態様では、どのワークロードがコンテキストレジスタに属するかを示すビットがあり得る。また、同時に及び/又は並列に実行している複数の機能又はプログラミングもあり得る。例えば、機能又はプログラミングは、ある動作、例えば、カラーモード又はカラーフォーマットを表し得る。したがって、コンテキストレジスタは、GPUの複数の状態を定義し得る。
【0030】
[0045] コンテキスト状態は、個々の処理ユニットがどのように機能するか、例えば、頂点フェッチャ(VFD)、頂点シェーダ(VS)、シェーダプロセッサ、若しくはジオメトリプロセッサ、及び/又は何のモードで処理ユニットが機能するかを決定するために利用され得る。そうするために、GPUは、コンテキストレジスタ及びプログラミングデータを使用し得る。いくつかの態様では、GPUは、モード又は状態のコンテキストレジスタ定義に基づいて、パイプラインにおいてワークロード、例えば、頂点又はピクセルワークロードを生成し得る。いくつかの処理ユニット、例えば、VFDは、これらの状態を使用して、いくつかの機能、例えば、頂点がどのようにアセンブルされるかを決定し得る。これらのモード又は状態は変化し得るので、GPUは、対応するコンテキストを変更する必要があり得る。更に、モード又は状態に対応するワークロードは、変化するモード又は状態に従い得る。
【0031】
[0046] 図2は、本開示の1つ又は複数の技法による、例示的なGPU200を示す。図2に示されているように、GPU200は、コマンドプロセッサ(CP)210と、ドローコールパケット212と、VFD220と、VS222と、頂点キャッシュ(VPC)224と、三角形セットアップエンジン(TSE:triangle setup engine)226と、ラスタライザ(RAS)228と、Zプロセスエンジン(ZPE:Z process engine)230と、ピクセル補間器(PI:pixel interpolator)232と、フラグメントシェーダ(FS)234と、レンダーバックエンド(RB:render backend)236と、レベル2(L2)キャッシュ(UCHE)238と、システムメモリ240と、を含む。図2は、GPU200が処理ユニット220~238を含むことを表示しているが、GPU200は、いくつかの追加の処理ユニットを含み得る。更に、処理ユニット220~238は、一例にすぎず、任意の組み合わせ又は順序の処理ユニットが、本開示に従ってGPUによって使用され得る。GPU200はまた、コマンドバッファ250と、コンテキストレジスタパケット260と、コンテキスト状態261と、を含む。
【0032】
[0047] 図2に示されているように、GPUは、CP、例えば、CP210、又はハードウェアアクセラレータを利用して、コマンドバッファをコンテキストレジスタパケット、例えば、コンテキストレジスタパケット260、及び/又はドローコールデータパケット、例えば、ドローコールパケット212にパースし得る。次いで、CP210は、別個のパスを通して、GPUにおける処理ユニット又はブロックに、コンテキストレジスタパケット260又はドローコールデータパケット212を送信し得る。更に、コマンドバッファ250は、コンテキストレジスタ及びドローコールの異なる状態を交互にし得る。例えば、コマンドバッファは、以下のようにして構築され得、すなわち、コンテキストNのコンテキストレジスタ、コンテキストNのドローコール、コンテキストN+1のコンテキストレジスタ、及びコンテキストN+1のドローコール(単数又は複数)である。
【0033】
[0048] GPUは、様々な異なる方法で画像をレンダリングし得る。いくつかの事例では、GPUは、レンダリング及び/又はタイルレンダリングを使用して、画像をレンダリングし得る。タイルレンダリングGPUでは、画像は、異なるセクション又はタイルに分割又は分離され得る。画像の分割後、各セクション又はタイルが別個にレンダリングされ得る。タイルレンダリングGPUは、コンピュータグラフィックス画像をグリッドフォーマットに分割し得るので、グリッドの各部分、すなわち、タイルが別個にレンダリングされるようになる。いくつかの態様では、ビニングパスの間に、画像が異なるビン又はタイルに分割され得る。いくつかの態様では、ビニングパスの間に、可視性ストリームが構築され得、そこで、可視プリミティブ又はドローコールが識別され得る。タイルレンダリングとは対照的に、直接レンダリングは、フレームをより小さいビン又はタイルに分割しない。むしろ、直接レンダリングでは、フレーム全体が1回でレンダリングされる。更に、いくつかのタイプのGPUは、タイルレンダリングと直接レンダリングの両方を可能にし得る。
【0034】
[0049] グラフィックス処理又はディスプレイ/画像処理の態様では、いくつかの異なるオブジェクト又は色が、画像又はフレーム中で調整又は強調され得る。そうすることによって、画像内のオブジェクト又は色が改善され得、これは、画像の全体的な外観を改善し得る。画像内のオブジェクト又は色を調整又は強調するために、オブジェクト又は色は、調整又は強調の前に識別される必要があり得る。いくつかの事例では、このプロセスは、画像処理パイプライン又はディスプレイ処理パイプラインにおいて実行され得る。更に、このプロセスは、オブジェクト又は色識別プロセスと呼ばれることがある。
【0035】
[0050] 図3は、グラフィックス又はディスプレイ/画像処理のための構成要素の図300を示す。例えば、図3は、オブジェクト又は色分類プロセスのための例示的な構造を示す。図3に示すように、図300は、入力310、画像ダウンスケーラ320、フレーム選択ステップ322、ピクセル分類器330、及びマルチプレクサ(MUX)340を含み得る。図300はまた、GPU350及び/又はビデオデコーダ352を含むことができるコンテンツソースを含むことができる。更に、図300は、人工知能(AI)プロセッサ360、CPUソフトウェア370、メモリ380、画像後処理ユニット390、及び出力392を含み得る。図300の入力310は、画像又は画像シーケンスを含み得る。また、図300の出力392は、処理後の画像又は画像シーケンスを含み得る。
【0036】
[0051] 図3に示すように、入力310は、画像ダウンスケーラ320、ピクセル分類器330、及び画像後処理ユニット390と通信し得る。また、画像ダウンスケーラ320は、例えばフレーム又は画像を選択するために、フレーム選択ステップ322と通信し得る。更に、フレーム選択ステップ322は、例えば、低減された解像度の画像を、例えば、メモリ380を介して、AIプロセッサ360及び/又はCPUソフトウェア370と通信し得る。AIプロセッサ360はまた、メモリ380を介してCPUソフトウェア370と通信し得る。GPU350及びビデオデコーダ352は、例えば、メモリ380を介してMUX340と通信し得る。MUX340は、入力310とも通信し得る。また、CPUソフトウェア370は、ピクセル分類器330、例えば構成更新、及び/又は画像後処理ユニット390と通信し得る。ピクセル分類器330はまた、画像後処理ユニット390と通信し得る。この後、画像後処理ユニット390は、出力392、例えば画像又は画像シーケンスと通信し得る。
【0037】
[0052] 図3に更に示すように、画像後処理ユニット390は、フレーム前合成又はフレーム後合成であり得る。いくつかの態様では、図300は、入力310、画像ダウンスケーラ320、ピクセル分類器330、及び/又は画像後処理ユニット390を含み得る、低電力リアルタイムピクセル処理パイプラインを含み得る。また、図300は、選択された画像又はフレームに対して実行され得る非リアルタイム処理を含み得る。この非リアルタイム処理は、フレーム選択ステップ322、MUX340、GPU350、ビデオデコーダ352、AIプロセッサ360、CPUソフトウェア370、及びメモリ380を含み得る。いくつかの態様では、AIプロセッサ360は、ニューラルネットワークプロセッサと呼ばれることがある。また、CPUソフトウェア370は、統計分析のために利用されてもよい。
【0038】
[0053] グラフィックス処理又は画像処理のいくつかの態様は、色空間(すなわち、色の特定の編成)を利用し得る。色空間は、アナログ表現又はデジタル表現などを介して、色の再現可能な表現をサポートし得る。また、色空間は、特定のデバイス又はデジタルファイルの色能力を提供するのを助け得る。例えば、デバイス上で色を再現しようとするとき、色空間は、影/ハイライト及び/又は色飽和の詳細を示し得る。いくつかの異なるタイプの色空間又は色モデル(すなわち、色が数のタプルとして表され得る方法を記述する抽象数学モデル)が存在する。例えば、赤(R)、緑(G)、青(B)(RGB)色空間/モデル、又はルミナンス(Y)クロミナンス(UV)(YUV)色空間/モデルが存在する。
【0039】
[0054] 加えて、色空間は、色空間変換(すなわち、ある基底から別の基底への色の表現の変換)と呼ばれるプロセスにおいて、ある色空間から別の色空間に変換され得る。色空間変換は、1つの色空間で表された画像を別の色空間での表現に変換する文脈で実行され得る。例えば、色空間変換の1つの目的は、変換された画像を元の画像に可能な限り似たように見せることであり得る。色空間変換の一例は、RGB色空間をYUV色空間に変換すること、又はその逆である。
【0040】
[0055] いくつかの態様では、YUV色空間の使用は、自然画像のビデオストリームにとって好都合であり得る。例えば、RGB色空間とYUV色空間との間でフル画像(例えば、1対1のピクセル比)を符号化及び復号することは単純であり得る。しかしながら、YUV画像からのフィルタリングを利用する画像処理パイプラインでは、ソース画像がいくつかのタイプの色空間(例えば、標準RGB(sRGB)色空間)を用いて非線形(すなわち、ガンマ)圧縮される場合、符号化/復号プロセスは困難であり得る。
【0041】
[0056] 更に、フィルタリングは、いくつかの画像(例えば、YUV画像)が、スケーリング、回転、又は他の任意の画像アクセスを適用し得る画像処理又はレンダリングパイプラインの一部である場合に利用され得る。ソースが線形RGBである場合、フィルタリングは、結果として得られるYUVから直接実行され得る。ソースが非線形(すなわち、ガンマ)圧縮されたsRGBである場合、Y/U/V成分が非線形R/G/B成分の累積であるので、結果として得られるYUVから正確にフィルタリングすることができない場合がある。代わりに、各サンプルは、フィルタリングされる前に、YUVからsRGBに変換され、次いでsRGBから線形RGBに変換され得る。高度な(すなわち、バイキュービック)フィルタリングカーネルのためにすべてのサンプルに対してこれらの変換を適用することは、コストがかかる可能性がある。これは、サブサンプリングされたクロマを扱うとき、更に複雑になり得る。
【0042】
[0057] 上述したように、YUVは人間の知覚に基づく色符号化システムである。例えば、Y=ルミナンス(すなわち、線形)又はY’=ルーマ(すなわち、非線形)は、人間の目が最も敏感な輝度値である。人間の知覚に基づく別の色符号化システムはYCbCrであり、これは、クロミナンス成分がUVの代わりにCbCrであることを除いてYUVに類似している。クロミナンス(例えば、U/Cb(青色投影)及びV/Cr(赤色投影)からなる)は、人間の目があまり敏感でない色値であり、したがって、これらの値はダウンサンプリングされ得る。いくつかの事例では、YUVはアナログテレビシステムに関連付けられてもよく、YCbCrはデジタルビデオの等価物であってもよい。
【0043】
[0058] 更に上述したように、RGB及びYUVは、異なるプロセスにおいて利用されてもよい。例えば、RGBは、コンピュータ画像のための一般的な色符号化システムとして利用されてもよく、YUVは、典型的には、ビデオ転送のために利用されてもよい。RGBとYUVとの間の転送は、RGB(例えば、R/G/B)における1つのチャネルの、YUV(例えば、Y/U/V)における対応するチャネルへの変換など、比較的単純なプロセスであり得る。例えば、様々な業界標準は、RGB又はYUVの3つの成分(例えば、R/G/B又はY/U/V)の加重和にオフセット及び/又はスケールを加えたものをもたらし得る。
【0044】
[0059] ガンマ圧縮は、人間の知覚感度に基づいて制限されたビットレートでより高いダイナミックレンジの色を記憶することを可能にする非線形転送関数である。例えば、ガンマ圧縮は、暗い領域に対してより多くのビットを利用し、明るい領域に対してより少ないビットを利用し得る。ガンマ曲線は、多くの場合、直線指数(例えば、2.2の指数)として表され得るが、様々な規格は、わずかな調整及び/又はクランプ仕様を有し得る。更に、ガンマ補正は、多くの場合、ルックアップテーブル(LUT)を使用して実装され得る。ガンマ曲線は歴史的にテレビセットの光応答に関連付けられてきたかもしれないが、現代のコンピュータグラフィックスでは、ガンマ曲線はそのビットレート圧縮能力のために使用され得る。
【0045】
[0060] 色空間変換はまた、フィルタリング、すなわち、ピクセルの周りのカーネルからサンプルを取り、重み付けされた補間を適用することを利用し得る。フィルタリングは、画像から非直接方式(例えば、非1対1方式)でサンプリングするときに画質を維持するために使用される。更に、スケーリング、回転、又は他の任意のアクセスを適用し得る画像処理パイプラインの一部として画像が使用される場合、フィルタリングは一般的である。いくつかの事例では、フィルタリングは、サンプルが線形空間内にあることを必要とし得る。
【0046】
[0061] ガンマ空間フィルタリングは、元々、(例えば、陰極線管(CRT)モニタにおいて)非線形モニタ強度とともに利用されていた可能性がある。より最近では、ガンマ空間フィルタリングが利用されてもよく、それにより、人間は、より明るい色合いよりもより暗い色合いの間の差を決定し得る。例えば、画像を限られたダイナミックレンジ(例えば、ビット深度範囲)に圧縮するために、線形画像がガンマに変換され得る。ビデオ及びデータの典型的な用途は、これらの結果をディスプレイに送信し得る(例えば、現代のディスプレイは、線形空間に変換し戻し得る)。また、いくつかのガンマ空間がある量(例えば、X0.45)よりも複雑であるように、様々なタイプのガンマ空間があり得る。
【0047】
[0062] いくつかの態様では、結合ベースの画像計算(例えば、補間フィルタリング、サンプリング、ブレンディングなど)は、非線形ガンマ空間において機能しないことがある。例えば、フィルタリングは、最終結果(すなわち、デガンマ後)を意図されたものより暗くすることがある。例えば、重要なアーチファクトは、ガンマ空間フィルタリングが「エネルギー」保存ではないことであり得る。更に、最終結果が暗くなる量は、サンプル位置に依存し得る。
【0048】
[0063] 図4は、例示的な線形サンプリングプロセス及び例示的なガンマ空間フィルタリングプロセスを示す図400、410、420、430、及び440を含む。より具体的には、図400、410、420、430、及び440は、線形サンプリングプロセスをガンマ空間フィルタリングプロセスと比較するサンプリング例を示す。図4に示されるように、図400、410、420、430、及び440は、黒「x」において実行される簡略化された線形サンプリングを示す。例えば、サンプリングプロセスが移動するにつれて(すなわち、黒い十字が右に移動するにつれて)、線形サンプリングの量は線形に調整される。図4に更に示されるように、ガンマ空間フィルタリングの場合、サンプリングは、ダイアグラム410、420、及び430において暗すぎる。
【0049】
[0064] 色空間変換のいくつかの態様は、非線形空間におけるフィルタリングが困難であり得る。例えば、RGB画像が生成された後、ビットレートを維持するために、RGB画像は非線形(ガンマ)圧縮され得る。非線形RGBは、ビデオ符号化及び転送のためにYUVに変換され得る。受信側では、画像は画像処理パイプラインの一部として使用され得る。このプロセスはフィルタリングを必要とし得るが、YUV画像は内部に非線形データを含み得る。正しいシーケンスは、YUV画像が非線形RGBに変換され、次いでフィルタリングの前に線形RGBに変換されることを必要とし得る。任意のピクセルアクセスの場合、このシーケンスは、計算集約的であり、ハードウェアによって直接サポートされないことがある。
【0050】
[0065] 非線形空間における困難なフィルタリングに加えて、色空間変換のいくつかの態様は、線形空間への変換が困難である場合がある。いくつかの事例では、非線形YUVソースは、高ダイナミックレンジRGBから生じ得る。また、非線形YUVソースは、帯域幅を節約するために、より低いビットレートの非線形(ガンマ)sRGBに圧縮されてもよい。更に、非線形YUVソースは、更なるクロマサブサンプリング圧縮のためにYUV(例えば、YUV4:2:0又はNV12)に変換され得る。従来のアクセスでは、非線形YUVからsRGB及び/又は高ダイナミックレンジ線形RGBへの変換は、ソース生成プロセスをピクセルごとに反転させることによって実行され得る。従来のアクセスは、典型的には、ソース画像全体に対して実行され得る(例えば、スケーリング又は画像操作なし)。また、従来のアクセスは、ピクセルの非線形結合を利用しない場合がある。任意の非線形YUVアクセスは、複数のサンプルを一緒にフィルタリングすることを利用し得る任意のピクセルアクセス(例えば、スケーリング、回転、又は他の画像処理)であり得る。任意のピクセルアクセスでは、フィルタリングは線形空間で実行される必要があり得る。また、非線形YUVサンプルの線形空間への変換は複雑であり、ハードウェア又はソフトウェアにおいて効率的に実装することが困難である場合がある。
【0051】
[0066] 図5A及び図5Bは、それぞれ、例示的な非線形YUV符号化プロセスを示す図500及び図550を含む。より具体的には、図500は、非一定ルミナンス(NCL)のための非線形YUV符号化プロセスを示し、図550は、一定ルミナンス(CL)のための非線形YUV符号化プロセスを示す。図5Aに示すように、図500は、色成分512(例えば、R、G、B)、非線形成分514(例えば、Y’、U’、V’)、ガンマ圧縮518、色空間変換520、及びダウンサンプリング処理522を含むNCL符号化プロセス510を含む。図5Aはまた、NCL符号化プロセス510のいくつかの態様が、非線形色空間において適用されるので、不正確な計算をもたらし得ることを示す。図5Bに示すように、図550は、色成分562(例えば、R、G、B)、非線形成分564(例えば、Y’、U’、V’)、ガンマ圧縮568、色空間変換570、及びダウンサンプリング処理572を含むCL符号化プロセス560を含む。図5Bはまた、CL符号化プロセス560のいくつかの態様が、非線形色空間において適用されるときに不正確な計算をもたらし得ることを示す。
【0052】
[0067] 図5A及び図5Bに示すように、非線形YUV符号化プロセスは、ガンマ空間圧縮を含み得、ガンマ空間圧縮は、高ダイナミックレンジRGBをより低いビットレートsRGBに変換し得る。sRGBは、非線形R’、G’、及びB’成分を含み得る。ガンマ空間圧縮はまた、中間画像の記憶を可能にし得る。図5A及び図5Bに更に示すように、非線形YUV符号化プロセスは、非線形sRGB(例えば、R’G’B’)が非線形YUV(例えば、Y’U’V’)に変換され得るように、色空間変換520及び570を含み得る。更に、クロマサブサンプリングがあってもよい。図5A及び図5Bに更に示すように、非線形YUV符号化プロセスにおける初期のガンマ空間圧縮の利便性は、中間のより低いビットレートのsRGB画像を記憶する能力であり得る。非線形YUV符号化プロセスの1つの欠点は、色空間変換及びサブサンプリング動作が非線形値を使用し得ることである。
【0053】
[0068] 図6A及び図6Bは、それぞれ、例示的な非線形YUV復号プロセスを示す図600及び650を含む。より具体的には、図600は、非一定ルミナンス(NCL)のための非線形YUV復号プロセスを示し、図650は、一定ルミナンス(CL)のための非線形YUV復号プロセスを示す。図6Aに示されるように、図600は、色成分612(例えば、R、G、B)、非線形成分614(例えば、Y’、U’、V’)を含むNCL復号プロセス610、アップサンプリングプロセス618、色空間変換620、及びデガンマプロセス622を含む。図6Aはまた、NCL復号プロセス610のいくつかの態様が、非線形色空間において適用されるときに不正確な計算をもたらし得ることを示す。図6Bに示されているように、図650は、色成分662(例えば、R、G、B)と、非線形成分664(例えば、Y’、U’、V’)と、アップサンプリングプロセス668と、色空間変換670と、デガンマプロセス672と、を含むCL復号プロセス660を含む。図6Bはまた、CL復号プロセス660のいくつかの態様が、非線形色空間において適用されるときに不正確な計算をもたらし得ることを示す。
【0054】
[0069] 図6A及び図6Bに示すように、非線形YUV復号プロセスは、クロマアップサンプリングを含み得る。非線形YUV復号プロセスはまた、非線形YUV(例えば、Y’U’V’)がsRGB(例えば、R’G’B’)に変換され得るように、色空間変換620及び670を含み得る。更に、非線形YUV復号プロセスは、sRGB(例えば、R’G’B’)が高ダイナミックレンジRGBに変換され得るように、デガンマプロセス622及び672を含み得る。非線形YUV復号プロセスの1つの欠点は、アップサンプリング及び色空間変換動作が非線形値を使用する可能性があることである。
【0055】
[0070] 図7A及び図7Bは、それぞれ、フィルタリングを伴う例示的な非線形YUV復号プロセスを示す図700及び図750を含む。より具体的には、図700は、非一定ルミナンス(NCL)に対するフィルタリングを伴う非線形YUV復号プロセスを示し、図750は、一定ルミナンス(CL)に対するフィルタリングを伴う非線形YUV復号プロセスを示す。図7Aに示されるように、図700は、色成分712(例えば、R、G、B)、非線形成分714(例えば、Y’、U’、V’)、フィルタプロセス716、アップサンプリング処理718、色空間変換720、及びデガンマプロセス722を含むフィルタリングを伴うNCL復号プロセス710を含む。図7Aはまた、フィルタリングを伴うNCL復号プロセス710のいくつかの態様が、非線形色空間において適用されるので、不正確な計算をもたらし得ることを示す。また、フィルタプロセス716は、パイプラインの他の部分における不正確な計算と比較して、非線形色空間において適用されるより深刻な不正確な計算を含み得る。図7Bに示されているように、図750は、色成分762(例えば、R、G、B)と、非線形成分764(例えば、Y’、U’、V’)と、フィルタプロセス766と、アップサンプリングプロセス768と、色空間変換770と、デガンマプロセス772と、を含む、フィルタリングを伴うCL復号プロセス760を含む。図7Bはまた、フィルタリングを伴うCL復号プロセス760のいくつかの態様が、非線形色空間において適用されるので、不正確な計算をもたらし得ることを示す。また、フィルタプロセス766は、パイプラインの他の部分における不正確な計算と比較して、非線形色空間において適用されるより深刻な不正確な計算を含み得る。
【0056】
[0071] 図7A及び図7Bに示すように、フィルタリングを伴う非線形YUV復号プロセスは、複数のサンプルを一緒にフィルタリングし得るフィルタプロセス716及び766を含み得る。しかしながら、このフィルタプロセスは、非線形値に起因する著しい誤差をもたらす可能性がある。フィルタリングを伴う非線形YUV復号プロセス710及び760はまた、クロマサブサンプリングを含み得、これは、非線形値に起因するいくらかの誤差をもたらし得る。フィルタリングを伴う非線形YUV復号プロセス710及び760は、色空間変換も含み得、これは、非線形YUV(Y’U’V’)をsRGB(例えば、R’G’B’)に変換するときに何らかの誤差をもたらすことがある。更に、フィルタリングを伴う非線形YUV復号プロセス710及び760は、sRGBを高ダイナミックレンジRGBに変換し得るデガンマプロセス722及び772を含み得る。いくつかの態様では、ハードウェアパイプラインは、典型的には、より複雑な色処理動作を適用する前にフィルタリングし得る。フィルタリングを伴う非線形YUV復号プロセスの1つの欠点は、アップサンプリング及び色空間変換動作が非線形値を利用する可能性があることである。
【0057】
[0072] 上記に基づいて、非線形空間においてフィルタリングすることは、非線形YUV変換プロセスにとって有益であり得る。非線形YUV変換プロセス中に線形空間に変換することも有益であり得る。例えば、非線形YUV変換プロセス中に非線形YUVサンプルを線形空間に変換することが有益であり得る。更に、非線形YUV変換プロセスにとって、非線形値を用いるアップサンプリング及び色空間変換動作を利用することが有益であり得る。
【0058】
[0073] 本開示の態様は、非線形空間においてフィルタリングする非線形YUV変換プロセスを含み得る。また、本開示の態様は、非線形YUV変換プロセス中に線形空間に変換し得る。例えば、本開示の態様は、非線形YUV変換プロセス中に非線形YUVサンプルを線形空間に変換し得る。加えて、いくつかの事例では、本開示の態様は、非線形値を用いるアップサンプリング及び色空間変換動作を利用する非線形YUV変換プロセスを含み得る。本開示の態様はまた、色空間変換(例えば、RGBからYUVへの変換)の後に、非線形圧縮を個々のチャネル(例えば、R、G、Bチャネル)からあるチャネル(例えば、ルーマ(Y)チャネル)に移動させ得る。そうすることによって、本開示の態様は、サンプリング、線形成分への変換、及び/又はYUV空間におけるフィルタリングをより容易にしながら、非線形ルーマ圧縮の性質を維持し得る。加えて、本開示の態様は、中間YUV 4:2:0ビデオフォーマット(例えば、NV12)など、いくつかのビデオフォーマットが影響を受けないままであることを可能にし得る。
【0059】
[0074] 加えて、本開示の態様は、ルーマ/ルミナンス(Y/Y’)成分のみを有する非線形YUV変換プロセスを含み得る。したがって、本開示の態様は、ルーマ/ルミナンス(Y/Y’)チャネルのための、すなわち、クロマ/クロミナンス(UV/U’V’)チャネルなしの、非線形YUV変換プロセスを提供し得る。例えば、本開示の態様は、ルーマ/ルミナンス成分又はチャネルのために非線形YUV符号化プロセスを利用し得る。本開示の態様はまた、ルーマ/ルミナンス成分又はチャネルのために非線形YUV復号プロセスを利用し得る。更に、本開示の態様はまた、ルーマ/ルミナンス成分又はチャネルのためのフィルタリングを伴う非線形YUV復号プロセスを利用し得る。
【0060】
[0075] 図8は、例示的な非線形YUV符号化プロセスを示す図800を含む。より具体的には、図800は、ルーマ/ルミナンス(Y/Y’)成分のための非線形YUV符号化プロセスを示す。図8に示されるように、図800は、色成分812(例えば、R、G、B)、非線形成分814(例えば、Y’、U’、V’)、ガンマ圧縮818、色空間変換820、及びダウンサンプリング処理822を含むYのみの符号化プロセス810を含む。図8はまた、Yのみの符号化プロセス810の態様が、不正確な色空間に対応する任意のステップをもたらさないことがあることを示す。したがって、Yのみの符号化プロセス810は、線形色空間において正確に実行されるプロセスにおける各ステップをもたらし得る。
【0061】
[0076] 図8に示すように、ルーマ/ルミナンス(Y/Y’)成分のみを有する非線形YUV符号化プロセスは、線形RGBが線形YUVに変換され得るように、色空間変換820を含み得る。図8はまた、Yチャネルのみのガンマ空間圧縮を含み得る。したがって、Yチャネルのみを用いる非線形YUV符号化プロセスにおけるガンマ空間圧縮は、UVチャネルに対して実行されなくてもよい。ルーマ/ルミナンス(Y/Y’)成分のみを用いる非線形YUV符号化プロセスは、線形成分を使用するクロマサブサンプリングを更に含み得る。図8に更に示されるように、Yのみの符号化プロセス810における色処理のすべては、線形成分に対して実行され得る。代替的に、sRGB(R’G’B’)ソースの場合、Yのみの符号化プロセスは、R’G’B’入力と、R’G’B’入力の直後に各チャネルに対して実行されるデガンマプロセスと、を含み得る。
【0062】
[0077] 図9は、例示的な非線形YUV復号プロセスを示す図900を含む。より具体的には、図900は、ルーマ/ルミナンス(Y/Y’)成分のための非線形YUV復号プロセスを示す。図9に示されるように、図900は、色成分912(例えば、R、G、B)、非線形成分914(例えば、Y’、U’、V’)、アップサンプリングプロセス918、色空間変換920、及びデガンマプロセス922を含むYのみの復号プロセス910を含む。図9はまた、Yのみの復号プロセス910の態様が、不正確な非線形色空間における計算を伴う任意のステップをもたらさないことがあることを示す。したがって、Yのみの復号プロセス910は、線形色空間において正確に実行されるプロセスにおける各ステップをもたらし得る。
【0063】
[0078] 図9に示されるように、ルーマ/ルミナンス(Y/Y’)成分のみを有する非線形YUV復号プロセスは、線形YUVがRGBに変換され得るように、YUVからRGBへの色空間変換920を含み得る。図9は、Yのみの復号プロセス910がクロマアップサンプリングプロセス(例えば、アップサンプリングプロセス918)を含み得ることを示す。例えば、ルーマ/ルミナンス(Y/Y’)成分のみを用いる非線形YUV復号プロセスは、線形成分を使用するクロマサブサンプリングを更に含み得る。図9に更に示されるように、Yのみの復号プロセス910における色処理のすべては、線形空間において実行され得る。更に、図9に示すように、サンプルのデガンマプロセスはハードウェアでサポートされてもよい。
【0064】
[0079] 図10は、フィルタリングを伴う例示的な非線形YUV復号プロセスを示す図1000を含む。より具体的には、図1000は、ルーマ/ルミナンス(Y/Y’)成分のためのフィルタリングを伴う非線形YUV復号プロセスを示す。図10に示されているように、図1000は、色成分1012(例えば、R、G、B)と、非線形成分1014(例えば、Y’、U’、V’)と、フィルタプロセス1016と、アップサンプリングプロセス1018と、色空間変換1020と、デガンマプロセス1022と、を含む、フィルタリングを伴うYのみの復号プロセス1010を含む。更に、図10図1000は、GPUテクスチャプロセッサ(TP)処理部分1030と、GPUシェーダプロセッサ(SP)処理部分1040と、を含む。したがって、フィルタリングを伴うYのみの復号プロセス1010の一部分は、GPUのTP(例えば、GPU TP処理部分1030)において処理され得、フィルタリングを伴うYのみの復号プロセス1010の別の部分は、GPUのSP(例えば、GPU SP処理部分1040)において処理され得る。図10はまた、フィルタリングを伴うYのみの復号プロセス1010の態様が、不正確な非線形色空間における計算を伴う任意のステップをもたらさない場合があることを示す。したがって、フィルタリングを伴うYのみの復号プロセス1010は、線形色空間において正確に実行されるプロセスにおける各ステップをもたらし得る。
【0065】
[0080] 図10に示されるように、ルーマ/ルミナンス(Y/Y’)成分のみを含むフィルタリングを伴う非線形YUV復号プロセスは、線形YUVがRGBに変換され得るように、YUVからRGBへの色空間変換1020を含み得る。図10は、フィルタリングを伴うYのみの復号プロセス1010が、(例えば、フィルタプロセス1016を介して)複数のサンプルを一緒にフィルタリングすることを含み得ることを示す。したがって、Yチャネルのみを含むフィルタリングを伴う非線形YUV復号プロセスは、フィルタリングの前にすべてのサンプルに対してYチャネルデガンマプロセスを実行し得る。ルーマ/ルミナンス(Y/Y’)成分のみを含むフィルタリングを伴う非線形YUV復号プロセスは、線形成分を使用するクロマサブサンプリングを更に含み得る。図10に更に示されるように、フィルタリングを伴うYのみの復号プロセス1010における色処理のすべては、線形空間において実行され得る。更に、図10に示されるように、サンプルのデガンマは、フィルタリングの前にハードウェアにおいてサポートされ得る。
【0066】
[0081] GPUにおける非線形YUV変換のためのフィルタリングのいくつかの態様では、TPフィルタリングは、非線形値に対して強制され得る。これは、TP及びSP処理全体にわたって伝搬される非線形誤差をもたらし得る。対照的に、本開示の態様は、線形値のみに対するTPフィルタリングを伴う非線形YUV変換を含み得る。したがって、本開示の態様は、TP及びSP処理全体にわたって誤差が伝搬されないように、正確な値を提供し得る。本開示の態様はまた、GPUにおけるTP処理及びSP処理のすべてが線形値に対して実行されることを可能にし得る。更に、本開示の態様は、フィルタリングの前にY個のサンプルのデガンマプロセスを実行し得る。いくつかの事例では、これは、TPハードウェアによってサポートされ得る。
【0067】
[0082] 本開示の態様は、いくつかの利益又は利点を含み得る。例えば、本開示の態様は、TP及びSP処理全体にわたって正確な値を伝搬し得る。本開示の態様はまた、色空間変換(例えば、RGBからYUVへの変換)の後に、非線形圧縮を個々のチャネル(例えば、R、G、Bチャネル)からあるチャネル(例えば、ルーマ(Y)チャネル)に移動させ得る。そうすることによって、本開示の態様は、サンプリング、線形成分への変換、及び/又はYUV空間におけるフィルタリングをより容易にしながら、非線形ルーマ圧縮の性質を維持し得る。加えて、本開示の態様は、中間YUV 4:2:0ビデオフォーマット(例えば、NV12)など、いくつかのビデオフォーマットが影響を受けないままであることを可能にし得る。
【0068】
[0083] 図11は、本開示の1つ又は複数の技法による、グラフィックス処理の通信フロー図1100である。図11に示すように、図1100は、本開示の1つ又は複数の技法による、GPU(又は他のグラフィックスプロセッサ)の構成要素、例えば、GPU構成要素1102、GPU構成要素1104、及びGPU構成要素1106の間の例示的な通信を含む。
【0069】
[0084] 1110において、GPU構成要素1102は、第1の色空間に関連付けられた複数のピクセルについての要求(例えば、要求1112)を送信し得、複数のピクセルは、送信された要求に基づいて受信される。要求は、グラフィックス処理ユニット(GPU)のシェーダプロセッサからGPUのテクスチャプロセッサに送信され得る。
【0070】
[0085] 1120において、GPU構成要素1102は、複数の第1の色チャネルを含む第1の色空間に関連付けられた複数のピクセル(例えば、ピクセル1122)を受信し得、複数の第1の色チャネルのうちの少なくとも1つの第1の色チャネルは、第1の圧縮チャネルである。第1の色空間は、ルミナンス(Y)クロミナンス(UV)(YUV)色空間であり得、第2の色空間は、赤(R)緑(G)青(B)(RGB)色空間であり得る。
【0071】
[0086] 1130において、GPU構成要素1102は、複数の第1の色チャネルを含む第1の色空間に関連付けられた複数のピクセルを読み取り得、複数のピクセルは、少なくとも1つの第1の色チャネルを解凍する前に読み取られる。
【0072】
[0087] 1140において、GPU構成要素1102は、複数の第1の色チャネルのうちの少なくとも1つの第1の色チャネルを解凍し得、少なくとも1つの第1の色チャネルは、第1の圧縮チャネルから第1の解凍チャネルに解凍される。少なくとも1つの第1のチャネルの解凍は、解凍が少なくとも1つの第1のチャネルを非線形チャネルから線形チャネルに変換するように、非線形解凍であってもよい。また、複数の第1の色チャネルのうちの1つ又は複数の第1のチャネルは、1つ又は複数の第1のチャネルが解凍されないように、線形チャネルであってもよい。いくつかの事例では、少なくとも1つの第1の色チャネルは、解凍される前に非線形圧縮され得る。
【0073】
[0088] 1150において、GPU構成要素1102は、少なくとも1つの第1の色チャネルが解凍された後に、複数の第1の色チャネルの各々をフィルタリングし得る。複数の第1の色チャネルの各々は、線形フィルタリング、双線形フィルタリング、又は非線形フィルタリングされ得る。
【0074】
[0089] 1160において、GPU構成要素1102は、複数の第1の色チャネルが複数の第2の色チャネルに変換されるように、複数のピクセルに関連付けられた第1の色空間の色空間変換を実行し得、複数の第2の色チャネルは、複数のピクセルのための第2の色空間に関連付けられる。色空間変換は、複数の第1の色チャネルの各々について同時に実行され得る。また、色空間変換は、グラフィックス処理ユニット(GPU)のテクスチャプロセッサ又はGPUのシェーダプロセッサのうち少なくとも1つにおいて実行され得る。いくつかの態様では、GPU構成要素1102は、少なくとも1つの第1のチャネルを、複数の第1の色チャネルのうちの少なくとも1つの他の第1のチャネル及び複数の第1の色チャネルのうちの少なくとも1つの追加の第1のチャネルと結合し得る。例えば、第1の色空間の色空間変換を実行することは、少なくとも1つの第1のチャネルを、複数の第1の色チャネルのうちの少なくとも1つの他の第1のチャネル及び複数の第1の色チャネルのうちの少なくとも1つの追加の第1のチャネルと結合することを更に含み得る。少なくとも1つの第1のチャネルと、少なくとも1つの他の第1のチャネル及び少なくとも1つの追加の第1のチャネルとの結合は、行列結合器によって実行され得る。
【0075】
[0090] 1170において、GPU構成要素1102は、色空間変換後に第2の色空間に関連付けられた複数のピクセル(例えば、ピクセル1172)を送信し得る。複数のピクセルは、グラフィックス処理ユニット(GPU)のシェーダプロセッサに送信され得る。
【0076】
[0091] 図12は、本開示の1つ又は複数の技法による、グラフィックス処理の例示的な方法のフローチャート1200である。方法は、グラフィックス処理のための装置、GPU若しくは他のグラフィックスプロセッサ、ワイヤレス通信デバイス、及び/又は図1図11の例に関して使用されるようなグラフィックス処理を実行し得る任意の装置など、装置によって実行され得る。本明細書で説明する方法は、通信シグナリング、リソース利用、及び/又は電力節約を改善するなど、いくつかの利益を提供し得る。
【0077】
[0092] 1204において、図1図11の例に関して説明したように、GPUは、複数の第1の色チャネルを含む第1の色空間に関連付けられた複数のピクセルを受信し得、複数の第1の色チャネルのうちの少なくとも1つの第1の色チャネルは第1の圧縮チャネルである。例えば、図11の1120に記載されているように、GPU構成要素1102は、複数の第1の色チャネルを含む第1の色空間に関連付けられた複数のピクセルを受信し得、複数の第1の色チャネルのうちの少なくとも1つの第1の色チャネルは第1の圧縮チャネルである。更に、ステップ1204は、図1の処理ユニット120によって実行され得る。第1の色空間は、ルミナンス(Y)クロミナンス(UV)(YUV)色空間であり得、第2の色空間は、赤(R)緑(G)青(B)(RGB)色空間であり得る。
【0078】
[0093] 1208において、GPUは、図1図11の例に関して説明したように、複数の第1の色チャネルのうちの少なくとも1つの第1の色チャネルを解凍し得、少なくとも1つの第1の色チャネルは、第1の圧縮チャネルから第1の解凍チャネルに解凍される。例えば、図11の1140に記載されているように、GPU構成要素1102は、複数の第1の色チャネルのうちの少なくとも1つの第1の色チャネルを解凍し得、少なくとも1つの第1の色チャネルは、第1の圧縮チャネルから第1の解凍チャネルに解凍される。更に、ステップ1208は、図1の処理ユニット120によって実行され得る。少なくとも1つの第1のチャネルの解凍は、解凍が少なくとも1つの第1のチャネルを非線形チャネルから線形チャネルに変換するように、非線形解凍であってもよい。また、複数の第1の色チャネルのうちの1つ又は複数の第1のチャネルは、1つ又は複数の第1のチャネルが解凍されないように、線形チャネルであってもよい。いくつかの事例では、少なくとも1つの第1の色チャネルは、解凍される前に非線形圧縮され得る。
【0079】
[0094] 1212において、GPUは、図1図11の例に関して説明したように、複数の第1の色チャネルが複数の第2の色チャネルに変換されるように、複数のピクセルに関連付けられた第1の色空間の色空間変換を実行し得、複数の第2の色チャネルは、複数のピクセルのための第2の色空間に関連付けられる。例えば、図11の1160に記載されているように、GPU構成要素1102は、複数の第1の色チャネルが複数の第2の色チャネルに変換されるように、複数のピクセルに関連付けられた第1の色空間の色空間変換を実行し得、複数の第2の色チャネルは、複数のピクセルのための第2の色空間に関連付けられる。更に、ステップ1212は、図1の処理ユニット120によって実行され得る。色空間変換は、複数の第1の色チャネルの各々について同時に実行され得る。また、色空間変換は、グラフィックス処理ユニット(GPU)のテクスチャプロセッサ又はGPUのシェーダプロセッサのうち少なくとも1つにおいて実行され得る。いくつかの態様では、GPU構成要素1102は、少なくとも1つの第1のチャネルを、複数の第1の色チャネルのうちの少なくとも1つの他の第1のチャネル及び複数の第1の色チャネルのうちの少なくとも1つの追加の第1のチャネルと結合し得る。例えば、第1の色空間の色空間変換を実行することは、少なくとも1つの第1のチャネルを、複数の第1の色チャネルのうちの少なくとも1つの他の第1のチャネル及び複数の第1の色チャネルのうちの少なくとも1つの追加の第1のチャネルと結合することを更に含み得る。少なくとも1つの第1のチャネルと、少なくとも1つの他の第1のチャネル及び少なくとも1つの追加の第1のチャネルとの結合は、行列結合器によって実行され得る。
【0080】
[0095] 図13は、本開示の1つ又は複数の技法による、グラフィックス処理の例示的な方法のフローチャート1300である。方法は、グラフィックス処理のための装置、GPU若しくは他のグラフィックスプロセッサ、ワイヤレス通信デバイス、及び/又は図1図11の例に関して使用されるようなグラフィックス処理を実行し得る任意の装置など、装置によって実行され得る。本明細書で説明する方法は、通信シグナリング、リソース利用、及び/又は電力節約を改善するなど、いくつかの利益を提供し得る。
【0081】
[0096] 1302において、GPUは、第1の色空間に関連付けられた複数のピクセルについての要求を送信し得、図1図11の例に関して説明したように、送信された要求に基づいて複数のピクセルが受信される。例えば、図11の1110に記載されているように、GPU構成要素1102は、第1の色空間に関連付けられた複数のピクセルについての要求を送信し得、複数のピクセルは、送信された要求に基づいて受信される。更に、ステップ1302は、図1の処理ユニット120によって実行され得る。要求は、グラフィックス処理ユニット(GPU)のシェーダプロセッサからGPUのテクスチャプロセッサに送信され得る。
【0082】
[0097] 1304において、図1図11の例に関して説明したように、GPUは、複数の第1の色チャネルを含む第1の色空間に関連付けられた複数のピクセルを受信し得、複数の第1の色チャネルのうちの少なくとも1つの第1の色チャネルは第1の圧縮チャネルである。例えば、図11の1120に記載されているように、GPU構成要素1102は、複数の第1の色チャネルを含む第1の色空間に関連付けられた複数のピクセルを受信し得、複数の第1の色チャネルのうちの少なくとも1つの第1の色チャネルは第1の圧縮チャネルである。更に、ステップ1304は、図1の処理ユニット120によって実行され得る。第1の色空間は、ルミナンス(Y)クロミナンス(UV)(YUV)色空間であり得、第2の色空間は、赤(R)緑(G)青(B)(RGB)色空間であり得る。
【0083】
[0098] 1306において、図1図11の例に関して説明したように、GPUは、複数の第1の色チャネルを含む第1の色空間に関連付けられた複数のピクセルを読み取り得、複数のピクセルは、少なくとも1つの第1の色チャネルを解凍する前に読み取られる。例えば、図11の1130に記載されているように、GPU構成要素1102は、複数の第1の色チャネルを含む第1の色空間に関連付けられた複数のピクセルを読み取り得、複数のピクセルは、少なくとも1つの第1の色チャネルを解凍する前に読み取られる。更に、ステップ1306は、図1の処理ユニット120によって実行され得る。
【0084】
[0099] 1308において、GPUは、図1図11の例に関して説明したように、複数の第1の色チャネルのうちの少なくとも1つの第1の色チャネルを解凍し得、少なくとも1つの第1の色チャネルは、第1の圧縮チャネルから第1の解凍チャネルに解凍される。例えば、図11の1140に記載されているように、GPU構成要素1102は、複数の第1の色チャネルのうちの少なくとも1つの第1の色チャネルを解凍し得、少なくとも1つの第1の色チャネルは、第1の圧縮チャネルから第1の解凍チャネルに解凍される。更に、ステップ1308は、図1の処理ユニット120によって実行され得る。少なくとも1つの第1のチャネルの解凍は、解凍が少なくとも1つの第1のチャネルを非線形チャネルから線形チャネルに変換するように、非線形解凍であってもよい。また、複数の第1の色チャネルのうちの1つ又は複数の第1のチャネルは、1つ又は複数の第1のチャネルが解凍されないように、線形チャネルであってもよい。いくつかの事例では、少なくとも1つの第1の色チャネルは、解凍される前に非線形圧縮され得る。
【0085】
[0100] 1310において、GPUは、図1図11の例に関して説明したように、少なくとも1つの第1の色チャネルが解凍された後に、複数の第1の色チャネルの各々をフィルタリングし得る。例えば、図11の1150に記載されているように、GPU構成要素1102は、少なくとも1つの第1の色チャネルが解凍された後に、複数の第1の色チャネルの各々をフィルタリングし得る。更に、ステップ1310は、図1の処理ユニット120によって実行され得る。複数の第1の色チャネルの各々は、線形フィルタリング、双線形フィルタリング、又は非線形フィルタリングされ得る。
【0086】
[0101] 1312において、GPUは、図1図11の例に関して説明したように、複数の第1の色チャネルが複数の第2の色チャネルに変換されるように、複数のピクセルに関連付けられた第1の色空間の色空間変換を実行し得、複数の第2の色チャネルが複数のピクセルのための第2の色空間に関連付けられる。例えば、図11の1160に記載されているように、GPU構成要素1102は、複数の第1の色チャネルが複数の第2の色チャネルに変換されるように、複数のピクセルに関連付けられた第1の色空間の色空間変換を実行し得、複数の第2の色チャネルは、複数のピクセルのための第2の色空間に関連付けられる。更に、ステップ1312は、図1の処理ユニット120によって実行され得る。色空間変換は、複数の第1の色チャネルの各々について同時に実行され得る。また、色空間変換は、グラフィックス処理ユニット(GPU)のテクスチャプロセッサ又はGPUのシェーダプロセッサのうち少なくとも1つにおいて実行され得る。いくつかの態様では、GPU構成要素1102は、少なくとも1つの第1のチャネルを、複数の第1の色チャネルのうちの少なくとも1つの他の第1のチャネル及び複数の第1の色チャネルのうちの少なくとも1つの追加の第1のチャネルと結合し得る。例えば、第1の色空間の色空間変換を実行することは、少なくとも1つの第1のチャネルを、複数の第1の色チャネルのうちの少なくとも1つの他の第1のチャネル及び複数の第1の色チャネルのうちの少なくとも1つの追加の第1のチャネルと結合することを更に含み得る。少なくとも1つの第1のチャネルと、少なくとも1つの他の第1のチャネル及び少なくとも1つの追加の第1のチャネルとの結合は、行列結合器によって実行され得る。
【0087】
[0102] 1314において、GPUは、図1図11の例に関して説明したように、色空間変換後に、第2の色空間に関連付けられた複数のピクセルを送信し得る。例えば、図11の1170に記載されているように、GPU構成要素1102は、色空間変換後に、第2の色空間に関連付けられた複数のピクセルを送信し得る。更に、ステップ1314は、図1の処理ユニット120によって実行され得る。複数のピクセルは、グラフィックス処理ユニット(GPU)のシェーダプロセッサに送信され得る。
【0088】
[0103] 構成では、グラフィックス処理のための方法又は装置が提供される。装置は、GPU、グラフィックスプロセッサ、又はグラフィックス処理を実行し得る何らかの他のプロセッサであり得る。態様では、装置は、デバイス104内の処理ユニット120であり得るか、又はデバイス104若しくは別のデバイス内の何らかの他のハードウェアであり得る。装置、例えば、処理ユニット120は、複数の第1の色チャネルを含む第1の色空間に関連付けられた複数のピクセルを受信するための手段であって、複数の第1の色チャネルのうちの少なくとも1つの第1の色チャネルが第1の圧縮チャネルである、手段と、複数の第1の色チャネルのうちの少なくとも1つの第1の色チャネルを解凍するための手段であって、少なくとも1つの第1の色チャネルが、第1の圧縮チャネルから第1の解凍チャネルに解凍される手段と、複数の第1の色チャネルが複数の第2の色チャネルに変換されるように、複数のピクセルに関連付けられた第1の色空間の色空間変換を実行するための手段であって、複数の第2の色チャネルが、複数のピクセルのための第2の色空間に関連付けられる、手段と、少なくとも1つの第1のチャネルを、複数の第1の色チャネルのうちの少なくとも1つの他の第1のチャネル及び複数の第1の色チャネルのうちの少なくとも1つの追加の第1のチャネルと結合するための手段と、少なくとも1つの第1の色チャネルが解凍された後に複数の第1の色チャネルの各々をフィルタリングするための手段と、複数の第1の色チャネルを含む第1の色空間に関連付けられた複数のピクセルを読み取るための手段であって、複数のピクセルは、少なくとも1つの第1の色チャネルを解凍する前に読み取られる、読み取るための手段と、第1の色空間に関連付けられた複数のピクセルについての要求を送信するための手段であって、複数のピクセルが、送信された要求に基づいて受信される、手段と、色空間変換の後に、第2の色空間に関連付けられた複数のピクセルを送信するための手段と、を含み得る。
【0089】
[0104] 本明細書で説明する主題は、1つ又は複数の利益又は利点を実現するために実装され得る。例えば、記載されたグラフィックス処理技術は、GPU、グラフィックスプロセッサ、又は本明細書に記載された非線形フィルタリング技法を実装するためにグラフィックス処理を実行し得る他の何らかのプロセッサによって使用されてもよい。このことはまた、他のグラフィックス処理技法と比較して、低コストで達成され得る。更に、本明細書のグラフィックス処理技法は、データ処理又は実行を改善又は加速させ得る。更に、本明細書のグラフィックス処理技法は、リソース若しくはデータ利用、及び/又はリソース効率を改善し得る。加えて、本開示の態様は、メモリ帯域幅効率を改善し、及び/又はGPUにおける処理速度を増加させるために、非線形フィルタリング技法を利用し得る。
【0090】
[0105] 開示されているプロセス/フローチャートにおけるブロックの、特定の順序又は階層は、例示的な手法の一例である点を理解されたい。設計選好に基づいて、それらのプロセス/フローチャートにおけるブロックの特定の順序又は階層を、再構成することができる点を理解されたい。更には、いくつかのブロックを組み合わせるか、又は省略することもできる。添付の方法請求項は、様々なブロックの要素を、例示的な順序で提示するものであり、提示されている特定の順序又は階層に限定されることを意味するものではない。
【0091】
[0106] 前述の説明は、本明細書で説明されている様々な態様を、あらゆる当業者が実践することを可能にするために提供されている。これらの態様に対する様々な修正が、当業者には容易に明らかとなり、本明細書で定義されている一般的原理は、他の態様に適用することもできる。したがって、特許請求の範囲は、本明細書に示す態様に限定されるものではなく、特許請求の範囲の言語に一致する全範囲を与えられるべきであり、単数形での要素への言及は、そのように明記されていない限り、「唯一無二の」を意味するものではなく、むしろ「1つ又は複数の」を意味するものである。「例示的(exemplary)」という語は、「例、事例、又は例示としての役割を果たすこと」を意味するために本明細書で使用される。「例示的」として本明細書で説明したいずれの態様も、必ずしも他の態様よりも好ましい又は有利であると解釈されるべきではない。
【0092】
[0107] 別段に明記されていない限り、「いくつか」という用語は、1つ又は複数を指し、「又は」という用語は、文脈が別段に規定しない限り、「及び/又は」として解釈され得る。「A、B、又はCのうちの少なくとも1つ」、「A、B、又はCのうちの1つ又は複数」、「A、B、及びCのうちの少なくとも1つ」、「A、B、及びCのうちの1つ又は複数」、並びに「A、B、C、又はそれらの任意の組み合わせ」などの組み合わせは、A、B、及び/又はCの任意の組み合わせを含むものであり、複数のA、複数のB、又は複数のCを含み得る。具体的には、「A、B、又はCのうちの少なくとも1つ」、「A、B、又はCのうちの1つ又は複数」、「A、B、及びCのうちの少なくとも1つ」、「A、B、及びCのうちの1つ又は複数」、並びに「A、B、C、又はそれらの任意の組み合わせ」などの組み合わせは、Aのみ、Bのみ、Cのみ、A及びB、A及びC、B及びC、あるいは、A及びB及びCとすることができ、任意のそのような組み合わせは、A、B、又はCのうちの1つ又は複数の要素を含み得る。当業者には公知であるか又は後に公知となる、本開示の全体にわたって説明されている様々な態様の要素に対する、すべての構造的及び機能的な等価物は、参照により本明細書に明示的に組み込まれ、特許請求の範囲によって包含されることが意図されている。加えて、本明細書に開示のものは、そのような開示が特許請求の範囲において明示的に記載されているか否かにかかわらず、一般公開を意図するものではない。「モジュール」、「機構」、「要素」、「デバイス」などの語は、「手段」という語の代用ではない場合がある。それゆえ、特許請求の範囲のいかなる要素も、その要素が「~のための手段」という語句を使用して明示的に列挙されていない限り、ミーンズプラスファンクションとして解釈されるべきではない。
【0093】
[0108] 1つ又は複数の例では、本明細書で説明される機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせで実装され得る。例えば、「処理ユニット」という用語が本開示全体にわたって使用されているが、そのような処理ユニットは、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせにおいて実装され得る。本明細書で説明する任意の機能、処理ユニット、技法、又は他のモジュールが、ソフトウェアにおいて実装される場合、本明細書で説明するその機能、処理ユニット、技法、又は他のモジュールは、コンピュータ可読媒体上の1つ又は複数の命令又はコードとしてコンピュータ可読媒体上に記憶されるか、又は送信され得る。
【0094】
[0109] 本開示によれば、「又は」という用語は、文脈が別段に規定しない限り、「及び/又は」として解釈され得る。加えて、「1つ又は複数の」又は「少なくとも1つの」などの語句が、本明細書で開示するいくつかの特徴に対して使用されており、他の特徴に対しては使用されていないことがあるが、そのような言葉が使用されなかった特徴は、文脈が別段に規定しない限り、そのような示唆される意味を有するものと解釈され得る。
【0095】
[0110] 1つ又は複数の例では、本明細書で説明する機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせにおいて実装され得る。例えば、「処理ユニット」という用語が本開示全体にわたって使用されているが、そのような処理ユニットは、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせにおいて実装され得る。本明細書で説明する任意の機能、処理ユニット、技法、又は他のモジュールが、ソフトウェアにおいて実装される場合、本明細書で説明するその機能、処理ユニット、技法、又は他のモジュールは、コンピュータ可読媒体上の1つ又は複数の命令又はコードとしてコンピュータ可読媒体上に記憶されるか、又は送信され得る。コンピュータ可読媒体は、コンピュータデータ記憶媒体、又はコンピュータプログラムを1つの場所から別の場所に転送することを容易にする任意の媒体を含む通信媒体を含むことができる。このように、コンピュータ可読媒体は一般に、(1)非一時的である有形コンピュータ可読記憶媒体、又は(2)信号若しくは搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示に記載された技法を実装するための命令、コード、及び/又はデータ構造を取り出すために、1つ又は複数のコンピュータ又は1つ又は複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROM又は他の光ディスクストレージ、磁気ディスクストレージ又は他の磁気ストレージデバイスを備え得る。本明細書で使用するディスク(disk)及びディスク(disc)は、コンパクトディスク(disc)(compact disc:CD)、レーザーディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(digital versatile disc:DVD)、フロッピーディスク(disk)、及びBlu-rayディスク(disc)を含み、ここで、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、レーザーを用いてデータを光学的に再生する。上記のものの組み合わせもコンピュータ可読媒体の範囲内に含まれるべきである。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【0096】
[0111] コードは、1つ又は複数のデジタル信号プロセッサ(DSPs)、汎用マイクロプロセッサ、特定用途向け集積回路(ASICs)、算術論理ユニット(ALUs)、フィールドプログラマブル論理アレイ(FPGAs)、又は他の等価な集積論理回路若しくはディスクリート論理回路など、1つ又は複数のプロセッサによって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、上記の構造、又は本明細書で説明する技術の実装に好適な任意の他の構造のいずれかを指すことがある。また、技法は、1つ又は複数の回路又は論理要素において完全に実装されてもよい。
【0097】
[0112] 本開示の技法は、ワイヤレスハンドセット、集積回路(IC)又はICのセット、例えば、チップセットを含む、多種多様なデバイス又は装置において実装され得る。本開示では、開示される技法を実施するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール又はユニットが説明されたが、それらの構成要素、モジュール又はユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明したように、様々なユニットは、コーデックハードウェアユニットの中で結合されてもよく、又は適切なソフトウェア及び/若しくはファームウェアとともに、上記で説明したような1つ又は複数のプロセッサを含む、相互動作可能なハードウェアユニットの集合によって提供されてよい。したがって、本明細書で使用する「プロセッサ」という用語は、上記の構造、又は本明細書で説明する技術の実装に好適な任意の他の構造のいずれかを指すことがある。また、技法は、1つ又は複数の回路又は論理要素において完全に実装され得る。
【0098】
[0113] 以下の態様は、例示的なものにすぎず、限定なしで、本明細書で説明した他の態様又は教示と組み合わされ得る。
【0099】
[0114] 態様1は、グラフィックス処理のための装置であって、メモリに結合された少なくとも1つのプロセッサを含み、少なくとも1つのプロセッサが、複数の第1の色チャネルを含む第1の色空間に関連付けられた複数のピクセルを受信し、複数の第1の色チャネルのうちの少なくとも1つの第1の色チャネルが第1の圧縮チャネルであり、複数の第1の色チャネルのうちの少なくとも1つの第1の色チャネルを解凍し、少なくとも1つの第1の色チャネルが、第1の圧縮チャネルから第1の解凍チャネルに解凍され、複数の第1の色チャネルが複数の第2の色チャネルに変換されように、複数のピクセルに関連付けられた第1の色空間の色空間変換を実行し、複数の第2の色チャネルが、複数のピクセルのための第2の色空間に関連付けられる、ように構成されている。
【0100】
[0115] 態様2は、少なくとも1つの第1のチャネルの解凍が、解凍が少なくとも1つの第1のチャネルを非線形チャネルから線形チャネルに変換するように、非線形解凍である、態様1に記載の装置。
【0101】
[0116] 態様3は、複数の第1の色チャネルのうちの1つ又は複数の第1のチャネルが、1つ又は複数の第1のチャネルが解凍されないように、線形チャネルである、態様1又は2に記載の装置。
【0102】
[0117] 態様4は、第1の色空間の色空間変換を実行するために、少なくとも1つのプロセッサが、少なくとも1つの第1のチャネルを、複数の第1の色チャネルのうちの少なくとも1つの他の第1のチャネル及び複数の第1の色チャネルのうちの少なくとも1つの追加の第1のチャネルと結合するように構成されている、態様1から3のいずれかに記載の装置である。
【0103】
[0118] 態様5は、少なくとも1つの第1のチャネルと、少なくとも1つの他の第1のチャネル及び少なくとも1つの追加の第1のチャネルとの結合が、行列結合器によって実行される、態様1から4のいずれかに記載の装置である。
【0104】
[0119] 態様6は、少なくとも1つのプロセッサが、少なくとも1つの第1の色チャネルが解凍された後に、複数の第1の色チャネルの各々をフィルタリングするように更に構成されている、態様1から5のいずれかに記載の装置である。
【0105】
[0120] 態様7は、複数の第1の色チャネルの各々が、線形フィルタリング、双線形フィルタリング、又は非線形フィルタリングされる、態様1から6のいずれかに記載の装置である。
【0106】
[0121] 態様8は、少なくとも1つの第1の色チャネルが、解凍される前に非線形圧縮される、態様1から7のいずれかに記載の装置である。
【0107】
[0122] 態様9は、少なくとも1つのプロセッサが、複数の第1の色チャネルを含む第1の色空間に関連付けられた複数のピクセルを読み取るように更に構成され、複数のピクセルが、少なくとも1つの第1の色チャネルを解凍する前に読み取られる、態様1から8のいずれかに記載の装置である。
【0108】
[0123] 態様10は、少なくとも1つのプロセッサが、第1の色空間に関連付けられた複数のピクセルについての要求を送信するように更に構成され、複数のピクセルが、送信された要求に基づいて受信される、態様1から9のいずれかに記載の装置である。
【0109】
[0124] 態様11は、要求が、グラフィックス処理ユニット(GPU)のシェーダプロセッサからGPUのテクスチャプロセッサに送信される、態様1から10のいずれかに記載の装置である。
【0110】
[0125] 態様12は、少なくとも1つのプロセッサが、色空間変換後に第2の色空間に関連付けられた複数のピクセルを送信するように更に構成されている、態様1から11のいずれかに記載の装置である。
【0111】
[0126] 態様13は、複数のピクセルがグラフィックス処理ユニット(GPU)のシェーダプロセッサに送信される、態様1から12のいずれかに記載の装置である。
【0112】
[0127] 態様14は、第1の色空間が、ルミナンス(Y)クロミナンス(UV)(YUV)色空間であり、第2の色空間が、赤(R)緑(G)青(B)(RGB)色空間である、態様1から13のいずれかに記載の装置である。
【0113】
[0128] 態様15は、色空間変換が、複数の第1の色チャネルの各々について同時に実行される、態様1から14のいずれかに記載の装置である。
【0114】
[0129] 態様16は、色空間変換が、グラフィックス処理ユニット(GPU)のテクスチャプロセッサ又はGPUのシェーダプロセッサのうちの少なくとも1つにおいて実行される、態様1から15のいずれかに記載の装置である。
【0115】
[0130] 態様17は、少なくとも1つのプロセッサに結合されたアンテナ又はトランシーバのうちの少なくとも1つを更に含むワイヤレス通信デバイスである、態様1から16のいずれかに記載の装置である。
【0116】
[0131] 態様18は、態様1から17のいずれかを実装するためのグラフィックス処理の方法である。
【0117】
[0132] 態様19は、態様1から17のいずれかを実装するための手段を含む、グラフィックス処理のための装置である。
【0118】
[0133] 態様20は、コンピュータ実行可能コードを記憶するコンピュータ可読媒体であって、コードが、少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに、態様1から17のいずれかを実装させる、コンピュータ可読媒体である。

図1
図2
図3
図4
図5A
図5B
図6A
図6B
図7A
図7B
図8
図9
図10
図11
図12
図13
【国際調査報告】