Data processing systems
AssigneeArm Limited
InventorsSamuel Martin, Jakob Axel Fries, Ozgur Ozkurt
Life of this patent
Estimating the term…
Abstract
A data processing system comprises encoding circuitry operable to encode arrays of data elements, decoding circuitry operable to decode encoded versions of arrays of data elements, and consumer circuitry operable to use arrays of data elements. Data indicative of a resolution that is to be used by the consumer circuitry for at least one region of the array of data elements is provided to the encoding circuitry, and the encoding circuitry uses the data indicative of the resolution that is to be used by the consumer circuitry to control the generation of the representation for representing at least one block that the array of data elements is divided into.
Claims25
A method of operating a data processing system, the data processing system comprising:
- producer circuitry operable to generate arrays of data elements;
- encoding circuitry operable to encode arrays of data elements;
- decoding circuitry operable to decode encoded versions of arrays of data elements;
- and
- consumer circuitry operable to use arrays of data elements;
- the method comprising:
- the producer circuitry generating an array of data elements;
- providing to the encoding circuitry the array of data elements;
- the encoding circuitry encoding the array of data elements so as to produce an encoded version of the array of data elements by:
- dividing the array of data elements into plural separate blocks, generating a respective representation for representing each different block that the array of data elements is divided into, and generating data representing each representation in an encoded form so as to represent the array of data elements as an encoded version of the array of data elements;
- the decoding circuitry decoding at least part of the encoded version of the array of data elements to produce a decoded version of the array of data elements;
- and
- the consumer circuitry using at least part of the decoded version of the array of data elements;
- wherein the method further comprises:
- providing to the encoding circuitry data indicative of a resolution that is to be used by the consumer circuitry for at least one region of the array of data elements;
- and
- wherein the encoding circuitry encoding the array of data elements further comprises:
- the encoding circuitry using the data indicative of the resolution that is to be used by the consumer circuitry to control the generation of the representation for representing at least one block that the array of data elements is divided into and the generation of the data representing the representation for representing the at least one block by:
- the encoding circuitry determining whether the data indicative of the resolution indicates that a relatively high resolution is to be used by the consumer circuitry for a region of the array of data elements that corresponds to the at least one block or whether the data indicative of the resolution indicates that a relatively low resolution is to be used by the consumer circuitry for a region of the array of data elements that corresponds to the at least one block;
- and
- when it is determined by the encoding circuitry that the data indicative of the resolution indicates that a relatively high resolution is to be used by the consumer circuitry for a region of the array of data elements that corresponds to the at least one block:
- the encoding circuitry selecting a higher fidelity representation for representing the at least one block, generating the higher fidelity representation for representing the at least one block, and generating data representing the higher fidelity representation in an encoded form;
- and
- when it is determined by the encoding circuitry that the data indicative of the resolution indicates that a relatively low resolution is to be used by the consumer circuitry for a region of the array of data elements that corresponds to the at least one block:
- the encoding circuitry selecting a lower fidelity representation for representing the at least one block, generating the lower fidelity representation for representing the at least one block, and generating data representing the lower fidelity representation in an encoded form.
A method of encoding an array of data elements using encoding circuitry of a data processing system, the method comprising:
- providing to the encoding circuitry the array of data elements;
- the encoding circuitry encoding the array of data elements so as to produce an encoded version of the array of data elements by:
- dividing the array of data elements into plural separate blocks, generating a respective representation for representing each different block that the array of data elements is divided into, and generating data representing each representation in an encoded form so as to represent the array of data elements as an encoded version of the array of data elements;
- wherein the method further comprises:
- providing to the encoding circuitry data indicative of a resolution at which at least one region of the array of data elements is to be used;
- and
- wherein the encoding circuitry encoding the array of data elements further comprises:
- the encoding circuitry using the data indicative of the resolution at which the at least one region of the array of data elements is to be used to control the generation of the representation for representing at least one block that the array of data elements is divided into and the generation of the data representing the representation for representing the at least one block by:
- the encoding circuitry determining whether the data indicative of the resolution indicates that a relatively high resolution is to be used for a region of the array of data elements that corresponds to the at least one block or whether the data indicative of the resolution indicates that a relatively low resolution is to be used for a region of the array of data elements that corresponds to the at least one block;
- and
- when it is determined by the encoding circuitry that the data indicative of the resolution indicates that a relatively high resolution is to be used for a region of the array of data elements that corresponds to the at least one block:
- the encoding circuitry selecting a higher fidelity representation for representing the at least one block, generating the higher fidelity representation for representing the at least one block, and generating data representing the higher fidelity representation in an encoded form;
- and
- when it is determined by the encoding circuitry that the data indicative of the resolution indicates that a relatively low resolution is to be used for a region of the array of data elements that corresponds to the at least one block:
- the encoding circuitry selecting a lower fidelity representation for representing the at least one block, generating the lower fidelity representation for representing the at least one block, and generating data representing the lower fidelity representation in an encoded form.
A data processing system comprising:
- producer circuitry operable to generate arrays of data elements;
- encoding circuitry operable to encode arrays of data elements;
- decoding circuitry operable to decode encoded versions of arrays of data elements;
- and
- consumer circuitry operable to use arrays of data elements;
- wherein:
- the producer circuitry is configured to generate an array of data elements;
- the data processing system is configured to provide to the encoding circuitry the array of data elements;
- the encoding circuitry is configured to encode the array of data elements so as to produce an encoded version of the array of data elements by:
- dividing the array of data elements into plural separate blocks, generating a respective representation for representing each different block that the array of data elements is divided into, and generating data representing each representation in an encoded form so as to represent the array of data elements as an encoded version of the array of data elements;
- the decoding circuitry is configured to decode at least part of the encoded version of the array of data elements to produce a decoded version of the array of data elements;
- and
- the consumer circuitry is configured to use at least part of the decoded version of the array of data elements;
- and wherein:
- the data processing system is configured to provide to the encoding circuitry data indicative of a resolution that is to be used by the consumer circuitry for at least one region of the array of data elements;
- and
- the encoding circuitry is configured to encode the array of data elements by using the data indicative of the resolution that is to be used by the consumer circuitry to control the generation of the representation for representing at least one block that the array of data elements is divided into and the generation of the data representing the representation for representing the at least one block by:
- the encoding circuitry determining whether the data indicative of the resolution indicates that a relatively high resolution is to be used by the consumer circuitry for a region of the array of data elements that corresponds to the at least one block or whether the data indicative of the resolution indicates that a relatively low resolution is to be used by the consumer circuitry for a region of the array of data elements that corresponds to the at least one block;
- and
- when it is determined by the encoding circuitry that the data indicative of the resolution indicates that a relatively high resolution is to be used by the consumer circuitry for a region of the array of data elements that corresponds to the at least one block:
- the encoding circuitry selecting a higher fidelity representation for representing the at least one block, generating the higher fidelity representation for representing the at least one block, and generating data representing the higher fidelity representation in an encoded form;
- and
- when it is determined by the encoding circuitry that the data indicative of the resolution indicates that a relatively low resolution is to be used by the consumer circuitry for a region of the array of data elements that corresponds to the at least one block:
- the encoding circuitry selecting a lower fidelity representation for representing the at least one block, generating the lower fidelity representation for representing the at least one block, and generating data representing the lower fidelity representation in an encoded form.
A data processing system comprising:
- encoding circuitry configured encode an array of data elements so as to produce an encoded version of the array of data elements by:
- dividing the array of data elements into plural separate blocks, generating a respective representation for representing each different block that the array of data elements is divided into, and generating data representing each representation in an encoded form so as to represent the array of data elements as an encoded version of the array of data elements;
- wherein the data processing system is configured to provide to the encoding circuitry the array of data elements and data indicative of a resolution at which at least one region of the array of data elements is to be used;
- and
- the encoding circuitry is configured to encode the array of data elements by using the data indicative of the resolution at which at least one region of the array of data elements is to be used to control the generation of the representation for representing at least one block that the array of data elements is divided into and the generation of the data representing the representation for representing the at least one block by:
- the encoding circuitry determining whether the data indicative of the resolution indicates that a relatively high resolution is to be used for a region of the array of data elements that corresponds to the at least one block or whether the data indicative of the resolution indicates that a relatively low resolution is to be used for a region of the array of data elements that corresponds to the at least one block;
- and
- when it is determined by the encoding circuitry that the data indicative of the resolution indicates that a relatively high resolution is to be used for a region of the array of data elements that corresponds to the at least one block:
- the encoding circuitry selecting a higher fidelity representation for representing the at least one block, generating the higher fidelity representation for representing the at least one block, and generating data representing the higher fidelity representation in an encoded form;
- and
- when it is determined by the encoding circuitry that the data indicative of the resolution indicates that a relatively low resolution is to be used for a region of the array of data elements that corresponds to the at least one block:
- the encoding circuitry selecting a lower fidelity representation for representing the at least one block, generating the lower fidelity representation for representing the at least one block, and generating data representing the lower fidelity representation in an encoded form.
A non-transitory computer readable storage medium storing computer software code which when executing on a processor performs a method of operating a data processing system, the data processing system comprising:
- producer circuitry operable to generate arrays of data elements;
- encoding circuitry operable to encode arrays of data elements;
- decoding circuitry operable to decode encoded versions of arrays of data elements;
- and
- consumer circuitry operable to use arrays of data elements;
- the method comprising:
- the producer circuitry generating an array of data elements;
- providing to the encoding circuitry the array of data elements;
- the encoding circuitry encoding the array of data elements so as to produce an encoded version of the array of data elements by:
- dividing the array of data elements into plural separate blocks, generating a respective representation for representing each different block that the array of data elements is divided into, and generating data representing each representation in an encoded form so as to represent the array of data elements as an encoded version of the array of data elements;
- the decoding circuitry decoding at least part of the encoded version of the array of data elements to produce a decoded version of the array of data elements;
- and
- the consumer circuitry using at least part of the decoded version of the array of data elements;
- wherein the method further comprises:
- providing to the encoding circuitry data indicative of a resolution that is to be used by the consumer circuitry for at least one region of the array of data elements;
- and
- wherein the encoding circuitry encoding the array of data elements further comprises:
- the encoding circuitry using the data indicative of the resolution that is to be used by the consumer circuitry to control the generation of the representation for representing at least one block that the array of data elements is divided into and the generation of the data representing the representation for representing the at least one block by:
- the encoding circuitry determining whether the data indicative of the resolution indicates that a relatively high resolution is to be used by the consumer circuitry for a region of the array of data elements that corresponds to the at least one block or whether the data indicative of the resolution indicates that a relatively low resolution is to be used by the consumer circuitry for a region of the array of data elements that corresponds to the at least one block;
- and
- when it is determined by the encoding circuitry that the data indicative of the resolution indicates that a relatively high resolution is to be used by the consumer circuitry for a region of the array of data elements that corresponds to the at least one block:
- the encoding circuitry selecting a higher fidelity representation for representing the at least one block, generating the higher fidelity representation for representing the at least one block, and generating data representing the higher fidelity representation in an encoded form;
- and
- when it is determined by the encoding circuitry that the data indicative of the resolution indicates that a relatively low resolution is to be used by the consumer circuitry for a region of the array of data elements that corresponds to the at least one block:
- the encoding circuitry selecting a lower fidelity representation for representing the at least one block, generating the lower fidelity representation for representing the at least one block, and generating data representing the lower fidelity representation in an encoded form.
Dependencies are inferred from the claim text.