IP Library Granted Patent US 8,768,080
Granted Patent B2
US 8,768,080 · App. 13/334,345 · Granted Jul 1, 2014

Coding of residual data in predictive compression

View Patent ↗
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 8,768,080
App. No.
13/334,345
Granted
Jul 1, 2014
Kind
B2
Abstract

Encoding input data includes: generating a first block of coefficients based on a transform performed on a residual block of data for multiple pixels; generating reference information based on a reference block of data corresponding to the residual block of data; and determining losslessly decodable code values representing the first block of coefficients based on the reference information.

Claims (31)

1. A method for decoding encoded input data including one or more code values, the method comprising:

generating reference information based on a reference block of data corresponding to a residual block of data;

losslessly decoding code values to generate a first block of coefficients based on the reference information, wherein losslessly decoding code values to generate a first block of coefficients based on the reference information comprises determining portions of a first block of coefficients based on respective portions of a received code value and at least one value derived from at least a portion of the reference information;

generating the residual block of data based on an inverse-transform performed on the first block of coefficients; and

generating a block of data for multiple pixels in a reconstructed frame based on a sum of the reference block of data and the residual block of data.

2. The method of claim 1 , wherein determining the portions of the first block of coefficients based on respective portions of a received code value and at least one value derived from at least a portion of the reference information comprises determining the portions based on respective estimated probabilities estimated according to:

one or more previously decoded code values, and

the at least one value.

3. The method of claim 2 , wherein the estimated probability for determining a first portion of the first block of coefficients is based on a value stored in a data structure at a location identified by an index that depends on: a position within the first block of coefficients, and the at least one value.

4. The method of claim 3 , wherein the position within the first block of coefficients comprises a position in a one-dimensional ordering of the coefficients in the first block of coefficients.

5. The method of claim 3 , further comprising updating a value stored at a first location in the data structure based on: a value previously stored at the first location associated with the one or more previously decoded code values, and a value of a symbol representing the first portion of the first block of coefficients.

6. The method of claim 2 , wherein the estimated probability for determining a first portion of the first block of coefficients comprises a conditional probability that a symbol representing the first portion of the first block of coefficients has a particular symbol value given the one or more previously decoded code values and the at least one value.

7. The method of claim 6 , wherein the symbol representing the first portion of the first block of coefficients comprises a binary symbol determined according to a value of a coefficient in the first block of coefficients in a particular position with respect to a transform domain of the first block of coefficients.

8. The method of claim 2 , wherein the reference information based on the reference block of data comprises a second block of coefficients based on a transform performed on the reference block of data.

9. The method of claim 8 , wherein the at least one value according to which a particular probability is being estimated comprises a value based on a coefficient in the second block of coefficients that has a position within the second block of coefficients that corresponds to a position of a coefficient within the first block of coefficients for which the particular probability is being estimated.

10. The method of claim 8 , wherein the at least one value comprises a value based on a number of non-zero coefficients in the second block of coefficients.

11. The method of claim 1 , wherein a set of codewords for losslessly decoding at least one of the code values is based on information stored in a data structure at a location identified by an index that depends on: a position within the first block of coefficients, and the at least one value.

12. The method of claim 11 , wherein the position within the first block of coefficients comprises a position in a one-dimensional ordering of the coefficients in the first block of coefficients.

13. The method of claim 1 , wherein the code values are decoded using a coding scheme selected from the group consisting of: arithmetic coding, and Huffman coding.

14. A non-transitory computer readable storage medium storing a computer program for decoding encoded input data including one or more code values, the computer program including instructions for causing a computer system to:

generate reference information based on a reference block of data corresponding to a residual block of data;

losslessly decode code values to generate a first block of coefficients based on the reference information, wherein instructions to losslessly decode code values to generate a first block of coefficients based on the reference information comprises instructions to determine portions of a first block of coefficients based on respective portions of a received code value and at least one value derived from at least a portion of the reference information;

generate the residual block of data based on an inverse-transform performed on the first block of coefficients; and

generate a block of data for multiple pixels in a reconstructed frame based on a sum of the reference block of data and the residual block of data.

15. An apparatus for decoding encoded input data including one or more code values, the apparatus comprising:

a memory configured to buffer one or more frames reconstructed from the input data; and

at least one processor coupled to the memory and configured to process the input data based on the one or more frames buffered in the memory, the processing including:

generating reference information based on a reference block of data corresponding to a residual block of data;

losslessly decoding code values to generate a first block of coefficients based on the reference information, wherein losslessly decoding code values to generate a first block of coefficients based on the reference information comprises determining portions of a first block of coefficients based on respective portions of a received code value and at least one value derived from at least a portion of the reference information;

generating the residual block of data based on an inverse-transform performed on the first block of coefficients; and

generating a block of data for multiple pixels in a reconstructed frame based on a sum of the reference block of data and the residual block of data.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE ADDED PATENT NUMBER TO REMOVE PATENT NO. 8,873,407 AT PREVIOUSLY RECORDED ON REEL 64066 FRAME 1. ASSIGNOR(S) HEREBY CONFIRMS THE NUNC PRO TUNC ASSIGNMENT EFFECTIVE DATE MARCH 20, 2023. Recorded Feb 2, 2026
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 074921/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE COVER SHEET AT PAGE 50 TO REMOVE 12817157 PREVIOUSLY RECORDED ON REEL 063471 FRAME 0474. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 5, 2023
From: BLACKBERRY LIMITED
To: OT PATENT ESCROW, LLC
Reel/Frame 064806/0669 →
CORRECTIVE ASSIGNMENT TO CORRECT 12817157 APPLICATION NUMBER PREVIOUSLY RECORDED AT REEL: 064015 FRAME: 0001. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 5, 2023
From: OT PATENT ESCROW, LLC
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064807/0001 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064066/0001 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 16, 2023
From: OT PATENT ESCROW, LLC
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064015/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2023
From: BLACKBERRY LIMITED
To: OT PATENT ESCROW, LLC
Reel/Frame 063471/0474 →
CHANGE OF NAME Recorded Apr 29, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 032784/0944 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2012
From: SLIPSTREAM DATA INC.
To: RESEARCH IN MOTION LIMITED
Reel/Frame 028042/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2012
From: HE, DAKE; MENG, JIN
To: SLIPSTREAM DATA INC.
Reel/Frame 027580/0531 →