Selecting transforms for compressing visual data
AssigneeMassachusetts Institute of Technology
InventorsFatih Kamisli, Jae S. Lim
Life of this patent
Estimating the term…
Abstract
Encoding data includes: computing a first set of coefficients based on a plurality of transforms each computed over a different portion of an array of data, a second set of coefficients based on a plurality of transforms each computed over a different portion of the array of data, and a third set of coefficients based on a transform computed over the array of data; choosing a set of coefficients to represent the array of data from a group of multiple sets of coefficients, the group including the first set of coefficients, the second set of coefficients, and the third set of coefficients; and encoding the chosen coefficients and one or more parameters related to the chosen coefficients.
Claims196
A method of encoding data, the method comprising:
- computing a first set of coefficients based on a plurality of transforms each computed over a different portion of an array of data, a second set of coefficients based on a plurality of transforms each computed over a different portion of the array of data, and a third set of coefficients based on a transform computed over the array of data;
- choosing a set of coefficients to represent the array of data from a group of multiple sets of coefficients, the group including the first set of coefficients, the second set of coefficients, and the third set of coefficients;
- and
- encoding the chosen coefficients and one or more parameters related to the chosen coefficients.
A method of encoding blocks of a video residual, the method comprising:
- computing a first set of coefficients based on a plurality of one-dimensional transforms each computed over a different portion of a block, a second set of coefficients based on a plurality of transforms each computed over a different portion of the array of data, and a third set of coefficients based on a two-dimensional transform computed over the block;
- choosing a set of coefficients to represent the block from a group of multiple sets of coefficients, the group including the first set of coefficients, the second set of coefficients, and the third set of coefficients;
- and
- encoding the chosen coefficients and one or more parameters related to the chosen coefficients.
A non-transitory computer-readable medium storing a computer program for encoding data, the computer program comprising instructions for causing a computer system to:
- compute a first set of coefficients based on a plurality of transforms each computed over a different portion of an array of data, a second set of coefficients based on a plurality of transforms each computed over a different portion of the array of data, and a third set of coefficients based on a transform computed over the array of data;
- choose a set of coefficients to represent the array of data from a group of multiple sets of coefficients, the group including the first set of coefficients, the second set of coefficients, and the third set of coefficients;
- and
- encode the chosen coefficients and one or more parameters related to the chosen coefficients.
A method of decoding data that has been encoded using a method comprising computing a first set of coefficients based on a plurality of transforms each computed over a different portion of an array of data, a second set of coefficients based on a plurality of transforms each computed over a different portion of the array of data, and a third set of coefficients based on a transform computed over the array of data, and choosing a set of coefficients to represent the array of data from a group of multiple sets of coefficients, the group including the first set of coefficients, the second set of coefficients, and the third set of coefficients, the method of decoding the data comprising:
- receiving encoded coefficients and one or more parameters related to the encoded coefficients;
- and
- computing an inverse transform on the encoded coefficients to generate the array of data, where the inverse transform is based on a transform indicated by at least one of the parameters related to the encoded coefficients.
A non-transitory computer-readable medium storing a computer program for decoding data that has been encoded using a method comprising computing a first set of coefficients based on a plurality of transforms each computed over a different portion of an array of data, a second set of coefficients based on a plurality of transforms each computed over a different portion of the array of data, and a third set of coefficients based on a transform computed over the array of data, and choosing a set of coefficients to represent the array of data from a group of multiple sets of coefficients, the group including the first set of coefficients, the second set of coefficients, and the third set of coefficients, the computer program comprising instructions for causing a computer system to:
- receive encoded coefficients and one or more parameters related to the encoded coefficients;
- and
- compute an inverse transform on the encoded coefficients to generate the array of data, where the inverse transform is based on a transform indicated by at least one of the parameters related to the encoded coefficients.
A system, comprising:
- a transmitter configured to
- compute a first set of coefficients based on a plurality of transforms each computed over a different portion of an array of data, a second set of coefficients based on a plurality of transforms each computed over a different portion of the array of data, and a third set of coefficients based on a transform computed over the array of data,
- choose a set of coefficients to represent the array of data from a group of multiple sets of coefficients, the group including the first set of coefficients, the second set of coefficients, and the third set of coefficients, and
- encode the chosen coefficients and one or more parameters related to the chosen coefficients;
- and
- one or more receivers, each receiver configured to
- receive encoded coefficients and one or more parameters related to the encoded coefficients from the transmitter, and
- compute an inverse transform on the encoded coefficients to generate the array of data, where the inverse transform is based on a transform indicated by at least one of the parameters related to the encoded coefficients.
Dependencies are inferred from the claim text.