IP Library Granted Patent US 9,172,953
Granted Patent B2
US 9,172,953 · App. 14/299,961 · Granted Oct 27, 2015

Compressing image data

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 9,172,953
App. No.
14/299,961
Granted
Oct 27, 2015
Kind
B2
Abstract

Methods, systems, and computer programs for encoding and decoding image are described. In some aspects, an input data block and a prediction data block are accessed. A projection factor is generated based on a projection of the input data block onto the prediction data block. A scaled prediction data block is generated by multiplying the projection factor by the prediction data block. A residual data block is generated based on a difference between the input data block and the scaled prediction data block. In some aspects, a prediction data block, a residual data block, and a projection factor associated with the residual data block are accessed. A scaled prediction data block is generated by multiplying the projection factor by the prediction data block. An output data block is generated by summing the residual data block and the scaled prediction data block.

Claims (46)

1. A non-transitory computer-readable storage medium storing instructions for decoding image data, the instructions operable when executed by data processing apparatus to perform operations comprising:

accessing a prediction data block including prediction data block values;

accessing a residual data block including residual data block values;

accessing a quantized projection factor associated with the residual data block;

de-quantizing the quantized projection factor;

generating summation data block values by summing the prediction data block values and corresponding residual data block values; and

generating output data block values by multiplying the de-quantized projection factor by the summation data block values.

2. The computer-readable storage medium of claim 1 , wherein accessing the residual data block comprises accessing data representing a first plurality of pixels in a transform domain, and accessing the prediction data block comprises accessing data representing a second plurality of pixels in the transform domain.

3. The computer-readable storage medium of claim 2 , wherein the residual data block comprises a first data block ê, the prediction data block comprises a second data block Y, a third data block X includes the output data block values, the de-quantized projection factor comprises a scalar quantity ρ, generating the summation data block values comprises calculating ê+Y, and generating the output data block values comprises calculating X=ρ(ê+Y).

4. The computer-readable storage medium of claim 3 , wherein the first data block ê, the second data block Y, and the third data block X each comprise image data in a transform domain.

5. The computer-readable storage medium of claim 3 , wherein the first data block ê, the second data block Y, and the third data block X each comprise image data in a spatial domain.

6. The computer-readable storage medium of claim 1 , the operations further comprising:

receiving entropy-coded data over a data network; and

generating entropy-decoded data based on the entropy-coded data, wherein the residual data block and the de-quantized projection factor are based on the entropy-decoded data.

7. The computer-readable storage medium of claim 6 , the operations further comprising de-quantizing the entropy-decoded data, wherein the residual data block and the de-quantized projection factor are each based on the de-quantized entropy-decoded data.

8. The computer-readable storage medium of claim 1 , the operations further comprising generating an output image based on the output data block values.

9. A method for decoding image data, the method comprising:

accessing a prediction data block including prediction data block values;

accessing a residual data block including residual data block values;

accessing a quantized projection factor associated with the residual data block;

de-quantizing the quantized projection factor;

generating, by one or more computers, summation data block values by summing the prediction data block values and corresponding residual data block values; and

generating, by one or more computers, output data block values by multiplying the de-quantized projection factor by the summation data block values.

10. The method of claim 9 , wherein the residual data block comprises a first data block ê, the prediction data block comprises a second data block Y, a third data block X includes the output data block values, the de-quantized projection factor comprises a scalar quantity ρ, generating the summation data block values comprises calculating ê+Y, and generating the output data block values comprises calculating X=ρ(ê+Y).

11. The method of claim 10 , wherein the first data block êthe second data block Y, and the third data block X each comprise image data in a transform domain.

12. The method of claim 10 , wherein the first data block ê, the second data block Y, and the third data block X each comprise image data in a spatial domain.

13. The method of claim 9 , further comprising:

receiving entropy-coded data over a data network;

generating entropy-decoded data based on the entropy-coded data, wherein the residual data block and the de-quantized projection factor are each based on the entropy-decoded data; and

de-quantizing the entropy-decoded data, wherein the residual data block and the de-quantized projection factor are each based on the de-quantized entropy-decoded data.

14. The method of claim 9 , further comprising generating an output image based on the output data block values.

15. The method of claim 9 , further comprising determining a precision associated with the quantized projection factor based on the prediction data block.

16. The method of claim 9 , wherein the quantized projection factor includes:

a DC (direct current) projection factor for DC components of the prediction data block; and

an AC (alternating current) projection factor for AC components of the prediction data block.

17. A system for decoding image data, the system comprising:

a memory operable to store a prediction data block including prediction data block values, a residual data block including residual data block values, and a quantized projection factor associated with the residual data block; and

data processing apparatus operable to perform operations comprising:

de-quantizing the quantized projection factor;

generating summation data block values by summing the prediction data block values and corresponding residual data block values; and

generating output data block values by multiplying the de-quantized projection factor by the summation data block values.

18. The system of claim 17 , wherein the residual data block comprises a first data block ê,the prediction data block comprises a second data block Y, a third data block X includes the output data block values, the de-quantized projection factor comprises a scalar quantity ρ, generating the summation data block values comprises calculating ê|Y, and generating the output data block values comprises calculating X=ρ(ê+Y).

19. The system of claim 18 , further comprising a communication interface operable to receive entropy-coded data over a data network, the operations further comprising:

generating entropy-decoded data based on the entropy-coded data, wherein the residual data block and the de-quantized projection factor are each based on the entropy-decoded data; and

de-quantizing the entropy-decoded data, wherein the residual data block and the de-quantized projection factor are each based on the de-quantized entropy-decoded data.

20. The system of claim 18 , the operations further comprising generating an output image based on the output data block values.

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 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 →
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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2015
From: SLIPSTREAM DATA INC.
To: RESEARCH IN MOTION LIMITED
Reel/Frame 036311/0065 →
CHANGE OF NAME Recorded Jun 30, 2015
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 036063/0243 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2014
From: HE, DAKE; YU, XIANG; WANG, JING
To: SLIPSTREAM DATA INC.
Reel/Frame 033447/0830 →