Encoding data arrays
AssigneeArm Limited
InventorsJonas Christensson Cremon, Hui Chen, Dominic Hugo Symes
Life of this patent
Estimating the term…
Abstract
When encoding an array of data elements of a stream of arrays of data elements, a number of bits used in the output bitstream to encode a previous array of data elements in the stream of arrays of data elements is estimated based on an amount of intermediate data generated for that previous array of data elements by the encoding process. A value of an encoding parameter to use when encoding the array of data elements being encoded is then selected based on the estimated number of bits used in the output bitstream to encode the previous array of data elements and a target output bit rate for the output bitstream produced when encoding the stream of arrays of data elements.
Claims23
A method of encoding arrays of data elements of a stream of arrays of data elements, in which each array of data elements is encoded by generating a set of intermediate data representing the array of data elements and then encoding the set of intermediate data to provide an output bitstream representing the array of data elements in an encoded form, the method comprising:
- when encoding an array of data elements to be encoded of a stream of arrays of data elements:
- estimating a number of bits used in the output bitstream to encode a previous array of data elements in the stream of arrays of data elements being encoded, based on an amount of intermediate data generated for that previous array of data elements by the encoding process;
- selecting a value of an encoding parameter to use when encoding the array of data elements to be encoded based on the estimated number of bits used in the output bitstream to encode the previous array of data elements and a target output bit rate for the output bitstream produced when encoding the stream of arrays of data elements;
- and
- encoding the array of data elements to be encoded using the selected value of the encoding parameter.
An apparatus for encoding arrays of data elements of a stream of arrays of data elements, the apparatus comprising:
- encoding circuitry operable to encode an array of data elements by generating a set of intermediate data representing the array of data elements, and then encoding the set of intermediate data to provide an output bitstream representing the array of data elements in an encoded form;
- the apparatus further comprising output bitstream rate control circuitry comprising:
- bit number estimating circuitry operable to estimate a number of bits used in an output bitstream to encode a previous array of data elements in a stream of arrays of data elements being encoded, based on an amount of intermediate data generated for that previous array of data elements by the encoding circuitry;
- and
- encoding parameter selecting circuitry operable to:
- select a value of an encoding parameter to use when encoding an array of data elements to be encoded based on an estimated number of bits used in the output bitstream to encode a previous array of data elements estimated by the bit number estimating circuitry and a target output bit rate for an output bitstream produced when encoding a stream of arrays of data elements;
- and
- to cause the encoding circuitry to encode an array of data elements to be encoded using the selected value of the encoding parameter.
A computer readable storage medium storing computer software code which when executing on a processor performs a method of encoding arrays of data elements of a stream of arrays of data elements, in which each array of data elements is encoded by generating a set of intermediate data representing the array of data elements and then encoding the set of intermediate data to provide an output bitstream representing the array of data elements in an encoded form, the method comprising:
- when encoding an array of data elements to be encoded of a stream of arrays of data elements:
- estimating a number of bits used in the output bitstream to encode a previous array of data elements in the stream of arrays of data elements being encoded, based on an amount of intermediate data generated for that previous array of data elements by the encoding process;
- selecting a value of an encoding parameter to use when encoding the array of data elements to be encoded based on the estimated number of bits used in the output bitstream to encode the previous array of data elements and a target output bit rate for the output bitstream produced when encoding the stream of arrays of data elements;
- and
- encoding the array of data elements to be encoded using the selected value of the encoding parameter.
Dependencies are inferred from the claim text.