IP Library Granted Patent US 8,675,726
Granted Patent B2
US 8,675,726 · App. 12/707,729 · Granted Mar 18, 2014

Method and encoder for constrained soft-decision quantization in data 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,675,726
App. No.
12/707,729
Granted
Mar 18, 2014
Kind
B2
Abstract

A method of encoding a video using constrained soft-decision quantization. The soft-decision quantization includes first performing hard-decision quantization to obtain hard quantized coefficients and, then, obtaining a soft quantized coefficient using a rate-distortion calculation over a search range of quantization levels for a transform domain coefficient, wherein the search range of quantization levels for that transform domain coefficient is constrained within a number of quantization levels of a corresponding hard quantized coefficient. The search range may be based upon a fixed threshold, the coefficient position, the hard quantized coefficient magnitude, a threshold value less accumulated distortion, or other factors, including combinations of these factors. The accumulated distortion may be measured by an L1 norm.

Claims (29)

1. A method of encoding a video, the video including a block of pixel data, the pixel data for the block having been transformed to a set of transform domain coefficients, the method comprising:

quantizing the set of transform domain coefficients using a quantization step size to obtain a set of hard quantized coefficients, wherein each hard quantized coefficient is an integer-value hard-quantization level to which the coefficient has been quantized;

for each of the transform domain coefficients in the set of transform domain coefficients, without changing the quantization step size or other quantization parameters, performing soft decision quantization to obtain a soft quantized coefficient using a rate-distortion calculation over a search range of quantization levels for that transform domain coefficient, wherein the search range of quantization levels for that transform domain coefficient is a range of integers around the integer-value hard-quantization level and wherein that range is constrained within a number of quantization levels of the hard quantized coefficient, and wherein the number of quantization levels is based on a threshold value less accumulated differences between previous soft quantized coefficients for the set of transform domain coefficients and corresponding hard quantized coefficients; and

entropy encoding the soft quantized coefficients to generate encoded video data.

2. The method claimed in claim 1 , wherein the accumulated differences comprises an L 1 norm between a vector of the previous soft quantized coefficients and a vector of the corresponding hard quantized coefficients.

3. The method claimed in claim 1 , further including building a trellis of costs, wherein the trellis includes a stage for each of the transform domain coefficients, and each stage includes a state for each unique set of coding scheme parameters, and wherein building the trellis includes making connections between states when valid in accordance with the coding scheme, and wherein performing soft decision quantization includes calculating rate-distortion costs for each state in the trellis and selecting a desired quantization level for each state on the basis of realizing a minimum cumulative rate-distortion cost for that state.

4. The method claimed in claim 3 , wherein performing soft-decision quantization includes limiting the calculation of rate-distortion costs for each state on the basis of the search range.

5. The method claimed in claim 4 , further comprising tracing back through the trellis from an end state to the beginning on the basis of realizing a minimum cumulative rate-distortion cost to obtain the soft quantized coefficients.

6. The method claimed in claim 1 , wherein the rate-distortion calculation for a given quantization level includes determining distortion associated with the given quantization level and determining the coding rate impact for the given quantization levels based on a transition from an earlier quantization levels of a previous coefficients in the set of transform domain coefficients.

7. The method claimed in claim 6 , wherein the coding rate impact is based on the coding syntax of the coding scheme to be used for entropy encoding.

8. The method claimed in claim 1 , wherein the number of quantization levels is based on a position of that transform domain coefficient in the set of transform domain coefficients.

9. The method claimed in claim 1 , wherein the number of quantization levels for the search range for that transform domain coefficient is based on the magnitude of the corresponding hard quantized coefficient for that transform domain coefficient.

10. An encoder for encoding a video, the encoder comprising:

a processor;

a memory; and

an encoding application stored in memory and containing instructions for configuring the processor to encode the video by

quantizing the set of transform domain coefficients using a quantization step size to obtain a set of hard quantized coefficients, wherein each hard quantized coefficient is an integer-value hard-quantization level to which the coefficient has been quantized;

for each of the transform domain coefficients in the set of transform domain coefficients, without changing the quantization step size or other quantization parameters, performing soft decision quantization to obtain a soft quantized coefficient using a rate-distortion calculation over a search range of quantization levels for that transform domain coefficient, wherein the search range of quantization levels for that transform domain coefficient a range of integers around the integer-value hard-quantization level and wherein that range is constrained within a number of quantization levels of the hard quantized coefficient, and

entropy encoding the soft quantized coefficients to generate encoded video data,

and wherein the number of quantization levels is based on a threshold value less accumulated differences between previous soft quantized coefficients for the set of transform domain coefficients and corresponding hard quantized coefficients.

11. The encoder claimed in claim 10 , wherein the accumulated differences comprises an L 1 norm between a vector of the previous soft quantized coefficients and a vector of the corresponding hard quantized coefficients.

12. The encoder claimed in claim 11 , wherein the encoding application further configures the processor to build a trellis of costs, wherein the trellis includes a stage for each of the transform domain coefficients, and each stage includes a state for each unique set of coding scheme parameters, and wherein the processor is further configured to make connections between states when valid in accordance with the coding scheme, and wherein the processor is further configured to perform soft decision quantization by calculating rate-distortion costs for each state in the trellis and selecting a desired quantization level for each state on the basis of realizing a minimum cumulative rate-distortion cost for that state.

13. The encoder claimed in claim 12 , wherein the processor is further configured to perform soft-decision quantization by limiting the calculation of rate-distortion costs for each state on the basis of the search range.

14. The encoder claimed in claim 13 , and wherein the processor is further configured to trace back through the trellis from an end state to the beginning on the basis of realizing a minimum cumulative rate-distortion cost to obtain the soft quantized coefficients.

15. The encoder claimed in claim 10 , wherein the processor is further configured to calculate the rate-distortion for a given quantization level by determining distortion associated with the given quantization level and determining the coding rate impact for the given quantization levels based on a transition from an earlier quantization levels of a previous coefficients in the set of transform domain coefficients.

16. The encoder claimed in claim 15 , wherein the coding rate impact is based on the coding syntax of the coding scheme to be used for entropy encoding.

17. The encoder claimed in claim 10 , wherein the number of quantization levels is based on a position of that transform domain coefficient in the set of transform domain coefficients.

18. The encoder claimed in claim 10 , wherein the number of quantization levels for the search range for that transform domain coefficient is based on the magnitude of the corresponding hard quantized coefficient for that transform domain coefficient.

19. A non-transitory computer-readable medium having stored thereon computer-executable instructions which, when executed by a processor, configure the processor to execute the method claimed in claim 1 .

Assignments (6)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064270/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
CHANGE OF NAME Recorded Jan 22, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 032113/0594 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2010
From: ZAN, JINWEN; HE, DAKE
To: SLIPSTREAM DATA INC.
Reel/Frame 025035/0776 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2010
From: YANG, EN-HUI
To: RESEARCH IN MOTION LIMITED
Reel/Frame 025035/0787 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 17, 2010
From: SLIPSTREAM DATA INC.
To: RESEARCH IN MOTION LIMITED
Reel/Frame 024845/0286 →