Variable width interleaved coding for graphics processing

US12223682B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12223682-B2
Application numberUS-202117357038-A
CountryUS
Kind codeB2
Filing dateJun 24, 2021
Priority dateMar 19, 2021
Publication dateFeb 11, 2025
Grant dateFeb 11, 2025

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Variable width interleaved coding for graphics processing is described. An example of an apparatus includes one or more processors including a graphic processor; and memory for storage of data including data for graphics processing, wherein the graphics processor includes an encoder pipeline to provide variable width interleaved coding and a decoder pipeline to decode the variable width interleaved coding, and wherein the encoder pipeline is to receive a plurality of bitstreams from workgroups; perform parallel entropy encoding on the bitstreams to generate a plurality of encoded bitstreams for each of the workgroups; perform variable interleaving of the bitstreams for each workgroup based at least in part on data requirements for decoding received from the decoder pipeline; and compact outputs for each of the workgroups into a contiguous stream of interleaved data.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus comprising: one or more processors including a graphic processor; and memory for storage of data including data for graphics processing; wherein the graphics processor includes an encoder pipeline to provide variable width interleaved coding and a decoder pipeline to decode the variable width interleaved coding, and wherein the encoder pipeline is to: receive a plurality of bitstreams from a plurality of workgroups; perform parallel entropy encoding on the bitstreams to generate a plurality of encoded bitstreams for each of the workgroups; perform variable interleaving of the bitstreams for each workgroup of the plurality of workgroups, wherein a number of data elements that are interleaved for each workgroup in each of a plurality of iterations is based at least in part on current data requirements for decoding for each workgroup received from the decoder pipeline; and compact interleaved bitstream outputs for each of the plurality of workgroups into a contiguous stream of interleaved data. 2. The apparatus of claim 1 , wherein the entropy encoding comprises Huffman coding. 3. The apparatus of claim 1 , wherein the received plurality of bitstreams include Single Instruction Multiple Data (SIMD) bitstreams. 4. The apparatus of claim 1 , wherein: the encoder pipeline includes a plurality of parallel entropy encoders for each of the plurality of workgroups; and the decoder pipeline includes a plurality of parallel entropy decoders for each of the plurality of workgroups. 5. The apparatus of claim 4 , wherein bitstream write patterns produced by the parallel entropy encoders for the plurality of workgroups are to be synchronized with bitstream read patterns of the parallel entropy decoders for the plurality of workgroups. 6. The apparatus of claim 1 , wherein the encoded bitstreams may be of variable lengths. 7. The apparatus of claim 6 , wherein a number of encoded bitstreams that are interleaved in the variable interleaving may vary with each iteration of the encoder pipeline. 8. The apparatus of claim 1 , wherein the decoder pipeline is to: receive the contiguous data stream; provide the current data requirements for decoding for each workgroup to the encoder pipeline; separate the contiguous data stream into a plurality of sets of data based at least in part on the data requirements for decoding for each workgroup provided to the encoder pipeline; and perform parallel entropy decoding of the plurality of sets of data for each workgroup to generate a plurality of bitstreams. 9. The apparatus of claim 8 , wherein the performance of parallel entropy decoding includes use of an entropy code lookup table. 10. The apparatus of claim 1 , wherein the encoder pipeline and the decoder pipeline utilize a kernel workgroup size that is equal to a target SIMD width. 11. One or more non-transitory computer-readable storage mediums having stored thereon executable computer program instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising: receiving a plurality of bitstreams from a plurality of workgroups at an encoder pipeline; performing parallel entropy encoding on the bitstreams to generate a plurality of encoded bitstreams for each of the workgroups; performing variable interleaving of the bitstreams for each workgroup of the plurality of workgroups, wherein a number of data elements that are interleaved for each workgroup in each of a plurality of iterations is based at least in part on current data requirements for decoding received from a decoder pipeline; and compacting interleaved bitstream outputs for each of the plurality of workgroups into a contiguous stream of interleaved data. 12. The one or more storage mediums of claim 11 , wherein: the encoder pipeline includes a plurality of parallel entropy encoders for each of the plurality of workgroups; and the decoder pipeline includes a plurality of parallel entropy decoders for each of the plurality of workgroups. 13. The one or more storage mediums of claim 11 , wherein the encoded bitstreams may be of variable lengths, and wherein a number of encoded bitstreams that are interleaved in the variable interleaving may vary with each iteration of the encoder pipeline. 14. The one or more storage mediums of claim 11 , wherein the instructions further include instructions for: receiving the contiguous data stream at the decoder pipeline; providing the current data requirements for decoding for each workgroup to the encoding pipeline; separating the contiguous data stream into a plurality of sets of data based at least in part on the data requirements for decoding for each workgroup provided to the encoding pipeline; and performing parallel entropy decoding of the plurality of sets of data for each workgroup to generate a plurality of bitstreams. 15. The one or more storage mediums of claim 14 , wherein performing parallel entropy decoding includes use of an entropy code lookup table. 16. A method comprising: receiving a plurality of bitstreams from a plurality of workgroups at an encoder pipeline; performing parallel entropy encoding on the bitstreams to generate a plurality of encoded bitstreams for each of the workgroups; performing variable interleaving of the bitstreams for each workgroup of the plurality of workgroups, wherein a number of data elements that are interleaved for each workgroup in each of a plurality of iterations is based at least in part on current data requirements for decoding received from a decoder pipeline; and compacting interleaved bitstream outputs for each of the workgroups into a contiguous stream of interleaved data. 17. The method of claim 16 , wherein: the encoder pipeline includes a plurality of parallel entropy encoders for each of the plurality of workgroups; and the decoder pipeline includes a plurality of parallel entropy decoders for each of the plurality of workgroups. 18. The method of claim 16 , wherein the encoded bitstreams may be of variable lengths, and wherein a number of encoded bitstreams that are interleaved in the variable interleaving may vary with each iteration of the encoder pipeline. 19. The method of claim 16 , further comprising: receiving the contiguous data stream at the decoder pipeline; providing the current data requirements for decoding for each workgroup to the encoding pipeline; separating the contiguous data stream into a plurality of sets of data based at least in part on the data requirements for decoding for each workgroup provided to the encoding pipeline; and performing parallel entropy decoding of the plurality of sets of data for each workgroup to generate a plurality of bitstreams. 20. The method of claim 19 , wherein performing parallel entropy decoding includes use of an entropy code lookup table.

Assignees

Inventors

Classifications

  • Processor architectures; Processor configuration, e.g. pipelining · CPC title

  • Memory management · CPC title

  • G06T9/005Primary

    Statistical coding, e.g. Huffman, run length coding · CPC title

  • Ray-tracing · CPC title

  • based on statistical description of texture · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12223682B2 cover?
Variable width interleaved coding for graphics processing is described. An example of an apparatus includes one or more processors including a graphic processor; and memory for storage of data including data for graphics processing, wherein the graphics processor includes an encoder pipeline to provide variable width interleaved coding and a decoder pipeline to decode the variable width interle…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06T9/005. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 11 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).