Method and apparatus for compression of graphics processing commands

US11295408B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11295408-B2
Application numberUS-202017033765-A
CountryUS
Kind codeB2
Filing dateSep 26, 2020
Priority dateDec 31, 2019
Publication dateApr 5, 2022
Grant dateApr 5, 2022

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.

Embodiments are generally directed to methods and apparatuses for compression of graphics processing commands. An embodiment of a method for data processing comprising: capturing a first graphics processing command including vertex data; constructing a data array having a plurality of data vectors from the vertex data; determining whether the data array is of a specific data type; in response to the data array being of the specific data type, determining whether a semantic property of the data array is color; and in response to the semantic property being color, determining a plurality of representative data vectors that are different from each other in the plurality of data vectors; constructing a palette array having a plurality of palette vectors each containing data elements of a corresponding one of the plurality of representative data vectors and a palette vector identifier; and generating a modified first graphics processing command by replacing the data array with the palette array and a sequence of palette vector identifiers.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for data processing, comprising: capturing a first graphics processing command including vertex data; constructing a data array having a plurality of data vectors from the vertex data; determining whether the data array is of a specific data type, the specific data type comprising an integer type and a float point type, where a difference between the value of each data element in a data array of the float point type and its rounded value is less than a threshold; in response to the data array being of the specific data type, determining whether a semantic property of the data array is color; and in response to the semantic property being color, determining a plurality of representative data vectors that are different from each other in the plurality of data vectors; constructing a palette array having a plurality of palette vectors each containing data elements of a corresponding one of the plurality of representative data vectors and a palette vector identifier; and generating a modified first graphics processing command by replacing the data array with the palette array and a sequence of palette vector identifiers, wherein a palette vector identifier in the sequence indicating one of the plurality of data vectors corresponding to one of the plurality of palette vectors with the same palette vector identifier. 2. The method of claim 1 , wherein in response to the data array not being of the specific data type, the method comprising: obtaining a maximum-value data element, a minimum-value data element, and a plurality of integer slot numbers corresponding to a plurality of data elements in each column of the data array for transmission, wherein the integer slot number corresponding to a data element is calculated by dividing a difference between the data element and the minimum-value data element by a slot size and rounding the result of the dividing. 3. The method of claim 2 , wherein the slot size being a difference between the maximum-value data element and the minimum-value data element, divided by a specified number, and the specified number being two to the power of a bit length of the integer slot number. 4. The method of claim 1 , wherein in response to the semantic property not being color, the method comprising: rearranging the data array having the plurality of data vectors on a column basis; and compressing the rearranged data array. 5. The method of claim 1 , wherein the semantic property being color when a count of data elements in each of the plurality of data vectors being four and a value of each of three consecutive data elements of the data elements being in a range of 0 to 255. 6. The method of claim 1 , wherein each data element in the data array of the float point type is rounded before the determining of the semantic property. 7. The method of claim 1 , further comprising: capturing a second graphics processing command including texture data; storing a copy of the second graphics processing command to a backup cache; replacing the texture data in the second graphics processing command with a hash code to obtain a modified second graphics processing command for transmission; and retrieving the copy of the second graphics processing command from the backup cache for transmission when receiving a message indicating a cache miss, wherein the modified second graphics processing command having a flag that indicates the texture data has been replaced. 8. The method of claim 1 , further comprising: moving the modified first graphics processing command to a compression pool; compressing all graphics processing commands in the compression pool when a size of the compression pool exceeds a predetermined size; compressing all graphics processing commands in the compression pool when a size of the compression pool does not exceed the predetermined size and the modified first graphics processing command requires a return value; and clearing the compression pool after the compressed graphics processing commands have been transmitted. 9. A system for data processing, comprising: a first memory; and a first processor coupled to the first memory, the first processor to: capture a first graphics processing command including vertex data; construct a data array having a plurality of data vectors from the vertex data; determine whether the data array is of a specific data type, the specific data type comprising an integer type and a float point type, where a difference between the value of each data element in a data array of the float point type and its rounded value is less than a threshold; in response to the data array being of the specific data type, determine whether a semantic property of the data array is color; and in response to the semantic property being color, determine a plurality of representative data vectors that are different from each other in the plurality of data vectors; construct a palette array having a plurality of palette vectors each containing data elements of a corresponding one of the plurality of representative data vectors and a palette vector identifier; and generate a modified first graphics processing command by replacing the data array with the palette array and a sequence of palette vector identifiers, wherein a palette vector identifier in the sequence indicating one of the plurality of data vectors corresponding to one of the plurality of palette vectors with the same palette vector identifier. 10. The system of claim 9 , wherein the first processor further to: obtain a maximum-value data element, a minimum-value data element, and a plurality of integer slot numbers corresponding to a plurality of data elements in each column of the data array for transmission to a second processor in the system in response to the data array not being of the specific data type, wherein the integer slot number corresponding to a data element is calculated by dividing a difference between the data element and the minimum-value data element by a slot size and rounding the result of the dividing, wherein the second processor comprising a graphics processing unit, and the first processor and the second processor are located on separate devices. 11. The system of claim 10 , wherein the second processor being further to: receive the maximum-value data element, the minimum-value data element, and the plurality of integer slot numbers in each column in the data array transmitted by the first processor; and determine each of the plurality of data elements in each column of the data array, wherein the data element is calculated by multiplying an integer slot number with the slot size and adding the minimum-value data element to the result of the multiplication. 12. The system of claim 10 , wherein the slot size being a difference between the maximum-value data element and the minimum-value data element, divided by a specified number, and the specified number being two to the power of a bit length of the integer slot number. 13. The system of claim 9 , wherein the first processor, in response to the semantic property not being color, further to: rearrange the data array having the plurality of data vectors on a column basis; and compress the rearranged data array. 14. The system of claim 9 , wherein the first processor being further to: capture a second graphics processing command including texture data; and replace the texture data in the second graphics processing command with a hash code to obtain a modified second graphics processing command for transmission to a second processor in the system, wherein the second processor comprising a gr

Assignees

Inventors

Classifications

  • of compressed or encrypted instructions · CPC title

  • Image coding (bandwidth or redundancy reduction for static pictures H04N1/41; coding or decoding of static colour picture signals H04N1/64; methods or arrangements for coding, decoding, compressing or decompressing digital video signals H04N19/00) · CPC title

  • G06T1/20Primary

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

  • Memory management · CPC title

  • General purpose rendering architectures · 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 US11295408B2 cover?
Embodiments are generally directed to methods and apparatuses for compression of graphics processing commands. An embodiment of a method for data processing comprising: capturing a first graphics processing command including vertex data; constructing a data array having a plurality of data vectors from the vertex data; determining whether the data array is of a specific data type; in response t…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06T1/20. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 05 2022 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 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).