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

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

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

特表2025-504353ディスプレイスケーラ用のファジー論理ベースのパターンマッチング及びコーナーフィルタリング
<>
  • 特表-ディスプレイスケーラ用のファジー論理ベースのパターンマッチング及びコーナーフィルタリング 図1
  • 特表-ディスプレイスケーラ用のファジー論理ベースのパターンマッチング及びコーナーフィルタリング 図2
  • 特表-ディスプレイスケーラ用のファジー論理ベースのパターンマッチング及びコーナーフィルタリング 図3
  • 特表-ディスプレイスケーラ用のファジー論理ベースのパターンマッチング及びコーナーフィルタリング 図4
  • 特表-ディスプレイスケーラ用のファジー論理ベースのパターンマッチング及びコーナーフィルタリング 図5
  • 特表-ディスプレイスケーラ用のファジー論理ベースのパターンマッチング及びコーナーフィルタリング 図6
  • 特表-ディスプレイスケーラ用のファジー論理ベースのパターンマッチング及びコーナーフィルタリング 図7
  • 特表-ディスプレイスケーラ用のファジー論理ベースのパターンマッチング及びコーナーフィルタリング 図8
  • 特表-ディスプレイスケーラ用のファジー論理ベースのパターンマッチング及びコーナーフィルタリング 図9
  • 特表-ディスプレイスケーラ用のファジー論理ベースのパターンマッチング及びコーナーフィルタリング 図10
  • 特表-ディスプレイスケーラ用のファジー論理ベースのパターンマッチング及びコーナーフィルタリング 図11
  • 特表-ディスプレイスケーラ用のファジー論理ベースのパターンマッチング及びコーナーフィルタリング 図12
  • 特表-ディスプレイスケーラ用のファジー論理ベースのパターンマッチング及びコーナーフィルタリング 図13
  • 特表-ディスプレイスケーラ用のファジー論理ベースのパターンマッチング及びコーナーフィルタリング 図14
  • 特表-ディスプレイスケーラ用のファジー論理ベースのパターンマッチング及びコーナーフィルタリング 図15
  • 特表-ディスプレイスケーラ用のファジー論理ベースのパターンマッチング及びコーナーフィルタリング 図16
  • 特表-ディスプレイスケーラ用のファジー論理ベースのパターンマッチング及びコーナーフィルタリング 図17
  • 特表-ディスプレイスケーラ用のファジー論理ベースのパターンマッチング及びコーナーフィルタリング 図18
  • 特表-ディスプレイスケーラ用のファジー論理ベースのパターンマッチング及びコーナーフィルタリング 図19
  • 特表-ディスプレイスケーラ用のファジー論理ベースのパターンマッチング及びコーナーフィルタリング 図20
  • 特表-ディスプレイスケーラ用のファジー論理ベースのパターンマッチング及びコーナーフィルタリング 図21
  • 特表-ディスプレイスケーラ用のファジー論理ベースのパターンマッチング及びコーナーフィルタリング 図22
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-02-12
(54)【発明の名称】ディスプレイスケーラ用のファジー論理ベースのパターンマッチング及びコーナーフィルタリング
(51)【国際特許分類】
   G06T 5/20 20060101AFI20250204BHJP
   G09G 5/373 20060101ALI20250204BHJP
【FI】
G06T5/20
G09G5/373
G09G5/373 400
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024539971
(86)(22)【出願日】2022-12-09
(85)【翻訳文提出日】2024-07-02
(86)【国際出願番号】 US2022052443
(87)【国際公開番号】W WO2023140939
(87)【国際公開日】2023-07-27
(31)【優先権主張番号】17/648,414
(32)【優先日】2022-01-19
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Blu-ray
(71)【出願人】
【識別番号】595020643
【氏名又は名称】クゥアルコム・インコーポレイテッド
【氏名又は名称原語表記】QUALCOMM INCORPORATED
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】アガルワル、ローハン
(72)【発明者】
【氏名】スタン、ダニエル
(72)【発明者】
【氏名】ジャイン、アガム
(72)【発明者】
【氏名】カッランバッレ、パニクマー・グルラジ
(72)【発明者】
【氏名】デ、アビシェク
【テーマコード(参考)】
5B057
5C182
【Fターム(参考)】
5B057AA20
5B057CA12
5B057CA16
5B057CB12
5B057CB16
5B057CC03
5B057CD06
5B057DA16
5B057DB02
5C182AA02
5C182AA03
5C182AA04
5C182AB01
5C182AB02
5C182AB08
5C182AB14
5C182AB25
5C182AB33
5C182AC02
5C182BA14
5C182BA35
5C182BA56
5C182BA75
5C182BC01
5C182BC14
5C182CB01
5C182CB03
5C182CB13
5C182CB14
5C182CB52
5C182DA02
5C182DA14
5C182DA44
(57)【要約】
本明細書で提示する態様は、装置、例えば、DPU、を含むディスプレイ処理の方法及びデバイスに関する。本装置は、各々が複数のピクセルを含む、1つ又は複数の走査窓に関連付けられている、スケーリング動作用の少なくとも1つの入力画像を受信し得る。本装置はまた、1つ又は複数の走査窓の各々の中の複数のピクセル内の1つ又は複数の特徴を検出し得る。更に、本装置は、検出された特徴の各々について走査窓の各々の中の複数のピクセルの量を調整し得る。本装置はまた、検出された1つ又は複数の特徴の各々についての調整された量の複数のピクセルを複数の出力ピクセルに結合し得る。本装置はまた、複数の出力ピクセルの各々を少なくとも1つの出力画像に処理し得る。

【特許請求の範囲】
【請求項1】
ディスプレイ処理の装置であって、
メモリと、
前記メモリに結合された少なくとも1つのプロセッサと、
を含み、前記少なくとも1つのプロセッサが、
各々が複数のピクセルを含む、1つ又は複数の走査窓に関連付けられている、スケーリング動作用の少なくとも1つの入力画像を受信し、
前記1つ又は複数の走査窓の各々の中の前記複数のピクセル内の1つ又は複数の特徴を検出し、
前記検出された1つ又は複数の特徴の各々について前記1つ又は複数の走査窓の各々の中の前記複数のピクセルの量を調整し、
前記検出された1つ又は複数の特徴の各々についての前記調整された量の前記複数のピクセルを複数の出力ピクセルに結合し、
前記複数の出力ピクセルの各々を少なくとも1つの出力画像に処理する、ように構成されている、装置。
【請求項2】
前記少なくとも1つのプロセッサが、
前記1つ又は複数の走査窓の各々の中の前記複数のピクセル内の前記検出された1つ又は複数の特徴の各々についての信頼係数を計算する
ように更に構成されている、請求項1に記載の装置。
【請求項3】
前記1つ又は複数の特徴の各々についての前記信頼係数の前記計算が、非最大抑制プロセスに対応する、請求項2に記載の装置。
【請求項4】
前記1つ又は複数の特徴の各々についての前記信頼係数が、前記1つ又は複数の特徴の各々の精度の信頼度に対応し、前記信頼係数が0~1の値である、請求項2に記載の装置。
【請求項5】
前記調整された量の前記複数のピクセルの前記結合が、前記1つ又は複数の特徴の各々についての前記信頼係数に基づく、請求項2に記載の装置。
【請求項6】
前記1つ又は複数の特徴が、1つ又は複数のコーナー及び1つ又は複数のエッジを含み、前記信頼係数が、前記1つ又は複数のエッジの各々についてのエッジ強度メトリック及び前記1つ又は複数のコーナーの各々についてのコーナー強度メトリックである、請求項2に記載の装置。
【請求項7】
前記1つ又は複数の走査窓の各々の中の前記複数のピクセルの前記量を調整することが、前記1つ又は複数の走査窓のピクセル解像度を調整する、請求項1に記載の装置。
【請求項8】
前記1つ又は複数の走査窓の各々の中の前記複数のピクセルの前記量の前記調整が、コーナー補間又はエッジ補間に対応する、請求項1に記載の装置。
【請求項9】
前記エッジ補間が、3方向エッジフィルタリングに関連付けられており、前記コーナー補間が、パターンマッチングベースのコーナーフィルタリングに関連付けられている、請求項8に記載の装置。
【請求項10】
前記1つ又は複数の走査窓の各々の中の前記複数のピクセル内の前記1つ又は複数の特徴が、1つ若しくは複数のコーナー又は1つ若しくは複数のエッジのうちの少なくとも1つを含む、請求項1に記載の装置。
【請求項11】
前記1つ又は複数のコーナーが、1つ又は複数のカテゴリ1のコーナー及び1つ又は複数のカテゴリ2のコーナーを含み、前記1つ又は複数のカテゴリ1のコーナーが、非回転水平軸及び非回転垂直軸に関連付けられており、前記1つ又は複数のカテゴリ2のコーナーが、45度回転水平軸及び45度回転垂直軸に関連付けられている、請求項10に記載の装置。
【請求項12】
前記検出された1つ又は複数の特徴の各々についての前記調整された量の前記複数のピクセルの前記結合が線形結合である、請求項1に記載の装置。
【請求項13】
前記複数の出力ピクセルの各々を処理するために、前記少なくとも1つのプロセッサが、前記複数の出力ピクセルの各々を走査するように構成されており、前記複数の出力ピクセルの各々が走査順序で走査される、請求項1に記載の装置。
【請求項14】
前記少なくとも1つのプロセッサが、
前記複数の出力ピクセルの各々を処理した後に前記少なくとも1つの出力画像をディスプレイ又はパネルに送信する
ように更に構成されている、請求項1に記載の装置。
【請求項15】
前記1つ又は複数の走査窓が1つ又は複数のピクセルグリッドである、請求項1に記載の装置。
【請求項16】
前記少なくとも1つのプロセッサに結合されたアンテナ又はトランシーバのうちの少なくとも1つを更に含み、前記複数の出力ピクセルの各々が、ディスプレイ処理ユニット(DPU)又はDPUスケーラにおいて処理される、請求項1に記載の装置。
【請求項17】
ディスプレイ処理の方法であって、
各々が複数のピクセルを含む、1つ又は複数の走査窓に関連付けられている、スケーリング動作用の少なくとも1つの入力画像を受信することと、
前記1つ又は複数の走査窓の各々の中の前記複数のピクセル内の1つ又は複数の特徴を検出することと、
前記検出された1つ又は複数の特徴の各々について前記1つ又は複数の走査窓の各々の中の前記複数のピクセルの量を調整することと、
前記検出された1つ又は複数の特徴の各々についての前記調整された量の前記複数のピクセルを複数の出力ピクセルに結合することと、
前記複数の出力ピクセルの各々を少なくとも1つの出力画像に処理することと、
を含む、方法。
【請求項18】
前記1つ又は複数の走査窓の各々の中の前記複数のピクセル内の前記検出された1つ又は複数の特徴の各々についての信頼係数を計算すること
を更に含む、請求項17に記載の方法。
【請求項19】
前記1つ又は複数の特徴の各々についての前記信頼係数の前記計算が非最大抑制プロセスに対応する、請求項18に記載の方法。
【請求項20】
前記1つ又は複数の特徴の各々についての前記信頼係数が、前記1つ又は複数の特徴の各々の精度の信頼度に対応し、前記信頼係数が0~1の値である、請求項18に記載の方法。
【請求項21】
前記調整された量の前記複数のピクセルの前記結合が、前記1つ又は複数の特徴の各々についての前記信頼係数に基づく、請求項18に記載の方法。
【請求項22】
前記1つ又は複数の特徴が、1つ又は複数のコーナー及び1つ又は複数のエッジを含み、前記信頼係数が、前記1つ又は複数のエッジの各々についてのエッジ強度メトリック及び前記1つ又は複数のコーナーの各々についてのコーナー強度メトリックである、請求項18に記載の方法。
【請求項23】
前記1つ又は複数の走査窓の各々の中の前記複数のピクセルの前記量を調整することが、前記1つ又は複数の走査窓のピクセル解像度を調整する、請求項17に記載の方法。
【請求項24】
前記1つ又は複数の走査窓の各々の中の前記複数のピクセルの前記量の前記調整が、コーナー補間又はエッジ補間に対応し、前記エッジ補間が、3方向エッジフィルタリングに関連付けられており、前記コーナー補間が、パターンマッチングベースのコーナーフィルタリングに関連付けられている、請求項17に記載の方法。
【請求項25】
前記1つ又は複数の走査窓の各々の中の前記複数のピクセル内の前記1つ又は複数の特徴が、1つ若しくは複数のコーナー又は1つ若しくは複数のエッジのうちの少なくとも1つを含み、前記1つ又は複数のコーナーが、1つ又は複数のカテゴリ1のコーナー及び1つ又は複数のカテゴリ2のコーナーを含み、前記1つ又は複数のカテゴリ1のコーナーが、非回転水平軸及び非回転垂直軸に関連付けられており、前記1つ又は複数のカテゴリ2のコーナーは、45度回転水平軸及び45度回転垂直軸に関連付けられている、請求項17に記載の方法。
【請求項26】
前記検出された1つ又は複数の特徴の各々についての前記調整された量の前記複数のピクセルの前記結合が線形結合であり、前記複数の出力ピクセルの各々を処理することが、前記複数の出力ピクセルの各々を走査することを含み、前記複数の出力ピクセルの各々が走査順序で走査される、請求項17に記載の方法。
【請求項27】
前記複数の出力ピクセルの各々を処理した後に前記少なくとも1つの出力画像をディスプレイ又はパネルに送信すること
を更に含む、請求項17に記載の方法。
【請求項28】
前記1つ又は複数の走査窓が1つ又は複数のピクセルグリッドであり、前記複数の出力ピクセルの各々が、ディスプレイ処理ユニット(DPU)又はDPUスケーラにおいて処理される、請求項17に記載の方法。
【請求項29】
ディスプレイ処理の装置であって、
各々が複数のピクセルを含む、1つ又は複数の走査窓に関連付けられている、スケーリング動作用の少なくとも1つの入力画像を受信する手段と、
前記1つ又は複数の走査窓の各々の中の前記複数のピクセル内の1つ又は複数の特徴を検出する手段と、
前記検出された1つ又は複数の特徴の各々について前記1つ又は複数の走査窓の各々の中の前記複数のピクセルの量を調整する手段と、
前記検出された1つ又は複数の特徴の各々についての前記調整された量の前記複数のピクセルを複数の出力ピクセルに結合する手段と、
前記複数の出力ピクセルの各々を少なくとも1つの出力画像に処理する手段と、
を含む、装置。
【請求項30】
ディスプレイ処理用のコンピュータ実行可能コードを記憶している非一時的コンピュータ可読媒体であって、前記コードが、プロセッサによって実行されたときに、前記プロセッサに、
各々が複数のピクセルを含む、1つ又は複数の走査窓に関連付けられている、スケーリング動作用の少なくとも1つの入力画像を受信させ、
前記1つ又は複数の走査窓の各々の中の前記複数のピクセル内の1つ又は複数の特徴を検出させ、
前記検出された1つ又は複数の特徴の各々について前記1つ又は複数の走査窓の各々の中の前記複数のピクセルの量を調整させ、
前記検出された1つ又は複数の特徴の各々についての前記調整された量の前記複数のピクセルを複数の出力ピクセルに結合させ、
前記複数の出力ピクセルの各々を少なくとも1つの出力画像に処理させる、
非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
[0001] 本出願は、「FUZZY LOGIC-BASED PATTERN MATCHING AND CORNER FILTERING FOR DISPLAY SCALER」と題する、2022年1月19日に出願された米国特許出願第17/648,414号の利益を主張し、その全体が参照により本明細書に明確に組み込まれる。
【0002】
[0002] 本開示は、一般に処理システムに関し、より詳細には、ディスプレイ処理の1つ又は複数の技法に関する。
【背景技術】
【0003】
[0003] コンピューティングデバイスは、多くの場合、視覚コンテンツをレンダリング及び表示するために、(例えば、グラフィックス処理ユニット(graphics processing unit、GPU)、中央処理ユニット(central processing unit、CPU)、ディスプレイプロセッサなどを利用して)グラフィックス及び/又はディスプレイ処理を実施する。そのようなコンピューティングデバイスとしては、例えば、コンピュータワークステーション、スマートフォンなどのモバイルフォン、組込みシステム、パーソナルコンピュータ、タブレットコンピュータ、及びビデオゲームコンソールが挙げられる。GPUは、グラフィックス処理コマンドを実行し、フレームを出力するために一緒に動作する、1つ又は複数の処理段階を含むグラフィックス処理パイプラインを実行するように構成されている。中央処理ユニット(CPU)は、GPUに1つ又は複数のグラフィックス処理コマンドを出すことによって、GPUの動作を制御し得る。現代のCPUは、典型的には、複数のアプリケーションを同時に実行することが可能であり、その各々は、実行中にGPUを利用する必要があり得る。ディスプレイプロセッサは、CPUから受信されたデジタル情報をアナログ値に変換するように構成されており、視覚コンテンツを表示するディスプレイパネルにコマンドを出し得る。ディスプレイ上の視覚提示用のコンテンツを提供するデバイスは、GPU及び/又はディスプレイプロセッサを利用し得る。
【0004】
[0004] デバイスのGPUは、グラフィックス処理パイプラインにおいてプロセスを実施するように構成され得る。更に、ディスプレイプロセッサ又はディスプレイ処理ユニット(display processing unit、DPU)は、ディスプレイ処理のプロセスを実施するように構成され得る。しかしながら、ワイヤレス通信及びより小型のハンドヘルドデバイスの出現で、改善したグラフィックス処理又はディスプレイ処理の必要が高まっている。
【発明の概要】
【0005】
[0005] 以下では、1つ又は複数の態様の基本的理解をもたらすために、そのような態様の簡略化された概要が提示される。本概要は、すべての企図される態様の広範な概説ではなく、すべての態様の主要又は重要な要素を識別することを意図するものでもなく、任意又はすべての態様の範囲を記述することを意図するものでもない。その唯一の目的は、後に提示される、より詳細な説明に対する導入部として、1つ又は複数の態様のいくつかの構想を簡略化された形式で提示することである。
【0006】
[0006] 本開示の一態様では、方法、コンピュータ可読媒体、及び装置が提供される。装置は、ディスプレイ処理ユニット(DPU)、又はディスプレイ処理を実施し得る任意の装置であってよい。装置は、各々が複数のピクセルを含む、1つ又は複数の走査窓に関連付けられている、スケーリング動作用の少なくとも1つの入力画像を受信し得る。装置はまた1つ又は複数の走査窓の各々の中の複数のピクセル内の1つ又は複数の特徴を検出し得る。加えて、装置は1つ又は複数の走査窓の各々の中の複数のピクセル内の検出された1つ又は複数の特徴の各々についての信頼係数を計算し得る。装置はまた、検出された1つ又は複数の特徴の各々について1つ又は複数の走査窓の各々の中の複数のピクセルの量を調整し得る。装置はまた、検出された1つ又は複数の特徴の各々についての調整された量の複数のピクセルを複数の出力ピクセルに結合し得る。その上、装置は複数の出力ピクセルの各々を少なくとも1つの出力画像に処理し得る。装置はまた、複数の出力ピクセルの各々を処理した後に少なくとも1つの出力画像をディスプレイ又はパネルに送信し得る。
【0007】
[0007] 本開示の1つ又は複数の例の詳細が、添付の図面及び以下の説明に記載される。本開示の他の特徴、目的、及び利点は、説明及び図面から、並びに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0008】
図1】[0008] 例示的なコンテンツ生成システムを示すブロック図である。
図2】[0009] 例示的なグラフィックス処理ユニット(GPU)を示す。
図3】[0010] ディスプレイプロセッサ及びディスプレイを含む例示的なディスプレイフレームワークを示す。
図4】[0011] ディスプレイ処理の例示的なスケーリング技法を示す図である。
図5】[0012] ディスプレイ処理の例示的なスケーリング技法を示す図である。
図6】[0013] ディスプレイ処理の例示的なスケーリング技法を示す図である。
図7】[0014] ディスプレイ処理の例示的なスケーリングアーキテクチャを示す図である。
図8】[0015] ディスプレイ処理の例示的なスケーリング技法を示す図である。
図9】[0016] ディスプレイ処理の例示的なスケーリング技法を示す図である。
図10】[0017] ディスプレイ処理の例示的なスケーリング技法を示す図である。
図11】[0018] ディスプレイ処理の例示的なスケーリングアーキテクチャを示す図である。
図12】[0019] ディスプレイ処理の例示的なスケーリングアーキテクチャを示す図である。
図13】[0020] ディスプレイ処理の例示的なスケーリングアーキテクチャを示す図である。
図14】[0021] ディスプレイ処理の例示的なスケーリング技法を示す図である。
図15】[0022] ディスプレイ処理の例示的なスケーリング技法を示す図である。
図16】[0023] ディスプレイ処理の例示的なスケーリング技法を示す図である。
図17】[0024] ディスプレイ処理の例示的なスケーリングアーキテクチャを示す図である。
図18】[0025] ディスプレイ処理の例示的なスケーリングアーキテクチャを示す図である。
図19】[0026] ディスプレイ処理の例示的なスケーリング技法を示す図である。
図20】[0027] メモリと、DPUと、ディスプレイとの間の例示的な通信を示す通信フロー図である。
図21】[0028] ディスプレイ処理の例示的な方法のフロー図である。
図22】[0029] ディスプレイ処理の例示的な方法のフロー図である。
【発明を実施するための形態】
【0009】
[0030] ディスプレイ処理の態様は、異なるスケーリング動作(例えば、アップスケーリング又はダウンスケーリング)のために、スケーラ又はDPUスケーラなど、異なるタイプのスケーリング構成要素を利用し得る。いくつかのDPUスケーラは、画像アップスケーリング中に高周波数コンテンツを保存するために、バイキュービックフィルタリング(すなわち、エッジに依存しないフィルタリング)と勾配ベースのエッジフィルタリングの組合せを使用する。この技法は、エッジの方向及び強度を推定するためにルーマ勾配を抽出することができる。設計によって、エッジフィルタリングは、対角線(すなわち、45°及び-45°)に沿って最も強く、水平方向(すなわち、0°)及び垂直方向(すなわち、90°)に沿って最も弱くなり得る。いくつかの事例では、エッジフィルタリング又は指向性出力は、重みメトリックを使用して2つの固定された方向に沿って出力を混合することによって推定され得る。例えば、出力=出力重み+出力(1-重み)という式を利用することができる。加えて、DPUスケーラは、出力が検出された方向にフィルタリングされるときなど、方向フィルタリングを利用し得る。検出された方向におけるこのフィルタリングされた出力は、ある角度の方向(例えば、26°~63°の方向)に沿った出力の線形混合であり得る。ディスプレイ処理のいくつかのスケーリング動作又はフィルタリング動作は、いくつかの欠点を含み得る。例えば、ルーマ勾配はコーナーにおいて2つの方向で非ゼロであり得るので、スケーリング動作又はフィルタリング動作は、画像のコーナーを良好に保存しないことがある。また、エッジフィルタリングはこれらの方向に沿って0に落ちることがあるので、スケーリング動作又はフィルタリング動作は、水平エッジ及び垂直エッジを良好に保存しないことがある。その上、スケーリング動作又はフィルタリング動作は、対角方向に沿った強いエッジ検出を十分に活用しないことがある。本開示の態様は、表示適用における画像再構成/エンハンスメントプロセス用の新規の画像スケーリング技法を利用し得る。例えば、本開示の態様は、スケーリング動作又はフィルタリング動作のために、論理ベースのパターンマッチング技法及びコーナーフィルタリング技法を利用し得る。また、本開示の態様は、画像のコーナーを保存し、並びに画像の水平エッジ及び垂直エッジを保存するスケーリング動作又はフィルタリング動作を利用し得る。加えて、本開示の態様は、画像の対角方向に沿った強いエッジ検出を可能にするスケーリング動作又はフィルタリング動作を利用し得る。
【0010】
[0031] システム、装置、コンピュータプログラム製品、及び方法の様々な態様について、添付の図面を参照しながら以下で更に十分に説明する。しかしながら、本開示は、多くの異なる形態で具現化することができ、本開示全体にわたって提示されている任意の特定の構造又は機能に限定されるものとして解釈されるべきではない。むしろ、これらの態様は、本開示が周到で完全になり、本開示の範囲を当業者に十分に伝えるように提供される。本明細書の教示に基づいて、本開示の範囲が、本開示の他の態様とは無関係に実装されるにせよ、又は本開示の他の態様と組み合わせて実装されるにせよ、本明細書で開示するシステム、装置、コンピュータプログラム製品、及び方法の任意の態様を包含することを意図するものであることを当業者は理解すべきである。例えば、本明細書に記載される任意の数の態様を使用して、装置を実装することができ、又は方法を実践することができる。加えて、本開示の範囲は、本明細書に記載される本開示の様々な態様に加えて、又はそれらの態様以外の、他の構造、機能、又は構造及び機能を使用して実践される、そのような装置又は方法を包含することを意図するものである。本明細書で開示する任意の態様は、請求項の1つ又は複数の要素によって具現化され得る。
【0011】
[0032] 様々な態様について本明細書で説明するが、これらの態様の多くの変形及び置換が本開示の範囲内に入る。本開示の態様のいくつかの潜在的な利益及び利点が述べられるが、本開示の範囲は、特定の利益、使用、又は目的に限定されることを意図するものではない。むしろ、本開示の態様は、異なるワイヤレス技術、システム構成、ネットワーク、及び送信プロトコルに広く適用可能であることを意図するものであり、そのうちのいくつかが例として図及び以下の説明において示される。詳細な説明及び図面は、限定的ではなく、本開示の例示にすぎず、本開示の範囲は、添付の特許請求の範囲及びその均等物によって定義される。
【0012】
[0033] 様々な装置及び方法を参照しながら、いくつかの態様が提示される。これらの装置及び方法は、以下の詳細な説明において説明され、様々なブロック、構成要素、回路、プロセス、アルゴリズムなど(「要素」と総称される)によって添付の図面に示される。これらの要素は、電子ハードウェア、コンピュータソフトウェア、又はそれらの任意の組合せを使用して実装され得る。そのような要素がハードウェアとして実装されるか、又はソフトウェアとして実装されるかは、具体的な適用、及びシステム全体に課される設計上の制約に依存する。
【0013】
[0034] 例として、要素、又は要素の任意の部分、又は要素の任意の組合せは、1つ又は複数のプロセッサを含む「処理システム」(処理ユニットと呼ばれることもある)として実装され得る。プロセッサの例としては、マイクロプロセッサ、マイクロコントローラ、グラフィックス処理ユニット(GPU)、汎用GPU(general purpose GPU、GPGPU)、中央処理ユニット(CPU)、アプリケーションプロセッサ、デジタル信号プロセッサ(digital signal processor、DSPs)、縮小命令セットコンピューティング(reduced instruction set computing、RISC)プロセッサ、システムオンチップ(systems-on-chip、SOC)、ベースバンドプロセッサ、特定用途向け集積回路(application specific integrated circuit、ASIC)、フィールドプログラマブルゲートアレイ(field programmable gate array、FPGA)、プログラマブル論理デバイス(programmable logic device、PLD)、状態機械、ゲート論理、ディスクリートハードウェア回路、及び本開示全体にわたって説明する様々な機能を実施するように構成された他の好適なハードウェアが挙げられる。処理システム内の1つ又は複数のプロセッサは、ソフトウェアを実行することができる。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、又はそれ以外で呼ばれるかどうかにかかわらず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェア構成要素、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行ファイル、実行スレッド、手順、関数などを意味するように広く解釈され得る。アプリケーションという用語は、ソフトウェアを指すことがある。本明細書で説明するように、1つ又は複数の技法は、アプリケーション、すなわち、ソフトウェアが1つ又は複数の機能を実施するように構成されることを指すことがある。そのような例では、アプリケーションは、メモリ、例えば、プロセッサのオンチップメモリ、システムメモリ、又は任意の他のメモリ上に記憶され得る。プロセッサなど、本明細書で説明するハードウェアは、アプリケーションを実行するように構成され得る。例えば、アプリケーションについて、ハードウェアによって実行されたときに、ハードウェアに本明細書で説明する1つ又は複数の技法を実施させるコードを含むものとして説明することがある。一例として、ハードウェアは、メモリからコードにアクセスし、メモリからアクセスされたコードを実行して、本明細書で説明する1つ又は複数の技法を実施し得る。いくつかの例では、構成要素が本開示において識別される。そのような例では、構成要素は、ハードウェア、ソフトウェア、又はそれらの組合せであってよい。構成要素は、別個の構成要素、又は単一の構成要素の下位構成要素であってよい。
【0014】
[0035] したがって、本明細書で説明する1つ又は複数の例では、説明する機能は、ハードウェア、ソフトウェア、又はそれらの任意の組合せにおいて実行され得る。ソフトウェアにおいて実行される場合には、それらの機能は、コンピュータ可読媒体上に記憶され、又はその上で1つ若しくは複数の命令若しくはコードとして符号化され得る。コンピュータ可読媒体は、コンピュータ記憶媒体を含む。記憶媒体は、コンピュータによってアクセスされてよい任意の利用可能な媒体であってよい。限定ではなく例として、そのようなコンピュータ可読媒体は、ランダムアクセスメモリ(random-access memory、RAM)、読取り専用メモリ(read-only memory、ROM)、電気的消去可能プログラマブルROM(electrically erasable programmable ROM、EEPROM)、光ディスク記憶装置、磁気ディスク記憶装置、他の磁気記憶デバイス、上述のタイプのコンピュータ可読媒体の組合せ、又は、コンピュータによってアクセスされ得る命令若しくはデータ構造の形態のコンピュータ実行可能コードを記憶するために使用され得る任意の他の媒体を備え得る。
【0015】
[0036] 概して、本開示は、単一のデバイス若しくは複数のデバイスにおいてグラフィックス処理パイプラインを有し、グラフィカルコンテンツのレンダリングを改善し、かつ/又は処理ユニット、すなわち、GPUなど、本明細書で説明する1つ又は複数の技法を実施するように構成された任意の処理ユニットの負荷を低減する技法について説明する。例えば、本開示は、グラフィックス処理を利用する任意のデバイスにおいてグラフィックス処理の技法について説明する。他の例示的な利益について、本開示全体にわたって説明する。
【0016】
[0037] 本明細書で使用する「コンテンツ」という用語の事例は、「グラフィカルコンテンツ」、「画像」を指すことがあり、その逆も同様である。このことは、それらの用語が形容詞として使用されているか、名詞として使用されているか、又は他の品詞として使用されているかにかかわらず、当てはまる。いくつかの例では、本明細書で使用する「グラフィカルコンテンツ」という用語は、グラフィックス処理パイプラインの1つ又は複数のプロセスによって作り出されたコンテンツを指すことがある。いくつかの例では、本明細書で使用する「グラフィカルコンテンツ」という用語は、グラフィックス処理を実施するように構成された処理ユニットによって作り出されたコンテンツを指すことがある。いくつかの例では、本明細書で使用する「グラフィカルコンテンツ」という用語は、グラフィックス処理ユニットによって作り出されたコンテンツを指すことがある。
【0017】
[0038] いくつかの例では、本明細書で使用する「ディスプレイコンテンツ」という用語は、ディスプレイ処理を実施するように構成された処理ユニットによって生成されたコンテンツを指すことがある。いくつかの例では、本明細書で使用する「ディスプレイコンテンツ」という用語は、ディスプレイ処理ユニットによって生成されたコンテンツを指すことがある。グラフィカルコンテンツは、ディスプレイコンテンツになるように処理され得る。例えば、グラフィックス処理ユニットは、フレームなどのグラフィカルコンテンツをバッファ(フレームバッファと呼ばれることがある)に出力し得る。ディスプレイ処理ユニットは、バッファから1つ又は複数のフレームなどのグラフィカルコンテンツを読み出し、それに対して1つ又は複数のディスプレイ処理技法を実施して、ディスプレイコンテンツを生成し得る。例えば、ディスプレイ処理ユニットは、フレームを生成するために、1つ又は複数のレンダリングされたレイヤ上で合成を実施するように構成され得る。別の例として、ディスプレイ処理ユニットは、2つ以上のレイヤを一緒に単一のフレームに合成、混合、又はさもなければ結合するように構成され得る。ディスプレイ処理ユニットは、フレームに対してスケーリング、例えば、アップスケーリング又はダウンスケーリング、を実施するように構成され得る。いくつかの例では、フレームはレイヤを指すことがある。他の例では、フレームは、フレームを形成するためにすでに一緒に混合されている、2つ以上のレイヤを指すことがあり、すなわち、フレームは、2つ以上のレイヤを含み、2つ以上のレイヤを含むフレームは、後で混合され得る。
【0018】
[0039] 図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】
[0040] 処理ユニット120は、内部メモリ121を含み得る。処理ユニット120は、グラフィックス処理パイプライン107などにおいて、グラフィックス処理を実施するように構成され得る。コンテンツエンコーダ/デコーダ122は、内部メモリ123を含み得る。いくつかの例では、デバイス104は、1つ又は複数のディスプレイ131による提示の前に、処理ユニット120によって生成された1つ又は複数のフレームに対して1つ又は複数のディスプレイ処理技法を実施するために、ディスプレイプロセッサ127などのディスプレイプロセッサを含み得る。ディスプレイプロセッサ127は、ディスプレイ処理を実施するように構成され得る。例えば、ディスプレイプロセッサ127は、処理ユニット120によって生成された1つ又は複数のフレームに対して1つ又は複数のディスプレイ処理技法を実施するように構成され得る。1つ又は複数のディスプレイ131は、ディスプレイプロセッサ127によって処理されたフレームを表示又はさもなければ提示するように構成され得る。いくつかの例では、1つ又は複数のディスプレイ131は、液晶ディスプレイ(liquid crystal display、LCD)、プラズマディスプレイ、有機発光ダイオード(organic light emitting diode、OLED)ディスプレイ、投影ディスプレイデバイス、拡張現実ディスプレイデバイス、仮想現実ディスプレイデバイス、ヘッドマウントディスプレイ、又は任意の他のタイプのディスプレイデバイスのうちの1つ又は複数を含み得る。
【0020】
[0041] システムメモリ124など、処理ユニット120及びコンテンツエンコーダ/デコーダ122の外部のメモリは、処理ユニット120及びコンテンツエンコーダ/デコーダ122にアクセス可能であり得る。例えば、処理ユニット120及びコンテンツエンコーダ/デコーダ122は、システムメモリ124などの外部メモリから読み出し、かつ/又は外部メモリに書き込むように構成され得る。処理ユニット120及びコンテンツエンコーダ/デコーダ122は、バスを介してシステムメモリ124に通信可能に結合され得る。いくつかの例では、処理ユニット120及びコンテンツエンコーダ/デコーダ122は、バス又は異なる接続を介して互いに通信可能に結合され得る。
【0021】
[0042] コンテンツエンコーダ/デコーダ122は、システムメモリ124及び/又は通信インターフェース126など、任意のソースからグラフィカルコンテンツを受信するように構成され得る。システムメモリ124は、受信された符号化又は復号されたグラフィカルコンテンツを記憶するように構成され得る。コンテンツエンコーダ/デコーダ122は、例えば、システムメモリ124及び/又は通信インターフェース126から、符号化されたピクセルデータの形式で、符号化又は復号されたグラフィカルコンテンツを受信するように構成され得る。コンテンツエンコーダ/デコーダ122は、任意のグラフィカルコンテンツを符号化又は復号するように構成され得る。
【0022】
[0043] 内部メモリ121又はシステムメモリ124は、1つ若しくは複数の揮発性若しくは不揮発性メモリ又は記憶デバイスを含み得る。いくつかの例では、内部メモリ121又はシステムメモリ124は、RAM、SRAM、DRAM、消去可能プログラマブルROM(erasable programmable ROM、EPROM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュメモリ、磁気データ媒体若しくは光記憶媒体、又は任意の他のタイプのメモリを含み得る。
【0023】
[0044] 内部メモリ121又はシステムメモリ124は、いくつかの例によれば、非一時的記憶媒体であってよい。「非一時的」という用語は、記憶媒体が搬送波又は伝搬される信号において具現化されないことを示すことがある。しかしながら、「非一時的」という用語は、内部メモリ121若しくはシステムメモリ124が非可動であること、又はそのコンテンツが静的であることを意味するものと解釈されるべきではない。一例として、システムメモリ124は、デバイス104から取り外され、別のデバイスに移動され得る。別の例として、システムメモリ124は、デバイス104から取外し可能でないことがある。
【0024】
[0045] 処理ユニット120は、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、汎用GPU(GPGPU)、又はグラフィックス処理を実施するように構成され得る任意の他の処理ユニットであってよい。いくつかの例では、処理ユニット120は、デバイス104のマザーボード内に組み込まれ得る。いくつかの例では、処理ユニット120は、デバイス104のマザーボード内のポート内にインストールされるグラフィックスカード上に存在し得るか、又はさもなければ、デバイス104と相互動作するように構成された周辺デバイス内に組み込まれ得る。処理ユニット120は、1つ又は複数のマイクロプロセッサ、GPU、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、算術論理ユニット(arithmetic logic unit、ALU)、デジタル信号プロセッサ(DSP)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、他の等価な集積論理回路若しくはディスクリート論理回路、又はそれらの任意の組合せなど、1つ又は複数のプロセッサを含み得る。これらの技法が部分的にソフトウェアにおいて実行される場合、処理ユニット120は、好適な非一時的コンピュータ可読記憶媒体、例えば、内部メモリ121、の中にソフトウェア用の命令を記憶し得、本開示の技法を実施するために、1つ又は複数のプロセッサを使用して、ハードウェアにおいて命令を実行し得る。ハードウェア、ソフトウェア、ハードウェア及びソフトウェアの組合せなどを含む、前述のいずれもが、1つ又は複数のプロセッサであるとみなされ得る。
【0025】
[0046] コンテンツエンコーダ/デコーダ122は、コンテンツ復号を実施するように構成された任意の処理ユニットであってよい。いくつかの例では、コンテンツエンコーダ/デコーダ122は、デバイス104のマザーボード内に組み込まれ得る。コンテンツエンコーダ/デコーダ122は、1つ又は複数のマイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、算術論理ユニット(AGA)、デジタル信号プロセッサ(DSP)、ビデオプロセッサ、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、他の等価な集積論理回路若しくはディスクリート論理回路、又はそれらの任意の組合せなど、1つ又は複数のプロセッサを含み得る。これらの技法が部分的にソフトウェアにおいて実現される場合、コンテンツエンコーダ/デコーダ122は、好適な非一時的コンピュータ可読記憶媒体、例えば、内部メモリ123内にソフトウェア用の命令を記憶し得、本開示の技法を実施するために、1つ又は複数のプロセッサを使用して、ハードウェアにおいて命令を実行し得る。ハードウェア、ソフトウェア、ハードウェア及びソフトウェアの組合せなどを含む、前述のいずれもが、1つ又は複数のプロセッサであるとみなされ得る。
【0026】
[0047] いくつかの態様では、コンテンツ生成システム100は、任意選択の通信インターフェース126を含み得る。通信インターフェース126は、受信機128と送信機130とを含み得る。受信機128は、デバイス104に関して本明細書で説明する任意の受信機能を実施するように構成され得る。加えて、受信機128は、別のデバイスから情報、例えば、目若しくは頭の位置情報、レンダリングコマンド、又はロケーション情報、を受信するように構成され得る。送信機130は、デバイス104に関して本明細書で説明する任意の送信機能を実施するように構成され得る。例えば、送信機130は、コンテンツに対する要求を含み得る情報を別のデバイスに送信するように構成され得る。受信機128及び送信機130は、トランシーバ132に組み合わせられ得る。そのような例では、トランシーバ132は、デバイス104に関して本明細書で説明する任意の受信機能及び/又は送信機能を実施するように構成され得る。
【0027】
[0048] 再び図1を参照すると、いくつかの態様では、ディスプレイプロセッサ127は、各々が複数のピクセルを含む、1つ又は複数の走査窓に関連付けられている、スケーリング動作用の少なくとも1つの入力画像を受信するように構成された判定構成要素198を含み得る。判定構成要素198はまた、1つ又は複数の走査窓の各々の中の複数のピクセル内の1つ又は複数の特徴を検出するように構成され得る。判定構成要素198はまた、1つ又は複数の走査窓の各々の中の複数のピクセル内の検出された1つ又は複数の特徴の各々についての信頼係数を計算するように構成され得る。判定構成要素198はまた、検出された1つ又は複数の特徴の各々について1つ又は複数の走査窓の各々の中の複数のピクセルの量を調整するように構成され得る。判定構成要素198はまた、検出された1つ又は複数の特徴の各々についての調整された量の複数のピクセルを複数の出力ピクセルに結合するように構成され得る。判定構成要素198はまた、複数の出力ピクセルの各々を少なくとも1つの出力画像に処理するように構成され得る。判定構成要素198はまた、複数の出力ピクセルの各々を処理した後に少なくとも1つの出力画像をディスプレイ又はパネルに送信するように構成され得る。以下の説明は、ディスプレイ処理に焦点を合わせることがあるが、本明細書で説明する概念は、他の同様の処理技法に適用可能であり得る。
【0028】
[0049] 本明細書で説明するように、デバイス104などのデバイスは、本明細書で説明する1つ又は複数の技法を実施するように構成されている、任意のデバイス、装置、又はシステムを指すことがある。例えば、デバイスは、サーバ、基地局、ユーザ機器、クライアントデバイス、局、アクセスポイント、コンピュータ、例えば、パーソナルコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、コンピュータワークステーション、若しくはメインフレームコンピュータ、最終製品、装置、電話、スマートフォン、サーバ、ビデオゲームプラットフォーム若しくはコンソール、ハンドヘルドデバイス、例えば、ポータブルビデオゲームデバイス若しくは携帯情報端末(personal digital assistant、PDA)、ウェアラブルコンピューティングデバイス、例えば、スマートウォッチ、拡張現実デバイス、若しくは仮想現実デバイス、非ウェアラブルデバイス、ディスプレイ若しくはディスプレイデバイス、テレビ、テレビセットトップボックス、中間ネットワークデバイス、デジタルメディアプレーヤ、ビデオストリーミングデバイス、コンテンツストリーミングデバイス、車載コンピュータ、任意のモバイルデバイス、グラフィカルコンテンツを生成するように構成された任意のデバイス、又は本明細書で説明する1つ又は複数の技法を実施するように構成された任意のデバイスであってよい。本明細書のプロセスは、特定の構成要素(例えば、GPU)によって実施されるものとして説明され得るが、更なる実施形態では、開示する実施形態に合わせて、他の構成要素(例えば、CPU)を使用して実施され得る。
【0029】
[0050] GPUは、GPUパイプラインにおいて複数のタイプのデータ又はデータパケットを処理し得る。例えば、いくつかの態様では、GPUは、2つのタイプのデータ又はデータパケット、例えば、コンテキストレジスタパケット及びドローコールデータを処理し得る。コンテキストレジスタパケットは、グラフィックスコンテキストがどのように処理されることになるかを調整し得る、グローバル状態情報、例えば、グローバルレジスタに関する情報、シェーディングプログラム、又は定数データのセットであってよい。例えば、コンテキストレジスタパケットは、カラーフォーマットに関する情報を含み得る。コンテキストレジスタパケットのいくつかの態様では、どのワークロードがコンテキストレジスタに属するかを示すビットがあり得る。また、同時及び/又は並列に実行している複数の機能又はプログラミングもあり得る。例えば、機能又はプログラミングは、ある動作、例えば、カラーモード又はカラーフォーマット、を表し得る。したがって、コンテキストレジスタは、GPUの複数の状態を定義し得る。
【0030】
[0051] コンテキスト状態は、個々の処理ユニットがどのように機能するか、例えば、頂点フェッチャ(vertex fetcher、VFD)、頂点シェーダ(vertex shader、VS)、シェーダプロセッサ、若しくはジオメトリプロセッサ、及び/又は何のモードで処理ユニットが機能するかを判定するために利用され得る。そうするために、GPUは、コンテキストレジスタ及びプログラミングデータを使用し得る。いくつかの態様では、GPUは、モード又は状態のコンテキストレジスタ定義に基づいて、パイプラインにおいてワークロード、例えば、頂点又はピクセルワークロードを生成し得る。いくつかの処理ユニット、例えば、VFDは、これらの状態を使用して、いくつかの機能、例えば、頂点がどのように組み立てられるか、を判定し得る。これらのモード又は状態は変化し得るので、GPUは、対応するコンテキストを変更する必要があり得る。加えて、モード又は状態に対応するワークロードは、変化するモード又は状態に従い得る。
【0031】
[0052] 図2は、本開示の1つ又は複数の技法による、例示的なGPU200を示す。図2に示すように、GPU200は、コマンドプロセッサ(command processor、CP)210と、ドローコールパケット212と、VFD220と、VS222と、頂点キャッシュ(vertex cache、VPC)224と、三角形セットアップエンジン(triangle setup engine、TSE)226と、ラスタライザ(rasterizer、RAS)228と、Zプロセスエンジン(Z process engine、ZPE)230と、ピクセル補間器(pixel interpolator、PI)232と、フラグメントシェーダ(fragment shader、FS)234と、レンダーバックエンド(render backend、RB)236と、レベル2(level 2、L2)キャッシュ(cache、UCHE)238と、システムメモリ240とを含む。図2は、GPU200が処理ユニット220~238を含むことを表示しているが、GPU200は、いくつかの追加の処理ユニットを含み得る。加えて、処理ユニット220~238は、一例にすぎず、任意の組合せ又は順序の処理ユニットが本開示に従ってGPUによって使用され得る。GPU200はまた、コマンドバッファ250と、コンテキストレジスタパケット260と、コンテキスト状態261とを含む。
【0032】
[0053] 図2に示すように、GPUは、CP、例えば、CP210、又はハードウェアアクセラレータを利用して、コマンドバッファをコンテキストレジスタパケット、例えば、コンテキストレジスタパケット260、及び/又はドローコールデータパケット、例えば、ドローコールパケット212、にパースし得る。次いで、CP210は、別個の経路を通して、GPU内の処理ユニット又は処理ブロックにコンテキストレジスタパケット260又はドローコールパケット212を送り得る。更に、コマンドバッファ250は、コンテキストレジスタ及びドローコールの異なる状態を交互にし得る。例えば、コマンドバッファは、以下のようにして構築され得る:すなわち、コンテキストNのコンテキストレジスタ、コンテキストNのドローコール(単数又は複数)、コンテキストN+1のコンテキストレジスタ、及びコンテキストN+1のドローコール(単数又は複数)である。
【0033】
[0054] GPUは、様々な異なる方法で画像をレンダリングし得る。いくつかの事例では、GPUは、レンダリング及び/又はタイルレンダリングを使用して、画像をレンダリングし得る。タイルレンダリングGPUでは、画像は、異なるセクション又はタイルに分割又は分離され得る。画像の分割後、各セクション又はタイルが別個にレンダリングされ得る。タイルレンダリングGPUは、コンピュータグラフィックス画像をグリッドフォーマットに分割し得るので、グリッドの各部分、すなわち、タイル、が別個にレンダリングされるようになる。いくつかの態様では、ビニングパスの間に、画像が、異なるビン又はタイルに分割され得る。いくつかの態様では、ビニングパスの間に、可視性ストリームが構築され得、そこで、可視プリミティブ又はドローコールが識別され得る。タイルレンダリングとは対照的に、直接レンダリングは、フレームをより小さいビン又はタイルに分割しない。むしろ、直接レンダリングでは、フレーム全体が1回でレンダリングされる。加えて、いくつかのタイプのGPUは、タイルレンダリングと直接レンダリングの両方を可能にし得る。
【0034】
[0055] 図3は、例示的なデバイス104に関して識別され得るような、処理ユニット120と、システムメモリ124と、ディスプレイプロセッサ127と、ディスプレイ(単数又は複数)131とを含む例示的なディスプレイフレームワークを示すブロック図300である。
【0035】
[0056] GPUは、ディスプレイ上での視覚的提示用のコンテンツを提供するデバイス内に含まれ得る。例えば、処理ユニット120は、コンピューティングデバイス(例えば、デバイス104)上に表示するグラフィカルデータをレンダリングするように構成されたGPU310を含んでよく、コンピューティングデバイスは、コンピュータワークステーション、モバイルフォン、スマートフォン又は他のスマートデバイス、組込みシステム、パーソナルコンピュータ、タブレットコンピュータ、ビデオゲームコンソールなどとすることができる。GPU310の動作は、CPU315によって提供される1つ又は複数のグラフィックス処理コマンドに基づいて制御され得る。CPU315は、複数のアプリケーションを同時に実行するように構成されてよい。場合によっては、同時に実行される複数のアプリケーションの各々は、GPU310を同時に利用することができる。処理技法は、物理通信チャネル又はワイヤレス通信チャネル上で処理ユニット120を介してフレームを出力するために実施され得る。
【0036】
[0057] 処理ユニット120によって実行され得るシステムメモリ124は、ユーザ空間320及びカーネル空間325を含み得る。ユーザ空間320(「アプリケーション空間」と呼ばれることもある)は、ソフトウェアアプリケーション(単数又は複数)及び/又はアプリケーションフレームワーク(単数又は複数)を含み得る。例えば、ソフトウェアアプリケーション(単数又は複数)は、動作システム、メディアアプリケーション、グラフィカルアプリケーション、ワークスペースアプリケーションなどを含み得る。アプリケーションフレームワーク(単数又は複数)は、ライブラリ、サービス(例えば、表示サービス、入力サービス、など)、アプリケーションプログラムインターフェース(application program interface、API)などの1つ又は複数のソフトウェアアプリケーションによって使用されるフレームワークを含み得る。カーネル空間325は、ディスプレイドライバ330を更に含み得る。ディスプレイドライバ330は、ディスプレイプロセッサ127を制御するように構成され得る。例えば、ディスプレイドライバ330は、ディスプレイプロセッサ127に、フレームを構成させ、フレームに関するデータをディスプレイに送信させ得る。
【0037】
[0058] ディスプレイプロセッサ127は、表示制御ブロック335とディスプレイインターフェース340とを含む。ディスプレイプロセッサ127は、(例えば、ディスプレイドライバ330から受信された入力に基づいて)ディスプレイ(単数又は複数)131の機能を操作するように構成され得る。表示制御ブロック335は、ディスプレイインターフェース340を介してディスプレイ(単数又は複数)131に画像フレームを出力するように更に構成され得る。いくつかの例では、表示制御ブロック335は、追加又は代替として、処理ユニット120によるシステムメモリ124の実行に基づいて提供された画像データの後処理を実施し得る。
【0038】
[0059] ディスプレイインターフェース340は、ディスプレイ(単数又は複数)131に画像フレームを表示させるように構成され得る。ディスプレイインターフェース340は、例えば、MIPI DSI(モバイル業界プロセッサインターフェース、ディスプレイシリアルインターフェース)などのインターフェースプロトコルに従って、画像データをディスプレイ(単数又は複数)131に出力し得る。すなわち、ディスプレイ(単数又は複数)131は、MIPI DSI規格に従って構成され得る。MIPI DSI規格は、ビデオモード及びコマンドモードをサポートする。ディスプレイ(単数又は複数)131がビデオモードで動作している例では、ディスプレイプロセッサ127は、ディスプレイ(単数又は複数)131のグラフィカルコンテンツを連続的にリフレッシュすることができる。例えば、グラフィカルコンテンツ全体が、リフレッシュサイクルごとに(例えば、ラインごとに)リフレッシュされ得る。ディスプレイ(単数又は複数)131がコマンドモードで動作している例では、ディスプレイプロセッサ127は、フレームのグラフィカルコンテンツをバッファ350に書き込むことができる。
【0039】
[0060] いくつかのそのような例では、ディスプレイプロセッサ127は、ディスプレイ(単数又は複数)131のグラフィカルコンテンツを連続的にリフレッシュしないことがある。代わりに、ディスプレイプロセッサ127は、バッファ350におけるグラフィカルコンテンツのレンダリング及び消費を調整するために、垂直同期(Vsync)パルスを使用し得る。例えば、Vsyncパルスが生成されるとき、ディスプレイプロセッサ127は、新しいグラフィカルコンテンツをバッファ350に出力し得る。したがって、Vsyncパルスの生成は、現在のグラフィカルコンテンツがバッファ350においてレンダリングされたことを示し得る。
【0040】
[0061] フレームは、ディスプレイコントローラ345、ディスプレイクライアント355、及びバッファ350に基づいてディスプレイ(単数又は複数)131において表示される。ディスプレイコントローラ345は、ディスプレイインターフェース340から画像データを受信し、受信した画像データをバッファ350内に記憶することができる。いくつかの例では、ディスプレイコントローラ345は、バッファ350内に記憶された画像データをディスプレイクライアント355に出力し得る。したがって、バッファ350は、ディスプレイ(単数又は複数)131に対するローカルメモリを表し得る。いくつかの例では、ディスプレイコントローラ345は、ディスプレイインターフェース340から受信された画像データをディスプレイクライアント355に直接出力し得る。
【0041】
[0062] ディスプレイクライアント355は、ユーザとディスプレイ(単数又は複数)131との間の対話を感知するタッチパネルに関連付けられてよい。ユーザがディスプレイ(単数又は複数)131と対話すると、タッチパネル内の1つ又は複数のセンサは、1つ又は複数のセンサのうちのどれがセンサアクティビティを有するか、センサアクティビティの持続時間、1つ又は複数のセンサに加えられた圧力などを示す信号をディスプレイコントローラ345に出力し得る。ディスプレイコントローラ345は、ユーザがディスプレイ(単数又は複数)131と対話した方法を判定するために、センサ出力を使用し得る。ディスプレイ(単数又は複数)131は、ディスプレイクライアント355に関して動作する、カメラ、マイクロフォン、及び/又はスピーカなどの他のデバイスに更に関連付けられても/それらを含んでもよい。
【0042】
[0063] デバイス104のいくつかの処理技法は、3つの段階にわたって実施され得る(例えば、段階1:レンダリング段階;段階2:合成段階;及び段階3:表示/転送段階)。しかしながら、他の処理技法は、処理技法が2つの合計段階(例えば、段階1:レンダリング段階;及び段階2:合成/表示/転送段階)に基づいて実行され得るように、合成段階と表示/転送段階とを単一の段階に組み合わせることができる。レンダリング段階の間、GPU310は、ピクセルごとにコンテンツを生成するアプリケーションの実行に基づいてコンテンツバッファを処理し得る。合成及び表示の段階(単数又は複数)の間、ピクセル要素は、フレームを表示する物理的ディスプレイパネル/サブシステム(例えば、ディスプレイ131)に転送されるフレームを形成するように組み立てられ得る。
【0043】
[0064] CPU(例えば、ソフトウェア命令)又はディスプレイプロセッサによって実行される命令は、CPU又はディスプレイプロセッサに、1つ又は複数の合成戦略グループに関連付けられた動的優先度及びランタイム統計に基づいてフレームを合成する合成戦略を探索及び/又は生成させ得る。ディスプレイパネルなどの物理的ディスプレイデバイスによって表示されるべきフレームは、複数のレイヤを含み得る。また、フレームの合成は、(例えば、フレームバッファに基づいて)複数のレイヤをフレームに結合することに基づき得る。複数のレイヤがフレームに結合された後、フレームは、ディスプレイパネル上での表示のためにディスプレイパネルに提供され得る。複数のレイヤの各々をフレームに結合するプロセスは、合成、フレーム合成、合成プロシージャ、合成プロセスなどと呼ばれることがある。
【0044】
[0065] ディスプレイ処理の態様は、異なるスケーリング動作(例えば、アップスケーリング又はダウンスケーリング)のために、スケーラ又はDPUスケーラなど、異なるタイプのスケーリング構成要素を利用し得る。いくつかのDPUスケーラは、画像アップスケーリング中に高周波数コンテンツを保存するために、バイキュービックフィルタリング(すなわち、エッジに依存しないフィルタリング)と勾配ベースのエッジフィルタリングの組合せを使用する。この技法は、エッジの方向及び強度を推定するためにルーマ勾配を抽出することができる。設計によって、エッジフィルタリングは、対角線(すなわち、45°及び-45°)に沿って最も強く、水平方向(すなわち、0°)及び垂直方向(すなわち、90°)に沿って最も弱くなり得る。いくつかの事例では、エッジフィルタリング又は指向性出力は、重みメトリックを使用して2つの固定された方向に沿って出力を混合することによって推定され得る。例えば、出力=出力1重み+出力2(1-重み)という式を利用することができる。加えて、DPUスケーラは、出力が検出された方向にフィルタリングされるときなど、方向フィルタリングを利用し得る。検出された方向におけるこのフィルタリングされた出力は、ある角度の方向(例えば、26°~63°の方向)に沿った出力の線形混合であり得る。
【0045】
[0066] 図4は、ディスプレイ処理のスケーリング技法の一例を含む図400を示す。より具体的には、図400は、バイキュービックフィルタリングと双方向フィルタリングの線形結合を含む。図4に示すように、図400は、入力画像410と、出力画像450と、バイキュービック分離可能フィルタリング構成要素422、双方向エッジフィルタリング構成要素424、線形結合構成要素430を含むフィルタリングブロック420とを含む。図4は、出力画像450を得るために、バイキュービック分離可能フィルタリング構成要素422及び双方向エッジフィルタリング構成要素424と共に線形結合構成要素430を使用して入力画像410がどのようにフィルタリングされるかを示す。図4に示すように、線形結合構成要素430は、エッジ強度メトリックを含む。また、出力画像450は、画像のコーナー及びエッジを示す。
【0046】
[0067] ディスプレイ処理のいくつかのスケーリング動作又はフィルタリング動作は、いくつかの欠点を含み得る。例えば、ルーマ勾配はコーナーにおいて2つの方向において非ゼロであり得るので、スケーリング動作又はフィルタリング動作は、画像のコーナーを良好に保存しないことがある。また、バイキュービック分離可能フィルタが水平エッジ及び垂直エッジを保存している間に、エッジフィルタリングはこれらの方向に沿って0に落ちることがあるので、スケーリング動作又はフィルタリング動作は、水平エッジ及び垂直エッジを保存しないことがある。その上、これらの方向に沿った直接フィルタリング推定がない場合があるので、スケーリング動作又はフィルタリング動作は、対角方向に沿った強いエッジ検出を十分に活用しない場合がある。上記に基づいて、画像のコーナーを保存することは、スケーリング動作又はフィルタリング動作にとって有益であり得る。画像の水平エッジ及び垂直エッジを保存することも、スケーリング動作又はフィルタリング動作にとって有益であり得る。更に、画像の対角方向に沿って強いエッジ検出を利用することが有益であり得る。
【0047】
[0068] 本開示の態様は、表示適用(例えば、高解像度表示適用)における画像再構成/エンハンスメントプロセスの新規の画像スケーリング技法を利用し得る。例えば、本開示の態様は、スケーリング動作又はフィルタリング動作のために、ファジー論理ベースのパターンマッチング及びコーナーフィルタリング技法を利用し得る。また、本開示の態様は、画像のコーナーの保存を可能にするスケーリング動作又はフィルタリング動作を利用し得る。本明細書で提示する態様はまた、画像の水平エッジ及び垂直エッジを保存するスケーリング動作又はフィルタリング動作を利用し得る。加えて、本開示の態様は、画像の対角方向に沿った強いエッジ検出を可能にするスケーリング動作又はフィルタリング動作を利用し得る。
【0048】
[0069] いくつかの事例では、本明細書で提示する態様は、画像をアップスケーリングしながら画像のコーナー及びエッジを保存することができ、これは、視覚シーンの構造に寄与するので、より高い画像忠実度をもたらし得る。本開示の態様は、画像アップスケーリング中に画像のコーナー及びエッジを保存するように協調して働く一揃えの特徴検出技法を提供し得る。例えば、これらの特徴検出技法は、単一の低解像度入力画像を使用して高解像度画像を構築するためのハードウェア実現可能な固定小数点アルゴリズムを含み得る。これらの特徴検出技法は、他のエッジ検出ベースのDPUスケーラよりも性能が優れている場合があり、これは、特にグラフィックスコンテンツ及びテキストコンテンツについて、アップスケーリング中の画像品質のより良好な保存をもたらし得る。
【0049】
[0070] 本明細書で提示する態様は、入力画像がグラフィックスコンテンツ及びテキストコンテンツに富んでいるときに重要な場合があるDPUスケーラに対する最適化を含み得る。例えば、本明細書で提示する態様は、ファジー論理ベースのパターンマッチング技法を含む特徴検出技法を利用し得る。本明細書で提示する態様はまた、二次ルーマ勾配ベースのコーナー検出を含み得る。更に、本明細書で提示する態様は、3方向エッジフィルタリングを含み得る。本明細書で提示する態様はまた、非最大抑制アルゴリズムを含み得る。いくつかの事例では、本開示の態様は、(1)人間の視覚系が、画像から構造的及び幾何学的情報を抽出するように高度に適応され得る、(2)バイキュービックフィルタリングのようなエッジに依存しないアルゴリズムが、45°及び-45°に沿ったエッジの最大ぼけを引き起こし得る、(3)画像の明確に定義されかつ鮮鋭なコーナーが、概して、反対のルーマ極性の2つの領域に分割され得る、(4)二次ルーマ勾配が、画像のコーナーにおいて高い非ゼロ値をとり得る、などのいくつかの仮説に基づき得る。
【0050】
[0071] 図5は、ディスプレイ処理のスケーリング技法の一例を含む図500を示す。より具体的には、図500は、バイキュービックフィルタリング、コーナーフィルタリング、及び3方向フィルタリングの線形結合を含む。図5に示すように、図500は、入力画像510と、出力画像550と、バイキュービック分離可能フィルタリング構成要素522、3方向エッジフィルタリング構成要素524、パターンマッチングベースのコーナーフィルタリング構成要素526、及び線形結合構成要素530を含むフィルタリングブロック520とを含む。図5は、出力画像550を得るために、バイキュービック分離可能フィルタリング構成要素522、3方向エッジフィルタリング構成要素524、及びパターンマッチングベースのコーナーフィルタリング構成要素526と共に線形結合構成要素530を使用して、入力画像510がどのようにフィルタリングされるかを示す。図5に示すように、線形結合構成要素530は、エッジ強度メトリックとコーナー強度メトリックとを含み得る。また、パターンマッチングベースのコーナーフィルタリング構成要素526は、規定のターンを含み得る。出力画像550は、他のスケーリング技法と比較して、より鮮鋭でより鮮明であり得る、画像のコーナー及びエッジを示す。図5に示すように、図500は、ファジー論理ベースのパターンマッチング技法、並びに二次ルーマ勾配ベースのコーナーフィルタリング技法を含む。
【0051】
[0072] 図6は、ディスプレイ処理のスケーリング技法の一例を含む図600を示す。図6に示すように、図600は、入力画像610と出力画像650とを含む。図6は、本開示の態様によるスケーリング技法が、コーナー検出、エッジ検出、及び/又はエッジ方向推定をどのように含み得るかを示す。例えば、本明細書で提示する態様は、他のスケーリング技法と比較して改善されたコーナー検出を含み得る。また、本明細書で提示する態様は、他のスケーリング技法と比較して改善されたエッジ方向推定を含み得る。本明細書で提示する態様はまた、他のスケーリング技法と比較して、画像のより鮮鋭な、ぼやけの少ないエッジ、並びにより良好なコントラストを含み得る。
【0052】
[0073] 図7は、ディスプレイ処理のスケーリングアーキテクチャの一例を含む図700を示す。より具体的には、図700は、ディスプレイスケーラ又はDPUスケーラのスケーリングアーキテクチャを含む。図7に示すように、図700は、パターンマッチング及びコーナー検出構成要素710(非最大抑制を含む)と、方向検出構成要素712と、より微細な方向推定構成要素714(3方向推定を含む)とを含む。図700はまた、ローカルストレージ(local storage、LS)720と、方向ピクセル抽出器722と、コーナーピクセル抽出器724と、三角形セレクタ730と、方向位相計算構成要素732と、垂直位相(Vphase)構成要素734と、プログラム対セレクタ740と、方向位相計算構成要素742とを含む。加えて、図700は、VphaseAccY構成要素750(入力VphaseIncUV及びVphaseIncYを含む)と、VphaseAccUV構成要素752と、HphaseAccY構成要素754(入力HphaseIncUV及びHphaseIncYを含む)と、HphaseAccUV構成要素756とを含む。図700はまた、双線形補間器760~763と、2次元(two-dimensional、2D)分離可能補間器765~768と、方向融合構成要素770と、2D分離可能フィルタ780と、双線形補間器781~784と、コーナー融合構成要素786と、ピクセル融合構成要790とを含む。
【0053】
[0074] 図7に示すように、図700は、コーナー検出、コーナー補間、エッジ検出、及びエッジ補間用の構成要素を含むDPUスケーラのトップレベルスケーリングアーキテクチャである。図700のコーナー検出構成要素は、パターンマッチング及びコーナー検出構成要素710と、三角形セレクタ730と、方向位相計算構成要素732とを含む。図700のコーナー補間構成要素は、双線形補間器781~784とコーナー融合構成要素786とを含む。コーナー検出構成要素及びコーナー補間構成要素は、図700の設計における新規の要素である。また、新規の非最大抑制アルゴリズムは、新規の要素が他の特徴と連携して機能することを可能にするコーナーフィルタリングと統合されてもよい。図700のエッジ検出構成要素は、方向検出構成要素712と、より微細な方向推定構成要素714と、プログラム対セレクタ740と、方向位相計算構成要素742とを含む。加えて、図700のエッジ補間構成要素は、双線形補間器760~763と、2次元(2D)分離可能補間器765~768と、方向融合構成要素770とを含む。エッジ検出構成要素及びエッジ補間構成要素は、第3の方向(例えば、45°又は-45°)に沿って新たに導入されたフィルタリング態様に適応するように修正され得る。
【0054】
[0075] 本開示の態様では、ファジー論理ベースのパターン検出と非最大(non-maximum)抑制(又は非最大(non-maxima)抑制)の結合ブロックは、エッジ上の誤ったコーナー検出を軽減しながら画像内のコーナーを検出するための、及びその逆の新規の方法であり得る。したがって、本明細書で提示する態様は、スタンドアロンアルゴリズムともみなされ得るスケーリングアーキテクチャの新規の要素(例えば、コーナー検出要素及び補間要素)を含み得る。更に、本明細書で提示する態様は、非最大抑制と、エッジブロックとコーナーフィルタリングブロックとの間を通過する情報とによって、これらの新規の要素(例えば、コーナー検出及び補間要素)が既存の要素(例えば、エッジベースフィルタリング)とどのように相互作用するかを提供することもできる。画像品質評価に基づいて、本明細書で提示する態様は、画像内のオブジェクトの構造に寄与する高周波数特徴をより良く保存することができる。本明細書で提示する態様はまた、グラフィックス使用事例又はテキストの使用事例について、他の従来のフィルタリングベースの画像スケーリング技法及びいくつかの人工知能(artificial intelligence、AI)ベースのスケーラよりも性能が優れている場合がある。その上、本明細書で提示する態様は、コーナー検出ベースのフィルタリングから利益を得ることができる任意の画像/ビデオ処理タスクを用いて実現され得る。特に、本明細書で提示する態様は、グラフィックスコンテンツを扱うディスプレイ(例えば、ゲーミングディスプレイ)において利用され得る。
【0055】
[0076] いくつかの事例では、本開示のパターン/コーナー検出は、コーナーの配向を示し得る、コーナーネスと呼ばれる強度メトリックとコーナータイプ(CornerType)と呼ばれるタイプメトリックとによってパラメータ化され得る。アルゴリズムは、コーナーの2つのカテゴリ(例えば、カテゴリ1のコーナー及びカテゴリ2のコーナー)を検出することができる。コーナーのカテゴリは、その向きのタイプの点で異なってもよい。いくつかの事例では、より低い検出強度を有するカテゴリは破棄されてよい。また、補間領域を囲むピクセルにおける4つの副検出は、最終的なコーナーネス値を出力するために双線形に混合され得る。いくつかの態様では、各副検出は、3×3ルーマグリッド上で実行され得る。
【0056】
[0077] 図8は、ディスプレイ処理のスケーリング技法の一例を含む図800を示す。より具体的には、図8は、副検出方式及びコーナーのカテゴリ化を示す。図8に示すように、図800は、入力ルーマグリッド810と、(近傍の窓を使用する)検出ブロック830と、コーナーネス及びCornerTypeの対830(例えば、コーナーネス及びCornerTypeの4つの対)とを含む。図8は、検出ブロック830が、3×3の近傍の窓を使用して4つの点における検出を利用することを示す。図8はまた、カテゴリ1のコーナー及びカテゴリ2のコーナー(カテゴリ1のコーナーと比較して45度回転されている)を示す。
【0057】
[0078] カテゴリ1のコーナー検出(すなわち、ファジー論理ベースのパターンマッチング)では、検出は、パターン強度をパラメータ化するために、入力グリッドと予め定義されたパターンとの間の相関メトリックを計算することに基づき得る。相関メトリックは、コーナーネス1と呼ばれることがある。検出プロセスは、いくつかの異なるステップを含んでよい。例えば、検出プロセスは、前処理ステップを含むことができ、このステップは、3×3ルーマ入力を取り、次いで、区分行列(すなわち、Ep及びEn)と呼ばれる2つの3×3行列を出力することができる。ローカルルーマ統計が前処理のために活用され得る。目標は、入力グリッドを中心ピクセルに対して高いルーマ極性の2つの領域に区分することであり得る。この高い極性は、次のパターンマッチングステップにおいて活用され得る。パターンマッチングステップは、4つの規定のパターンをとり、それらをEp及びEnに対してマッチングして、どのパターンがルーマ入力とより密接にマッチするかを判定することができる。加えて、非最大抑制ブロックは、誤ったコーナー検出を防止し、方向検出との干渉を軽減するために統合され得る。
【0058】
[0079] 図9は、ディスプレイ処理するスケーリング技法の一例を含む図900を示す。より具体的には、図9は、ファジー論理パターン検出の高レベル方式を示す。図9に示すように、図900は、3×3入力902と、前処理構成要素910(すなわち、領域区分構成要素)と、パターンマッチング構成要素920(誤った最大抑制を含む)と、規定のパターン931~934(3×3パターン)と、コーナーネス及びCornerType940とを含む。規定のパターン931~934は、カテゴリ1の下で検出されたパターンの4つの方向を示す。また、パターン931~934の各々は、サイズ3×3のものであり得、反対のルーマ極性を有する2つの領域(例えば、領域A及びB)に分割され得る。
【0059】
[0080] 図10は、ディスプレイ処理のスケーリング技法の一例を含む図1000を示す。より具体的には、図10は、前処理ステップの低レベルフロー図を示す。図10に示すように、図1000は、検出点を含む入力1010(3×3入力)と、差分行列1020と、領域区分行列1030と、領域区分行列1040(Ep)と、逆区分行列1042(En)とを含む。図10は、入力1010及び差分行列1020に対する分散計算器があることを示す。また、領域区分行列1030の後にシグモイド活性化ステップがある。図10に示すように、図1000は、パターン1060を生成するために前処理を受ける入力1050も含む。加えて、パターン1070をパターン1060と比較して、マッチするパターンがあるかどうかを判定する。
【0060】
[0081] 図11は、ディスプレイ処理のスケーリングアーキテクチャの一例を含む図1100を示す。図11に示すように、図1100は、3×3入力1110と、平均計算器1112と、分散計算器1114と、区分行列生成器1116と、Ep1118と、En1119とを含む前処理ブロック1102を含む。図11は、前処理ブロック1102が4つの同様のインスタンス、例えば、各3×3サブウィンドウに対して1つのインスタンスを含むことを示す。例えば、前処理ブロック1102は、3×3入力1120と、平均計算器1122と、分散計算器1124と、区分行列生成器1126と、Ep1128と、En1129とを含む。前処理ブロック1102はまた、3×3入力1130と、平均計算器1132と、分散計算器1134と、区分行列生成器1136と、Ep1138と、En1139とを含む。更に、前処理ブロック1102は、3×3入力1140と、平均計算器1142と、分散計算器1144と、区分行列生成器1146と、Ep1148と、En1149とを含む。
【0061】
[0082] いくつかの事例では、本明細書で提示する態様は、パターンマッチングステップの事例単位のブレークダウンを含み得る。例えば、2つの事例における入力は、極性が異なり得るが、同じパターンを有し得る。1つの事例では、本明細書で提示する態様は、Ep内の領域(例えば、領域A)内の値のすべてを加算し、En内の領域(例えば、領域B)内の値のすべてを加算することができる。これは、以下の式に対応し得る。
【0062】
【数1】
【0063】
式中、μはコーナーネス1を表し、IndextypeはCornerTypeを表す。また、IndextypeはIndexmaxμと等しくてよい。いくつかの事例では、式中の第1の積は、より高い値をもたらし得る。他の事例では、式中の第2の積は、より高い値をもたらし得る。完全マッチの場合、2つの積のうちの1つは20であってよい。
【0064】
[0083] 図12は、ディスプレイ処理のスケーリングアーキテクチャの一例を含む図1200を示す。より具体的には、図12は、パターンマッチングブロック図を示す。図12に示すように、図1200は、Ep1204と、En1206と、コーナーネス計算器1210と、コーナーネス計算器1211と、コーナーネス計算器1212と、コーナーネス計算器1213と、最大構成要素1220と、コーナーネス1230とを含む。図12は、4つの同一のパターンマッチングブロック(例えば、3×3入力の各々に対して1つ)があり得ることを示す。これらのブロックの各々は、4つの同一のサブブロック(例えば、4つのパターンの各々について1つ)を有し得る。したがって、図12図1200は、現在の図と比較して4倍の量の構成要素を含み得る。
【0065】
[0084] 図13は、ディスプレイ処理のスケーリングアーキテクチャの一例を含む図1300を示す。図13に示すように、図1300は、Ep1310と、En1312と、Ep領域A加算構成要素1321と、En領域B加算構成要素1322と、Ep領域B加算構成要素1323と、En領域A加算構成要素1324と、シグモイドルックアップテーブル(sigmoid look-up table、LUT)1330と、非最大抑制計算器1340と、コーナーネス1350とを含む。図13は、コーナーネス計算器の図を示す。例えば、図13は、シグモイド活性化ステップ及び非最大抑制ステップによるコーナーネス1変調を示す。
【0066】
[0085] いくつかの態様では、非最大抑制計算は、以下の式に対応し得る:
【0067】
【数2】
【0068】
式中、GSTは勾配二乗テンソルを表す。いくつかの事例では、非最大抑制はほぼゼロに等しくてよい。また、非最大抑制は、0<NonMaxSup<1に対応し得、これは、より鮮鋭な水平エッジ及び垂直エッジを提供するために有利であり得る、水平線及び垂直線に沿ったわずかな誤検出を可能にし得る。GSTは、エッジ強度(エッジが対角線に沿っているときに最も強いと考えられる)をパラメータ化するために使用されるメトリックである。GSTはまた、エッジ角度に伴う変動を含み得る。場合によっては、誤検出の入力例は、エッジの中に存在するマイクロコーナーを含み得る。更に、非最大抑制は、誤ったコーナー検出を防ぐことができる。加えて、一貫したわずかな誤検出は、部分的な双線形/コーナー補間を可能にし得る(例えば、NonMaxSup=1の場合)。いくつかの例では、4×4補間は2×2補間に対応し得る。これは、より鮮鋭な水平線及び垂直線、低減されたハローアーチファクト、及び/又は強化されたコーナーシャープネスなど、いくつかの利点をもたらし得る。また、これは、バイキュービックフィルタリング関数やバイリニアシグモイド関数を利用して計算され得る。
【0069】
[0086] 本開示の態様はまた、カテゴリ2のコーナー検出(すなわち、二次ルーマ勾配を使用するコーナー検出)を利用し得る。カテゴリ2の検出は、コーナーを形成するために交差するエッジ間の強度の変化の大きさを計算することができる。この変化の大きさを定量化する強度メトリックは、コーナーネス2と呼ばれることがある。エッジ強度は、一次ルーマ勾配を使用して導出される勾配二乗テンソル(gradient square tensor、GST)と呼ばれるメトリックのセットによってパラメータ化され得る。二次勾配(ΔGST)は、隣接する3×5ルーマグリッド上で計算された2つの一次勾配間の差として計算され得る。
【0070】
[0087] 図14は、ディスプレイ処理のスケーリング技法の一例を含む図1400を示す。図14に示すように、図1400は、サンプル入力のピクセルレベル表現1410、並びに4つのGST(例えば、GST=0、GST=0、GST=1、GST=1)を含む。図14は、一次勾配がサンプル入力に対して水平方向及び垂直方向にどのように変化し得るか、かつそれがカテゴリ2の検出にどのように役立ち得るかを示す。加えて、一次勾配は、水平軸に沿って不変であってよい。また、一次勾配は垂直軸に沿って変化してもよく、これはカテゴリ2のコーナーの存在を示唆する。
【0071】
[0088] 本開示の態様はまた、コーナー補間を利用し得る。コーナー補間は、コーナー検出に続いてよく、検出されたCornerTypeインデックスの関数であってよい。例えば、4つの副補間は、4つの3×3グリッドの各々について独立して計算されてよく、次いで、最終的なコーナーフィルタ出力を得るために双線形的に混合され得る。補間フィルタは、修正された双線形フィルタであってよく、4つのピクセルの代わりに3つのピクセル(まとめて三角形と呼ばれる)を使用してもよい。
【0072】
[0089] 図15は、ディスプレイ処理のスケーリング技法の一例を含む図1500を示す。より具体的には、図15は、本開示によるコーナー補間技法を示す。図15に示すように、図1500は、ピクセル1501と、ピクセル1502と、ピクセル1503と、ピクセル1504とを含む。図15は、カテゴリ1のコーナー補間の一例を示す。PhX及びPhYは、ピクセル1501からの出力ピクセルの水平距離及び垂直距離を表す。ph1及びph2の値(方向位相と呼ばれる)は、双線形補間に使用される距離重み値を表す。図15に示すように、エッジの水平方向の性質は1つの領域において保持され得、一方、エッジの垂直方向の性質は別の領域において保持され得る。いくつかの事例では、カテゴリ1の三角形補間は、向きに依存しない補間と混合され得る。そうすることによって、本明細書で提示する態様は、(i)コーナー補間と非コーナー補間との間の滑らかな遷移を保証し、(ii)水平エッジ及び垂直エッジをより良好に保存するために、誤ったコーナー検出を活用することができる。向きに依存しない補間は、ph1及びph2を使用する単純な双線形補間であり得る。
【0073】
[0090] 図16は、ディスプレイ処理のスケーリング技法の一例を含む図1600を示す。より具体的には、図16は、本開示によるカテゴリ2のコーナー補間技法を示す。図16に示すように、図1600は、ピクセル1601と、ピクセル1602と、ピクセル1603と、ピクセル1604とを含む。図16は、カテゴリ2のコーナー補間の一例を示す。PhX及びPhYは、ピクセル1601からの出力ピクセルの水平距離及び垂直距離を表す。ph45及びph135の値(方向位相と呼ばれる)は、双線形補間に使用される距離重み値を表す。図16に示すように、エッジの対角的性質はある領域において保持され得、エッジの対角的性質は別の領域において保持され得る。
【0074】
[0091] 図17は、ディスプレイ処理のスケーリングアーキテクチャの一例を含む図1700を示す。より具体的には、図17は、本開示によるコーナー補間ブロック図を示す。図17に示すように、図1700は、ピクセル三角形セレクタ1710と、方向位相計算構成要素1712と、V0V1V2構成要素1730~1733と、双線形補間器1740~1743と、線形融合構成要素1750~1753と、向きに依存しないコーナー補間器1760と、双線形コーナー融合構成要素1770とを含む。図17は、CornerType及び2×2ピクセルグリッドがピクセル三角形セレクタ1710に入力されることを示す。ピクセル三角形セレクタ1710はまた、双線形コーナー融合構成要素1770と通信するときにPhaseX及びPhaseYを利用することができ、双線形コーナー融合構成要素1770は次いでcornerout値を出力し得る。図17はまた、各3×3サブウィンドウに対する1つの経路を含む4つの並列経路を示す。
【0075】
[0092] 本明細書で提示する態様はまた、3方向エッジフィルタリングを利用し得る。現在のエッジフィルタリングは、エッジフィルタリングが63°及び26°の方向(又は-63°及び-26°の方向)に沿って推定され、より微細な方向推定(finer direction estimation、FDE)と呼ばれる強度メトリックに基づいて線形混合される、双方向フィルタリングを活用し得る。本開示の態様は、エッジ、特にエッジフィルタリング強度が最大である対角方向近くに向けられたエッジの改善された保存のために、45°及び135°の方向に沿って第3の推定を追加し得る。本明細書で提示する態様によって利用される方式は、負の方向に関して、すなわち、検出されたエッジが負の方向に沿っているときに、類似し得る。例えば、63°/-63°及び26°/-26°の補間が現在のアルゴリズムにおいて定義され得るが、45°/135°の方向フィルタリングブロックは新規であり得る。45°/135°方向フィルタリングブロックは、4つの3×3 2D分離可能フィルタを使用することができる。45°~135°のカーネルの選択は、検出されたエッジの記号(GSTメトリックの記号によって示される)に依存し得る。また、指向性出力を得るために、4つの分離可能なフィルタの出力が双線形混合され得る。
【0076】
[0093] 図18は、ディスプレイ処理のスケーリングアーキテクチャの一例を含む図1800を示す。より具体的には、図18は、45°/135°方向フィルタリングブロックのデータフローを示す。図18に示すように、図1800は、方向位相計算構成要素1812と、係数ルックアップテーブル(LUT)1820と、係数アンパック構成要素1822と、プログラム3×3 45°構成要素1830~1833と、プログラム3×3 135°構成要素1834~1837と、プログラム3×3構成要素1840~1843と、分離可能フィルタ1850~1853と、双線形補間器1870とを含む。図18は、直接PhX及び直接PhYが方向位相計算構成要素1812から係数ルックアップテーブル(LUT)1820に通信されることを示す。また、PhaseX及びPhaseYは、方向位相計算構成要素1812と双線形補間器1870との間で通信される。最終的に、双線形補間器1870は、指向性出力を出力することができる。
【0077】
[0094] 本明細書で提示する態様はまた、ピクセル融合プロセス、例えば、ブレンディングコーナーフィルタリング、方向フィルタリング、及びバイキュービックフィルタリングを利用し得る。ピクセル融合では、方向フィルタリングブロックからの3方向出力(outtriDir)及びバイキュービックフィルタ出力は、GST重み(エッジ強度を表す)を使用して結合され得る。また、コーナーフィルタブロックから来るコーナーネス出力(outcor)及びouttriDirは、最終出力ピクセルを提供するために、コーナーネスを使用して結合され得る。
【0078】
[0095] 図19は、ディスプレイ処理のスケーリング技法の一例を含む図1900を示す。より具体的には、図19は、ピクセル融合ブロックアーキテクチャを示す。図19に示すように、図1900は、入力1910と、出力1950と、バイキュービック分離可能フィルタリング構成要素1920、3方向エッジフィルタリング構成要素1922、パターンマッチングベースのコーナーフィルタリング構成要素1924、規定のパターン1926、線形結合1930(GST重みを含む)、及び線形結合1940(コーナーネスを含む)を含むピクセル融合ブロック1902とを含む。図19に示すように、いくつかの事例ではoutDir=GSTouttriDir+(1-GST)outbicubicである。また、いくつかの事例ではoutfinal=cornernessoutcor+(1-cornerness)outdirである。
【0079】
[0096] 本開示の態様は、いくつかの利益又は利点を含み得る。例えば、本開示の態様は、画像内のオブジェクトの構造に寄与する高周波数特徴をより良く保存する。本明細書で提示する態様はまた、他の従来のフィルタリングベースの画像スケーリング技法、並びにグラフィックス使用例又はテキスト使用例について、いくつかのAIベースのスケーラよりも性能が優れている場合がある。
【0080】
[0097] 図20は、本開示の1つ又は複数の技法による、ディスプレイ処理の通信フロー図2000である。図20に示すように、図2000は、本開示の1つ又は複数の技法による、DPU2002(又は他のディスプレイプロセッサ)と、メモリ2004と、ディスプレイ2006(例えば、ディスプレイパネル)との間の例示的な通信を含む。
【0081】
[0098] 2010において、DPU2002は、各々が複数のピクセルを含む、1つ又は複数の走査窓に関連付けられている、スケーリング動作用の少なくとも1つの入力画像(例えば、入力画像2012)を受信し得る。いくつかの態様では、1つ又は複数の走査窓は、1つ又は複数のピクセルグリッドであってよい。
【0082】
[0099] 2020において、DPU2002は、1つ又は複数の走査窓の各々の中の複数のピクセル内の1つ又は複数の特徴を検出し得る。1つ又は複数の走査窓の各々の中の複数のピクセル内の1つ又は複数の特徴は、1つ若しくは複数のコーナー又は1つ若しくは複数のエッジのうちの少なくとも1つを含み得る。1つ又は複数のコーナーは、1つ又は複数のカテゴリ1のコーナー及び1つ又は複数のカテゴリ2のコーナーを含んでよく、1つ又は複数のカテゴリ1のコーナーは、非回転水平軸及び非回転垂直軸に関連付けられてよく、1つ又は複数のカテゴリ2のコーナーは、45度回転水平軸及び45度回転垂直軸に関連付けられてよい。
【0083】
[0100] 2030において、DPU2002は、1つ又は複数の走査窓の各々の中の複数のピクセル内の検出された1つ又は複数の特徴の各々についての信頼係数を計算し得る。いくつかの事例では、1つ又は複数の特徴の各々についての信頼係数の計算は、非最大抑制プロセスに対応し得る。1つ又は複数の特徴の各々についての信頼係数は、1つ又は複数の特徴の各々の精度の信頼度に対応し得、信頼係数は0~1の値であり得る。また、調整された量の複数のピクセルの結合は、1つ又は複数の特徴の各々についての信頼係数に基づき得る。更に、1つ又は複数の特徴は、1つ又は複数のコーナー及び1つ又は複数のエッジを含み得、信頼係数は、1つ又は複数のエッジの各々についてのエッジ強度メトリック及び1つ又は複数のコーナーの各々についてのコーナー強度メトリックであり得る。
【0084】
[0101] 2040において、DPU2002は、検出された1つ又は複数の特徴の各々について1つ又は複数の走査窓の各々の中の複数のピクセルの量を調整し得る。いくつかの態様では、1つ又は複数の走査窓の各々の中の複数のピクセルの量を調整することは、1つ又は複数の走査窓のピクセル解像度を調整し得る。また、1つ又は複数の走査窓の各々の中の複数のピクセルの量の調整は、コーナー補間又はエッジ補間に対応し得る。エッジ補間は、3方向エッジフィルタリングに関連付けられてよく、コーナー補間は、パターンマッチングベースのコーナーフィルタリングに関連付けられてよい。
【0085】
[0102] 2050において、DPU2002は、検出された1つ又は複数の特徴の各々についての調整された量の複数のピクセルを複数の出力ピクセルに結合し得る。検出された1つ又は複数の特徴の各々についての調整された量の複数のピクセルの結合は線形結合であり得る。
【0086】
[0103] 2060において、DPU2002は、複数の出力ピクセルの各々を少なくとも1つの出力画像に処理し得る。いくつかの事例では、DPUは、複数の出力ピクセルの各々を走査することができ、複数の出力ピクセルの各々は走査順序で走査され得る。例えば、複数の出力ピクセルの各々を処理することは、複数の出力ピクセルの各々を走査することを含んでよく、複数の出力ピクセルの各々は走査順序で走査され得る。加えて、複数の出力ピクセルの各々は、ディスプレイ処理ユニット(DPU)又はDPUスケーラにおいて処理され得る。
【0087】
[0104] 2070において、DPU2002は、複数の出力ピクセルの各々を処理した後に少なくとも1つの出力画像(例えば、出力画像2072)をディスプレイ又はパネル(例えば、ディスプレイ2006)に送信し得る。
【0088】
[0105] 図21は、本開示の1つ又は複数の技法による、ディスプレイ処理の例示的な方法のフロー図2100である。方法は、ディスプレイ処理の装置、ディスプレイプロセッサ、ワイヤレス通信デバイス、及び/又は図1図20の例に関して使用されるようなディスプレイ処理を実施し得る任意の装置など、DPUによって実施され得る。
【0089】
[0106] 2102において、図1図20の例に関して説明したように、DPUは、各々が複数のピクセルを含む、1つ又は複数の走査窓に関連付けられている、スケーリング動作用の少なくとも1つの入力画像を受信し得る。例えば、図20の2010で説明したように、DPU2002は、各々が複数のピクセルを含む、1つ又は複数の走査窓に関連付けられている、スケーリング動作用の少なくとも1つの入力画像を受信し得る。更に、ステップ2102は、図1のディスプレイプロセッサ127によって実施され得る。いくつかの態様では、1つ又は複数の走査窓は、1つ又は複数のピクセルグリッドであってよい。
【0090】
[0107] 2104において、DPUは、図1図20の例に関して説明したように、1つ又は複数の走査窓の各々の中の複数のピクセル内の1つ又は複数の特徴を検出し得る。例えば、図20の2020で説明したように、DPU2002は、1つ又は複数の走査窓の各々の中の複数のピクセル内の1つ又は複数の特徴を検出し得る。更に、ステップ2104は、図1のディスプレイプロセッサ127によって実施され得る。1つ又は複数の走査窓の各々の中の複数のピクセル内の1つ又は複数の特徴は、1つ若しくは複数のコーナー又は1つ若しくは複数のエッジのうちの少なくとも1つを含み得る。1つ又は複数のコーナーは、1つ又は複数のカテゴリ1のコーナー及び1つ又は複数のカテゴリ2のコーナーを含んでよく、1つ又は複数のカテゴリ1のコーナーは、非回転水平軸及び非回転垂直軸に関連付けられてよく、1つ又は複数のカテゴリ2のコーナーは、45度回転水平軸及び45度回転垂直軸に関連付けられてよい。
【0091】
[0108] 2108において、DPUは、図1図20の例に関して説明したように、検出された1つ又は複数の特徴の各々について1つ又は複数の走査窓の各々の中の複数のピクセルの量を調整し得る。例えば、図20の2040で説明したように、DPU2002は、検出された1つ又は複数の特徴の各々について1つ又は複数の走査窓の各々の中の複数のピクセルの量を調整し得る。更に、ステップ2108は、図1のディスプレイプロセッサ127によって実施され得る。いくつかの態様では、1つ又は複数の走査窓の各々の中の複数のピクセルの量を調整することは、1つ又は複数の走査窓のピクセル解像度を調整し得る。また、1つ又は複数の走査窓の各々の中の複数のピクセルの量の調整は、コーナー補間又はエッジ補間に対応し得る。エッジ補間は、3方向エッジフィルタリングに関連付けられてよく、コーナー補間は、パターンマッチングベースのコーナーフィルタリングに関連付けられてよい。
【0092】
[0109] 2110において、DPUは、図1図20の例に関して説明したように、検出された1つ又は複数の特徴の各々についての調整された量の複数のピクセルを複数の出力ピクセルに結合し得る。例えば、図20の2050で説明したように、DPU2002は、検出された1つ又は複数の特徴の各々についての調整された量の複数のピクセルを複数の出力ピクセルに結合し得る。更に、ステップ2110は、図1のディスプレイプロセッサ127によって実施され得る。検出された1つ又は複数の特徴の各々についての調整された量の複数のピクセルの結合は線形結合であり得る。
【0093】
[0110] 2112において、DPUは、図1図20の例に関して説明したように、複数の出力ピクセルの各々を少なくとも1つの出力画像に処理し得る。例えば、図20の2060で説明したように、DPU2002は、複数の出力ピクセルの各々を少なくとも1つの出力画像に処理し得る。更に、ステップ2112は、図1のディスプレイプロセッサ127によって実施され得る。いくつかの事例では、DPUは、複数の出力ピクセルの各々を走査することができ、複数の出力ピクセルの各々は走査順序で走査され得る。例えば、複数の出力ピクセルの各々を処理することは、複数の出力ピクセルの各々を走査することを含んでよく、複数の出力ピクセルの各々は走査順序で走査され得る。加えて、複数の出力ピクセルの各々は、ディスプレイ処理ユニット(DPU)又はDPUスケーラにおいて処理され得る。
【0094】
[0111] 図22は、本開示の1つ又は複数の技法による、ディスプレイ処理の例示的な方法のフロー図2200である。この方法は、ディスプレイ処理の装置、ディスプレイプロセッサ、ワイヤレス通信デバイス、及び/又は図1図20の例に関して使用されるようなディスプレイ処理を実施し得る任意の装置など、DPUによって実施され得る。
【0095】
[0112] 2202において、DPUは、図1図20の例に関して説明したように、各々が複数のピクセルを含む、1つ又は複数の走査窓に関連付けられている、スケーリング動作用の少なくとも1つの入力画像を受信し得る。例えば、図20の2010で説明したように、DPU2002は、各々が複数のピクセルを含む、1つ又は複数の走査窓に関連付けられている、スケーリング動作用の少なくとも1つの入力画像を受信し得る。更に、ステップ2202は、図1のディスプレイプロセッサ127によって実施され得る。いくつかの態様では、1つ又は複数の走査窓は、1つ又は複数のピクセルグリッドであってよい。
【0096】
[0113] 2204において、DPUは、図1図20の例に関して説明したように、1つ又は複数の走査窓の各々の中の複数のピクセル内の1つ又は複数の特徴を検出し得る。例えば、図20の2020で説明したように、DPU2002は、1つ又は複数の走査窓の各々の中の複数のピクセル内の1つ又は複数の特徴を検出し得る。更に、ステップ2204は、図1のディスプレイプロセッサ127によって実施され得る。1つ又は複数の走査窓の各々の中の複数のピクセル内の1つ又は複数の特徴は、1つ若しくは複数のコーナー又は1つ若しくは複数のエッジのうちの少なくとも1つを含み得る。1つ又は複数のコーナーは、1つ又は複数のカテゴリ1のコーナー及び1つ又は複数のカテゴリ2のコーナーを含んでよく、1つ又は複数のカテゴリ1のコーナーは、非回転水平軸及び非回転垂直軸に関連付けられてよく、1つ又は複数のカテゴリ2のコーナーは、45度回転水平軸及び45度回転垂直軸に関連付けられてよい。
【0097】
[0114] 2206において、DPUは、図1図20の例に関して説明したように、1つ又は複数の走査窓の各々の中の複数のピクセル内の検出された1つ又は複数の特徴の各々についての信頼係数を計算し得る。例えば、図20の2030で説明したように、DPU2002は、1つ又は複数の走査窓の各々の中の複数のピクセル内の検出された1つ又は複数の特徴の各々についての信頼係数を計算し得る。更に、ステップ2206は、図1のディスプレイプロセッサ127によって実施され得る。いくつかの事例では、1つ又は複数の特徴の各々についての信頼係数の計算は、非最大抑制プロセスに対応し得る。1つ又は複数の特徴の各々についての信頼係数は、1つ又は複数の特徴の各々の精度の信頼度に対応し得、信頼係数は0~1の値であり得る。また、調整された量の複数のピクセルの結合は、1つ又は複数の特徴の各々についての信頼係数に基づき得る。更に、1つ又は複数の特徴は、1つ又は複数のコーナー及び1つ又は複数のエッジを含み得、ここで、信頼係数は、1つ又は複数のエッジの各々についてのエッジ強度メトリック及び1つ又は複数のコーナーの各々についてのコーナー強度メトリックであり得る。
【0098】
[0115] 2208において、DPUは、図1図20の例に関して説明したように、検出された1つ又は複数の特徴の各々について1つ又は複数の走査窓の各々の中の複数のピクセルの量を調整し得る。例えば、図20の2040で説明したように、DPU2002は、検出された1つ又は複数の特徴の各々について1つ又は複数の走査窓の各々の中の複数のピクセルの量を調整し得る。更に、ステップ2208は、図1のディスプレイプロセッサ127によって実施され得る。いくつかの態様では、1つ又は複数の走査窓の各々の中の複数のピクセルの量を調整することは、1つ又は複数の走査窓のピクセル解像度を調整し得る。また、1つ又は複数の走査窓の各々の中の複数のピクセルの量の調整は、コーナー補間又はエッジ補間に対応し得る。エッジ補間は、3方向エッジフィルタリングに関連付けられてよく、コーナー補間は、パターンマッチングベースのコーナーフィルタリングに関連付けられてよい。
【0099】
[0116] 2210において、DPUは、図1図20の例に関して説明したように、検出された1つ又は複数の特徴の各々についての調整された量の複数のピクセルを複数の出力ピクセルに結合し得る。例えば、図20の2050で説明したように、DPU2002は、検出された1つ又は複数の特徴の各々についての調整された量の複数のピクセルを複数の出力ピクセルに結合し得る。更に、ステップ2210は、図1のディスプレイプロセッサ127によって実施され得る。検出された1つ又は複数の特徴の各々についての調整された量の複数のピクセルの結合は線形結合であり得る。
【0100】
[0117] 2212において、DPUは、図1図20の例に関して説明したように、複数の出力ピクセルの各々を少なくとも1つの出力画像に処理し得る。例えば、図20の2060で説明したように、DPU2002は、複数の出力ピクセルの各々を少なくとも1つの出力画像に処理し得る。更に、ステップ2212は、図1のディスプレイプロセッサ127によって実施され得る。いくつかの事例では、DPUは、複数の出力ピクセルの各々を走査することができ、複数の出力ピクセルの各々は、走査順序で走査され得る。例えば、複数の出力ピクセルの各々を処理することは、複数の出力ピクセルの各々を走査することを含んでよく、複数の出力ピクセルの各々は走査順序で走査され得る。加えて、複数の出力ピクセルの各々は、ディスプレイ処理ユニット(DPU)又はDPUスケーラにおいて処理され得る。
【0101】
[0118] 2214において、DPUは、図1図20の例に関して説明したように、複数の出力ピクセルの各々を処理した後に少なくとも1つの出力画像をディスプレイ又はパネルに送信し得る。例えば、図20の2070で説明したように、DPU2002は、複数の出力ピクセルの各々を処理した後に少なくとも1つの出力画像をディスプレイ又はパネルに送信し得る。更に、ステップ2214は、図1のディスプレイプロセッサ127によって実施され得る。
【0102】
[0119] 構成では、ディスプレイ処理の方法又は装置が提供される。装置は、DPU、ディスプレイプロセッサ、又はディスプレイ処理を実施し得る何らかの他のプロセッサであってよい。態様では、装置は、デバイス104内のディスプレイプロセッサ127であってよく、又はデバイス104若しくは別のデバイス内の何らかの他のハードウェアであってよい。装置、例えば、ディスプレイプロセッサ127は、各々が複数のピクセルを含む、1つ又は複数の走査窓に関連付けられている、スケーリング動作用の少なくとも1つの入力画像を受信する手段と、1つ又は複数の走査窓の各々中の複数のピクセル内の1つ又は複数の特徴を検出する手段と、検出された1つ又は複数の特徴の各々について1つ又は複数の走査窓の各々の中の複数のピクセルの量を調整する手段と、検出された1つ又は複数の特徴の各々についての調整された量の複数のピクセルを複数の出力ピクセルに結合する手段と、複数の出力ピクセルの各々を少なくとも1つの出力画像に処理する手段と、1つ又は複数の走査窓の各々の中の複数のピクセル内の検出された1つ又は複数の特徴の各々についての信頼係数を計算する手段と、複数の出力ピクセルの各々を処理した後に少なくとも1つの出力画像をディスプレイ又はパネルに送信する手段とを含み得る。
【0103】
[0120] 本明細書で説明する主題は、1つ又は複数の利益又は利点を実現するために実現され得る。例えば、説明するディスプレイ処理技法は、DPU、ディスプレイプロセッサ、又は本明細書で説明するパターンマッチング及びコーナー/エッジフィルタリング技法を実現するためにディスプレイ処理を実施し得る何らかの他のプロセッサによって使用されてよい。このことはまた、他のディスプレイ処理技法と比較して、低コストで達成され得る。その上、本明細書のディスプレイ処理技法は、データの処理又は実行を改善又は加速させることができる。更に、本明細書のディスプレイ処理技法は、リソース若しくはデータの利用及び/又はリソース効率を改善し得る。加えて、本開示の態様は、メモリ帯域幅効率を改善し、かつ/又はDPUにおける処理速度を増加させるために、パターンマッチング及びコーナー/エッジフィルタリング技法を利用し得る。
【0104】
[0121] 開示するプロセス/フロー図におけるブロックの特定の順序又は階層は、例示的な手法の一例である点を理解されたい。設計選好に基づいて、それらのプロセス/フロー図におけるブロックの特定の順序又は階層を再構成することができる点を理解されたい。更に、いくつかのブロックを組み合わせるか、又は省略することもできる。添付の方法請求項は、様々なブロックの要素を、例示的な順序で提示するものであり、提示されている特定の順序又は階層に限定されることを意味するものではない。
【0105】
[0122] 前述の説明は、本明細書で説明する様々な態様を、あらゆる当業者が実践することを可能にするために提供されている。これらの態様に対する様々な修正が、当業者には容易に明らかとなり、本明細書で定義する一般的原理は、他の態様に適用することもできる。したがって、特許請求の範囲は、本明細書に示す態様に限定されるようには意図されておらず、特許請求の範囲の言語に一致する全範囲を与えられるべきであり、単数形での要素への言及は、そのように明記されていない限り、「唯一無二」を意味するようには意図されておらず、むしろ「1つ又は複数」を意味するものである。「例示的(exemplary)」という語は、本明細書では、「例、事例、又は例示としての役割を果たす」という意味で使用される。「例示的」として本明細書で説明するいずれの態様も、必ずしも他の態様よりも好ましい又は有利であると解釈されるべきではない。
【0106】
[0123] 別段に明記されていない限り、「いくつか」という用語は、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つ又は複数の要素を含み得る。当業者に知られているか、又は後に知られるようになる、本開示全体を通じて説明する様々な態様の要素のすべての構造的及び機能的等価物は、参照により本明細書に明示的に組み込まれ、特許請求の範囲によって包含されることが意図される。その上、本明細書で開示するものはいずれも、そのような開示が特許請求の範囲において明示的に列挙されているか否かにかかわらず、公に供されることを意図するものではない。「モジュール」、「機構」、「要素」、「デバイス」などの語は、「手段」という語の代用ではない場合がある。それゆえ、特許請求の範囲のいかなる要素も、その要素が「~する手段」という語句を使用して明示的に列挙されていない限り、ミーンズプラスファンクションとして解釈されるべきではない。
【0107】
[0124] 1つ又は複数の例では、本明細書で説明する機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実現され得る。例えば、「処理ユニット」という用語が本開示全体にわたって使用されているが、そのような処理ユニットは、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せにおいて実装され得る。本明細書で説明する任意の機能、処理ユニット、技法、又は他のモジュールが、ソフトウェアにおいて実装される場合、本明細書で説明するその機能、処理ユニット、技法、又は他のモジュールは、コンピュータ可読媒体上に記憶され、又はその上で1つ若しくは複数の命令若しくはコードとして送信され得る。
【0108】
[0125] 本開示によれば、「又は」という用語は、文脈が別段に規定しない限り、「及び/又は」として解釈され得る。加えて、「1つ又は複数」又は「少なくとも1つの」などの語句が、本明細書で開示するいくつかの特徴に対して使用されており、他の特徴に対しては使用されていないことがあるが、そのような言葉が使用されなかった特徴は、文脈が別段に規定しない限り、そのような示唆される意味を有するものと解釈され得る。
【0109】
[0126] 1つ又は複数の例では、本明細書で説明する機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意組合せにおいて実現され得る。例えば、「処理ユニット」という用語が本開示全体にわたって使用されているが、そのような処理ユニットは、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せにおいて実装され得る。本明細書で説明する任意の機能、処理ユニット、技法、又は他のモジュールがソフトウェアにおいて実装される場合、本明細書で説明するその機能、処理ユニット、技法、又は他のモジュールは、コンピュータ可読媒体上に記憶され、又はその上で1つ若しくは複数の命令若しくはコードとして送信され得る。コンピュータ可読媒体は、コンピュータデータ記憶媒体、又はコンピュータプログラムを1つの場所から別の場所に転送することを容易にする任意の媒体を含む通信媒体を含むことができる。このように、コンピュータ可読媒体は一般に、(1)非一時的である有形コンピュータ可読記憶媒体、又は(2)信号若しくは搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明する技法を実行する命令、コード、及び/又はデータ構造を取り出すために、1つ若しくは複数のコンピュータ又は1つ若しくは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であってよい。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROM又は他の光ディスク記憶装置、磁気ディスク記憶装置又は他の磁気記憶デバイスを備え得る。本明細書で使用するディスク(disk)及びディスク(disc)は、コンパクトディスク(compact disc、CD)、レーザーディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(digital versatile disc、DVD)、フロッピーディスク(disk)、及びBlu-rayディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、一方、ディスク(disc)は、レーザーを用いてデータを光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【0110】
[0127] コードは、1つ又は複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、算術論理ユニット(AGA)、フィールドプログラマブル論理アレイ(FPGA)、又は他の等価な集積論理回路若しくはディスクリート論理回路など、1つ又は複数のプロセッサによって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、上記の構造、又は本明細書で説明する技法の実行に好適な任意の他の構造のいずれかを指すことがある。また、技法は、1つ又は複数の回路又は論理要素において完全に実行されてもよい。
【0111】
[0128] 本開示の技法は、ワイヤレスハンドセット、集積回路(integrated circuit、IC)又はICのセット、例えば、チップセットを含む、多種多様なデバイス又は装置において実行され得る。本開示では、開示する技法を実施するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール又はユニットが説明されているが、それらの構成要素、モジュール又はユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明したように、様々なユニットは、任意のハードウェアユニットの中で結合されてもよく、又は好適なソフトウェア及び/若しくはファームウェアと共に、上記で説明したような1つ又は複数のプロセッサを含む、相互動作可能なハードウェアユニットの集合によって提供されてよい。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、又は本明細書で説明する技法の実行に好適な任意の他の構造のいずれかを指すことがある。また、技法は、1つ若しくは複数の回路又は論理要素において完全に実行され得る。
【0112】
[0129] 以下の態様は、例示的なものにすぎず、限定することなく、本明細書で説明した他の態様又は教示と組み合わされ得る。
【0113】
[0130] 態様1は、メモリに結合された少なくとも1つのプロセッサを含むディスプレイ処理の装置であって、1つ又は複数のプロセッサが、各々が複数のピクセルを含む、1つ又は複数の走査窓に関連付けられている、スケーリング動作用の少なくとも1つの入力画像を受信し、1つ又は複数の走査窓の各々の中の複数のピクセル内の1つ又は複数の特徴を検出し、検出された1つ又は複数の特徴の各々について1つ又は複数の走査窓の各々の中の複数のピクセルの量を調整し、検出された1つ又は複数の特徴の各々についての調整された量の複数のピクセルを複数の出力ピクセルに結合し、複数の出力ピクセルの各々を少なくとも1つの出力画像に処理する、ように構成されている、装置である。
【0114】
[0131] 態様2は、少なくとも1つのプロセッサが、1つ又は複数の走査窓の各々の中の複数のピクセル内の検出された1つ又は複数の特徴の各々についての信頼係数を計算するように更に構成されている、態様1の装置である。
【0115】
[0132] 態様3は、1つ又は複数の特徴の各々についての信頼係数の計算が、非最大抑制プロセスに対応する、態様1又は2の装置である。
【0116】
[0133] 態様4は、1つ又は複数の特徴の各々についての信頼係数が、1つ又は複数の特徴の各々の精度の信頼度に対応し、信頼係数が0~1の値である、態様1から3のいずれかの装置である。
【0117】
[0134] 態様5は、調整された量の複数のピクセルの結合が、1つ又は複数の特徴の各々についての信頼係数に基づく、態様1から4のいずれかの装置である。
【0118】
[0135] 態様6は、1つ又は複数の特徴が、1つ又は複数のコーナー及び1つ又は複数のエッジを含み、信頼係数が、1つ又は複数のエッジの各々についてのエッジ強度メトリック及び1つ又は複数のコーナーの各々についてのコーナー強度メトリックである。態様1から5のいずれかの装置である。
【0119】
[0136] 態様7は、1つ又は複数の走査窓の各々の中の複数のピクセルの量を調整することが、1つ又は複数の走査窓のピクセル解像度を調整する、態様1から6のいずれかの装置である。
【0120】
[0137] 態様8は、1つ又は複数の走査窓の各々の中の複数のピクセルの量の調整が、コーナー補間又はエッジ補間に対応する、態様1から7のいずれかの装置である。
【0121】
[0138] 態様9は、エッジ補間が、3方向エッジフィルタリングに関連付けられており、コーナー補間が、パターンマッチングベースのコーナーフィルタリングに関連付けられている、態様1から8のいずれかの装置である。
【0122】
[0139] 態様10は、1つ又は複数の走査窓の各々の中の複数のピクセル内の1つ又は複数の特徴が、1つ若しくは複数のコーナー又は1つ若しくは複数のエッジのうちの少なくとも1つを含む、態様1から9のいずれかの装置である。
【0123】
[0140] 態様11は、1つ又は複数のコーナーが、1つ又は複数のカテゴリ1のコーナー及び1つ又は複数のカテゴリ2のコーナーを含み、1つ又は複数のカテゴリ1のコーナーが、非回転水平軸及び非回転垂直軸に関連付けられており、1つ又は複数のカテゴリ2のコーナーが、45度回転水平軸及び45度回転垂直軸に関連付けられている、態様1から10のいずれかの装置である。
【0124】
[0141] 態様12は、検出された1つ又は複数の特徴の各々についての調整された量の複数のピクセルの結合が線形結合である、態様1から11のいずれかの装置である。
【0125】
[0142] 態様13は、複数の出力ピクセルの各々を処理するために、少なくとも1つのプロセッサが、複数の出力ピクセルの各々を走査するように構成されており、複数の出力ピクセルの各々が走査順序で走査される、態様1から12のいずれかの装置である。
【0126】
[0143] 態様14は、少なくとも1つのプロセッサが、複数の出力ピクセルの各々を処理した後に少なくとも1つの出力画像をディスプレイ又はパネルに送信するように更に構成されている、態様1から13のいずれかの装置である。
【0127】
[0144] 態様15は、1つ又は複数の走査窓が1つ又は複数のピクセルグリッドである、態様1から14のいずれかの装置である。
【0128】
[0145] 態様16は、複数の出力ピクセルの各々が、ディスプレイ処理ユニット(DPU)又はDPUスケーラにおいて処理される、態様1から15のいずれかの装置である。
【0129】
[0146] 態様17は、少なくとも1つのプロセッサに結合されたアンテナ又はトランシーバのうちの少なくとも1つを更に含む、態様1から16のいずれかの装置である。
【0130】
[0147] 態様18は、態様1から17のいずれかを実行するディスプレイ処理の方法である。
【0131】
[0148] 態様19は、態様1から17のいずれかを実行する手段を含む、ディスプレイ処理の装置である。
【0132】
[0149] 態様20は、コンピュータ実行可能コードを記憶しているコンピュータ可読媒体であって、コードが、少なくとも1つのプロセッサによって実行されたときに、少なくとも1つのプロセッサに、態様1から17のいずれかを実行させる、コンピュータ可読媒体である。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
【国際調査報告】