JP2021501938A - グラフィックスパイプラインにおけるインデックスの圧縮及び復元 - Google Patents
グラフィックスパイプラインにおけるインデックスの圧縮及び復元 Download PDFInfo
- Publication number
- JP2021501938A JP2021501938A JP2020524187A JP2020524187A JP2021501938A JP 2021501938 A JP2021501938 A JP 2021501938A JP 2020524187 A JP2020524187 A JP 2020524187A JP 2020524187 A JP2020524187 A JP 2020524187A JP 2021501938 A JP2021501938 A JP 2021501938A
- Authority
- JP
- Japan
- Prior art keywords
- index
- chunk
- bit
- value
- compressed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/08—Bandwidth reduction
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
Abstract
Description
Claims (20)
- グラフィックスパイプラインによって処理されるプリミティブの複数の頂点のインデックスを表すビットのチャンクにアクセスすることと、
前記チャンクが単調であるか通常であるかを示す第1ビットの値を設定することと、
前記チャンク内のインデックスの値に基づいて決定されるオフセットを定義する第2ビットの値を設定することと、
前記第2ビットによって定義された前記オフセットに基づいて、前記チャンク内の前記インデックスの値を決定する第3ビットのセットの値を設定することと、
前記第1ビットと、前記第2ビットと、前記第3ビットのセットと、によって表される圧縮チャンクをメモリに書き込むことと、
を行うように構成された計算ユニットを備える、
装置。 - 前記計算ユニットは、
インデックスバッファに記憶された前記圧縮チャンクの先頭アドレスを表すメタデータを生成することと、
前記メタデータを前記メモリに書き込むことと、
を行うように構成されている、
請求項1の装置。 - 前記チャンクは、隣接する三角形によって共有されない頂点のインデックスを前記チャンクの前記ビットに追加することによって、連続して隣接するプリミティブを表す単調チャンクであり、前記計算ユニットは、前記第1ビットの値を、前記チャンクが単調であることを示す第1値に設定することを行うように構成されている、
請求項2の装置。 - 前記計算ユニットは、前記第2ビットの値を、次のプリミティブがリスタートインデックスの前のインデックスによって表される前のプリミティブに隣接していないことを示す前記リスタートインデックスではない、前記チャンク内の第1インデックスの値に等しいオフセット値に設定することを行うように構成されている、
請求項3の装置。 - 前記計算ユニットは、前記チャンク内のリスタートインデックスの数を示す前記第3ビットの第1セットの値を設定することと、前記チャンク内の少なくとも1つのリスタートインデックスの少なくとも1つの位置を示す第3ビットの少なくとも1つの他のセットを設定することと、を行うように構成されている、
請求項4の装置。 - 前記計算ユニットは、前記チャンク内のリスタートインデックスの位置を示すビットフィールドを含むメタデータを生成することと、前記第1ビットと、前記第2ビットと、前記ビットフィールドと、を含む前記メタデータを前記メモリに書き込むことと、を行うように構成されている、
請求項4の装置。 - 前記チャンクは、前記プリミティブの全ての頂点のインデックスを使用してプリミティブを表す通常チャンクであり、前記計算ユニットは、前記チャンクが通常であることを示すために、前記第1ビットの値を第2値に設定することを行うように構成されている、
請求項2の装置。 - 前記計算ユニットは、前記第2ビットの値を、前記チャンク内の前記インデックスの最小値に等しいオフセット値に設定することを行うように構成されている、
請求項7の装置。 - 前記計算ユニットは、
前記インデックスの値と前記オフセット値との間の差を表すのに使用されるビットの数を示す第3ビットの第1セットの値を設定することと、
何れかのインデックスがユニークであることと、ユニークインデックスと前記オフセット値との間の差と、を示す第3ビットの少なくとも1つの第2セットの値を設定することと、
少なくとも1つのインデックスがユニークインデックスのリピート値であることと、前記チャンク内の前記ユニークインデックスの相対位置と、を示す第3ビットの少なくとも1つの第3セットの値を設定することと、
を行うように構成されている、
請求項8の装置。 - 前記計算ユニットは、前記圧縮チャンク内のインデックスを復元するのに使用されるレーンを示すビットフィールドを含むメタデータを生成することを行うように構成されており、前記計算ユニットは、前記第1ビットと、前記第2ビットと、前記インデックスの値と前記オフセット値との間の差を表すのに使用されるビットの数を示す第3ビットの第1セットと、前記ビットフィールドと、を含む前記メタデータを前記メモリに書き込むことを行うように構成されている、
請求項8の装置。 - グラフィックスパイプラインによって処理されるプリミティブの頂点のインデックスを記憶するように構成されたインデックスバッファと、
計算ユニットと、を備え、
前記計算ユニットは、
第1圧縮チャンクが単調であるか通常であるかを示す前記第1圧縮チャンク内の第1ビットと、前記第1圧縮チャンク内の前記インデックスの値に基づいて決定されるオフセットを定義する前記第1圧縮チャンク内の第2ビットと、前記第2ビットによって定義された前記オフセットに基づいて前記第1圧縮チャンク内の前記インデックスの値を決定する前記第1圧縮チャンク内の第3ビットのセットと、に基づいて、前記インデックスを表すビットの前記第1圧縮チャンク内のインデックスを復元することと、
前記第1圧縮チャンク内の復元されたインデックスを前記インデックスバッファに書き込むことと、
を行うように構成されている、
装置。 - 前記計算ユニットは、前記第1圧縮チャンクの第1先頭アドレス及び第2圧縮チャンクの第2先頭アドレスを含むメタデータに基づいて、メタデータから、前記第1圧縮チャンクの前記第1ビットと、前記第2ビットと、前記第3ビットのセットと、を識別するように構成されている、
請求項11の装置。 - 前記計算ユニットは、隣接する三角形によって共有されない頂点のインデックスを前記第1圧縮チャンクのビットに追加することによって、前記第1圧縮チャンクが、連続して隣接するプリミティブを表す単調チャンクであると、前記第1ビットに基づいて決定するように構成されており、前記第2ビットの値は、次のプリミティブがリスタートインデックスの前のインデックスによって表される前のプリミティブに隣接していないことを示す前記リスタートインデックスではない、前記第1圧縮チャンク内の第1インデックスの値に等しいオフセット値に設定される、
請求項11の装置。 - 前記第3ビットの第1セットの値は、前記第1圧縮チャンク内のリスタートインデックスの数を示し、前記第3ビットの少なくとも1つの他のセットは、前記第1圧縮チャンク内の少なくとも1つのリスタートインデックスの少なくとも1つの位置を示す、
請求項13の装置。 - 前記計算ユニットは、前記第1圧縮チャンクが、前記プリミティブの全ての頂点のインデックスを使用してプリミティブを表す通常チャンクであると、前記第1ビットに基づいて決定するように構成されており、前記第2ビットは、前記第1圧縮チャンク内の前記インデックスの最小値に等しいオフセット値を示し、前記第3ビットの第1セットは、前記インデックスの値と前記オフセット値との間の差を表すのに使用されるビットの数を示し、前記第3ビットの少なくとも1つの第2セットは、少なくとも1つのインデックスがユニークであることと、ユニークインデックスと前記オフセット値との間の差と、を示し、前記第3ビットの少なくとも1つの第3セットは、少なくとも1つのインデックスがユニークインデックスのリピート値であることと、前記チャンク内のユニークインデックスの相対位置と、を示す、
請求項11の装置。 - グラフィックスパイプラインによって処理されるプリミティブの頂点のインデックスを記憶するように構成されたインデックスバッファと、
複数の計算ユニットと、を備え、
前記複数の計算ユニットは、
圧縮チャンクのメタデータにアクセスすることであって、前記メタデータは、前記圧縮チャンクが単調であるか通常であるかを示す第1ビットと、前記インデックスの値に基づいて決定されるオフセットを定義する第2ビットと、前記インデックスの特性を示すビットフィールドと、を含む、ことと、
前記メタデータに基づいて前記圧縮チャンクを復元することと、
復元されたインデックスを前記インデックスバッファに書き込むことと、
を同時に行うように構成されている、
装置。 - 前記第1ビットは、前記圧縮チャンクが単調圧縮チャンクであることを示し、前記ビットフィールドは、前記圧縮チャンク内のリスタートインデックスの位置を示す、
請求項16の装置。 - 前記第1ビットは、前記圧縮チャンクが通常圧縮チャンクであることを示し、前記ビットフィールドは、前記複数の計算ユニットのうち何れが前記圧縮チャンク内のインデックスを復元するのに使用されるかを示す、
請求項16の装置。 - 前記メタデータは、前記圧縮チャンクの前記インデックスの前記値と前記オフセットとの間の差を表すのに使用されるビットの数を示すフィールドを含む、
請求項18の装置。 - 前記計算ユニットは、メタデータに記憶された前記圧縮チャンクの先頭アドレスに基づいて、前記圧縮チャンク内の圧縮インデックスにアクセスするように構成されており、前記計算ユニットは、前記圧縮インデックスと、前記オフセットと、前記ビットフィールドと、に基づいて、前記圧縮チャンクを復元するように構成されている、
請求項19の装置。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762580795P | 2017-11-02 | 2017-11-02 | |
US62/580,795 | 2017-11-02 | ||
US15/832,131 US10600142B2 (en) | 2017-11-02 | 2017-12-05 | Compression and decompression of indices in a graphics pipeline |
US15/832,131 | 2017-12-05 | ||
PCT/US2018/052836 WO2019089160A1 (en) | 2017-11-02 | 2018-09-26 | Compression and decompression of indices in a graphics pipeline |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021501938A true JP2021501938A (ja) | 2021-01-21 |
JP7138169B2 JP7138169B2 (ja) | 2022-09-15 |
Family
ID=66332245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020524187A Active JP7138169B2 (ja) | 2017-11-02 | 2018-09-26 | グラフィックスパイプラインにおけるインデックスの圧縮及び復元 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10600142B2 (ja) |
EP (1) | EP3704665A4 (ja) |
JP (1) | JP7138169B2 (ja) |
KR (1) | KR102646818B1 (ja) |
CN (1) | CN111279384B (ja) |
WO (1) | WO2019089160A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11073828B2 (en) * | 2017-12-08 | 2021-07-27 | Samsung Electronics Co., Ltd. | Compression of semantic information for task and motion planning |
US11004263B1 (en) * | 2019-05-22 | 2021-05-11 | Parallels International Gmbh | System and method for reading arrays of data by rebuilding an index buffer while preserving order |
US11030792B1 (en) * | 2019-05-22 | 2021-06-08 | Parallel International GmbH | System and method for packing sparse arrays of data while preserving order |
GB2593518B (en) * | 2020-03-26 | 2023-01-04 | Sony Interactive Entertainment Inc | Image coding system and method |
US20220414011A1 (en) * | 2021-06-23 | 2022-12-29 | Intel Corporation | Opportunistic late depth testing to prevent stalling for overlapping cache lines |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003296747A (ja) * | 2002-03-26 | 2003-10-17 | Imagination Technologies Ltd | 3−dコンピュータ・グラフィックス・レンダリングシステム |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6771264B1 (en) * | 1998-08-20 | 2004-08-03 | Apple Computer, Inc. | Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor |
US7671862B1 (en) * | 2004-05-03 | 2010-03-02 | Microsoft Corporation | Systems and methods for providing an enhanced graphics pipeline |
US8068569B2 (en) | 2005-10-05 | 2011-11-29 | Lg Electronics, Inc. | Method and apparatus for signal processing and encoding and decoding |
US7813380B2 (en) * | 2005-10-05 | 2010-10-12 | Lg Electronics Inc. | Method of processing a signal and apparatus for processing a signal |
US8493381B1 (en) * | 2008-04-14 | 2013-07-23 | Google Inc. | Methods and systems for geometry compression |
US8760455B2 (en) | 2009-10-05 | 2014-06-24 | Nvidia Corporation | Restart index that sets a topology |
US9058685B2 (en) | 2010-03-11 | 2015-06-16 | Broadcom Corporation | Method and system for controlling a 3D processor using a control list in memory |
GB201103698D0 (en) * | 2011-03-03 | 2011-04-20 | Advanced Risc Mach Ltd | Graphics processing |
GB201104066D0 (en) * | 2011-03-09 | 2011-04-20 | Imagination Tech Ltd | Compression of a tessellated primitive index list in a tile rendering system |
US9412197B2 (en) * | 2012-04-04 | 2016-08-09 | Qualcomm Incorporated | Patched shading in graphics processing |
GB201313292D0 (en) * | 2013-07-25 | 2013-09-11 | Bifold Fluidpower Ltd | Graphical data representation |
US9536278B2 (en) * | 2013-11-27 | 2017-01-03 | Intel Corporation | Graphics processing of a vertex buffer using a relative index buffer |
US9417911B2 (en) * | 2014-03-12 | 2016-08-16 | Live Planet Llc | Systems and methods for scalable asynchronous computing framework |
US10235338B2 (en) * | 2014-09-04 | 2019-03-19 | Nvidia Corporation | Short stack traversal of tree data structures |
GB2548120B (en) | 2016-03-08 | 2020-09-16 | Advanced Risc Mach Ltd | Graphics processing systems |
-
2017
- 2017-12-05 US US15/832,131 patent/US10600142B2/en active Active
-
2018
- 2018-09-26 KR KR1020207015825A patent/KR102646818B1/ko active IP Right Grant
- 2018-09-26 EP EP18872624.4A patent/EP3704665A4/en active Pending
- 2018-09-26 WO PCT/US2018/052836 patent/WO2019089160A1/en unknown
- 2018-09-26 JP JP2020524187A patent/JP7138169B2/ja active Active
- 2018-09-26 CN CN201880070093.1A patent/CN111279384B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003296747A (ja) * | 2002-03-26 | 2003-10-17 | Imagination Technologies Ltd | 3−dコンピュータ・グラフィックス・レンダリングシステム |
Also Published As
Publication number | Publication date |
---|---|
US10600142B2 (en) | 2020-03-24 |
KR20200067222A (ko) | 2020-06-11 |
CN111279384A (zh) | 2020-06-12 |
JP7138169B2 (ja) | 2022-09-15 |
EP3704665A4 (en) | 2021-08-25 |
WO2019089160A1 (en) | 2019-05-09 |
US20190172173A1 (en) | 2019-06-06 |
KR102646818B1 (ko) | 2024-03-13 |
CN111279384B (zh) | 2023-01-13 |
EP3704665A1 (en) | 2020-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7138169B2 (ja) | グラフィックスパイプラインにおけるインデックスの圧縮及び復元 | |
KR101091374B1 (ko) | 테셀레이션을 단일 패스로 수행하기 위한 방법 및 시스템 | |
US9293109B2 (en) | Technique for storing shared vertices | |
US9418616B2 (en) | Technique for storing shared vertices | |
US11532066B2 (en) | Reduced bandwidth tessellation factors | |
US11948251B2 (en) | Throttling hull shaders based on tessellation factors in a graphics pipeline | |
US11694367B2 (en) | Compressing texture data on a per-channel basis | |
US11609791B2 (en) | Precise suspend and resume of workloads in a processing unit | |
JP7121019B2 (ja) | アウトオブオーダのピクセルシェーダのエクスポート | |
US11004251B2 (en) | Automatic configuration of knobs to optimize performance of a graphics pipeline | |
US11620788B2 (en) | Graphics texture footprint discovery |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200701 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210924 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220719 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220809 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220905 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7138169 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |