IP Library Patent Application 13416509
Patent Application
App. No. 13/416,509

Method and System Using Prediction and Error Correction for the Compact Representation of Quantization Matrices In Video Compression

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
13/416,509
Abstract

In some implementations, a method for encoding data comprising a matrix of elements for scaling transform coefficients before quantization of the scaled transform coefficients includes generating a sequence of values from the elements of the matrix according to a predetermined order. A plurality of adjacent values in the sequence is generated from respective elements of the matrix. A representation of the data is encoded based at least in part on encoding repeated instances of a specified series of two or more values in the sequence as a corresponding symbol not appearing in the sequence.

Claims (38)

1 . A method for encoding data comprising a matrix of elements for scaling transform coefficients before quantization of the scaled transform coefficients, the method comprising:

generating a sequence of values from the elements of the matrix according to a predetermined order, wherein a plurality of adjacent values in the sequence are generated from respective elements of the matrix; and

encoding a representation of the data based at least in part on encoding repeated instances of a specified series of two or more values in the sequence as a corresponding symbol not appearing in the sequence.

2 . The method of claim 1 , wherein the plurality of adjacent values is arranged parallel to a specified diagonal of the matrix.

3 . The method of claim 1 , wherein generating the sequence of values from the elements of the matrix includes generating at least some of the values based on a difference between two adjacent elements of the matrix.

4 . The method of claim 1 , wherein the representation indicates a set of production rules in the representation of the data, wherein the rules each identify a respective symbol that corresponds to a specified series of values, and rules referencing other rules follow those other rules in the representation.

5 . The method of claim 1 , wherein the representation indicates a set of rules, each rule identifies a respective symbol that corresponds to a specified series of values, and rules referencing other rules follow those other rules in the representation.

6 . An encoder for encoding data comprising a matrix of elements for scaling transform coefficients before quantization of the scaled transform coefficients, the encoder including one or more processors configure to execute instructions comprising:

generating a sequence of values from the elements of the matrix according to a predetermined order, wherein a plurality of adjacent values in the sequence are generated from respective elements of the matrix; and

encoding a representation of the data based at least in part on encoding repeated instances of a specified series of two or more values in the sequence as a corresponding symbol not appearing in the sequence.

7 . The encoder of claim 6 , wherein the plurality of adjacent values is arranged parallel to a specified diagonal of the matrix.

8 . The encoder of claim 6 , wherein generating the sequence of values from the elements of the matrix includes generating at least some of the values based on a difference between two adjacent elements of the matrix.

9 . The encoder of claim 6 , wherein the representation indicates a set of production rules in the representation of the data, wherein the rules each identify a respective symbol that corresponds to a specified series of values, and rules referencing other rules follow those other rules in the representation.

10 . The encoder of claim 6 , wherein the representation indicates a set of rules, each rule identifies a respective symbol that corresponds to a specified series of values, and rules referencing other rules follow those other rules in the representation.

11 . A method for decoding an encoded representation of a matrix of elements for scaling transform coefficients before quantization of the scaled transform coefficients, the method comprising:

decoding the encoded representation to obtain a sequence of values, based at least in part on decoding repeated instances of a specified series of two or more values in the sequence from a corresponding symbol not appearing in the sequence; and

generating a matrix of elements from the sequence of values according to a predetermined order, where a plurality of adjacent values in the sequence are used to generate respective elements of the matrix.

12 . A decoder for decoding an encoded representation of a matrix of elements for scaling transform coefficients before quantization of the scaled transform coefficients, the decoder including one or more processors configured to execute instructions comprising:

decoding the encoded representation to obtain a sequence of values, based at least in part on decoding repeated instances of a specified series of two or more values in the sequence from a corresponding symbol not appearing in the sequence; and

generating a matrix of elements from the sequence of values according to a predetermined order, where a plurality of adjacent values in the sequence are used to generate respective elements of the matrix.

13 . A computer program product for encoding data comprising a matrix of elements for scaling transform coefficients before quantization of the scaled transform coefficients encoded on a non-transitory, tangible storage medium, the product comprising computer readable instructions for causing at least one processor to perform operations comprising:

generating a sequence of values from the elements of the matrix according to a predetermined order, wherein a plurality of adjacent values in the sequence are generated from respective elements of the matrix; and

encoding a representation of the data based at least in part on encoding repeated instances of a specified series of two or more values in the sequence as a corresponding symbol not appearing in the sequence.

14 . A computer program product for decoding an encoded representation of a matrix of elements for scaling transform coefficients before quantization of the scaled transform coefficients encoded on a non-transitory, tangible storage medium, the product comprising computer readable instructions for causing at least one processor to perform operations comprising:

decoding the encoded representation to obtain a sequence of values, based at least in part on decoding repeated instances of a specified series of two or more values in the sequence from a corresponding symbol not appearing in the sequence; and

generating a matrix of elements from the sequence of values according to a predetermined order, where a plurality of adjacent values in the sequence are used to generate respective elements of the matrix.

15 . A method for decoding an encoded representation of a matrix, the method comprising:

decoding the encoded representation to obtain respective parameters for each curve of a plurality of curves;

determining a plurality of subsets of elements for the matrix based, at least in part, on the plurality of curves and the respective parameters; and

generating the matrix based, at least in part, on the plurality of determined subsets, wherein each subset of elements is arranged parallel to a specified diagonal of the matrix.

16 . The method of claim 15 , wherein determining the plurality of subsets of elements includes determining a symmetry of the matrix.

17 . The method of claim 15 , wherein the encoded representation includes residual information identifying deviations of elements from respective curves that approximate the elements.

18 . A decoder for decoding an encoded representation of a matrix, the decoder including one or more processors configured to execute instructions comprising:

decoding the encoded representation to obtain respective parameters for each curve of a plurality of curves;

determining a plurality of subsets of elements for the matrix based, at least in part, on the plurality of curves and the respective parameters; and

generating the matrix based, at least in part, on the plurality of determined subsets, wherein each subset of elements is arranged parallel to a specified diagonal of the matrix.

19 . The decoder of claim 18 , wherein determining the plurality of subsets of elements includes determining a symmetry of the matrix.

20 . The decoder of claim 18 , wherein the encoded representation includes residual information identifying deviations of elements from respective curves that approximate the elements.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2012
From: SLIPSTREAM DATA INC.
To: RESEARCH IN MOTION LIMITED
Reel/Frame 028277/0259 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2012
From: KORODI, GERGELY FERENC; HE, DAKE
To: SLIPSTREAM DATA INC.
Reel/Frame 028112/0668 →