IP Library › Granted Patent US 8,401,082
Granted Patent B2
US 8,401,082 · App. 11/502,883 · Granted Mar 19, 2013

Methods and systems for refinement coefficient coding in video compression

Inventors: Yan Ye (San Diego, CA); Yiliang Bao (San Diego, CA)
Assignee: QUALCOMM Incorporated
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,401,082
App. No.
11/502,883
Granted
Mar 19, 2013
Kind
B2
Abstract

A method for coding refinement coefficients in a signal-to-noise ratio (SNR) scalable enhancement layer of a compressed video sequence is disclosed. A video sequence is received. A prediction of an original video signal in a current frame is constructed from the video sequence. A residual signal is formed by subtracting the prediction of the original video signal from the original video signal in the current frame. A transform is applied to the residual signal. A plurality of transform coefficients is quantized. A refinement coefficient is mapped to a ternary refinement symbol. Refinement symbols are grouped in a certain coding order. The refinement symbol groups are coded using variable length codes.

Claims (85)

1. A method for coding refinement coefficients in a signal-to-noise ratio (SNR) scalable enhancement layer of a compressed video sequence comprising:

receiving a video sequence;

constructing a predicted video signal in a current frame from the video sequence;

forming a residual signal by subtracting the predicted video signal from the original video signal in the current frame;

applying a transform to the residual signal;

quantizing a plurality of transform coefficients;

mapping a refinement coefficient to a ternary refinement symbol, wherein each ternary refinement symbol has one of three values indicating a change in sign or transition to zero of the refinement coefficient from a first layer to an enhancement layer;

grouping the refinement symbols in a certain coding order; and

coding the refinement symbol groups using variable length codes.

2. The method of claim 1 , further comprising using a variable length coding table adaptively selected for different enhancement layers.

3. The method of claim 1 , further comprising using a variable length coding table adaptively selected based on a probability estimation of the refinement symbols.

4. The method of claim 2 , wherein the selection of a specific variable length coding table is based on a level of an enhancement layer.

5. The method of claim 4 , wherein the selection of the specific variable length coding table is based on whether a coefficient is being refined for the first time or whether the coefficient has been refined in a previous layer.

6. The method of claim 1 , further comprising:

interleaving significant coefficients and refinement coefficients;

identifying a slice that includes a plurality of blocks;

scanning the plurality of blocks before the grouping of the refinement coefficients;

determining an order with which the refinement coefficients will be coded; and

storing the refinement coefficients in a queue according to the order that was determined.

7. The method of claim 1 , further comprising identifying a slice that includes a plurality of blocks.

8. The method of claim 1 , further comprising scanning the plurality of blocks before the grouping of the refinement coefficients.

9. The method of claim 1 , further comprising determining an order with which the refinement coefficients will be coded.

10. The method of claim 1 , further comprising storing the refinement coefficients in a queue according to the order that was determined.

11. The method of claim 1 , wherein every fixed-number of consecutive refinement coefficients are coded together using the variable length coding table.

12. The method of claim 1 , further comprising grouping refinement coefficients of a slice together.

13. The method of claim 1 , further comprising performing a flushing operation.

14. The method of claim 13 , wherein the flushing operation includes adding one or more most probable symbols to one or more refinement symbols to make a complete group.

15. The method of claim 13 , wherein the flushing operation includes using a variable length coding table which is selected based on the number of refinement coefficients to be processed in the flushing operation.

16. The method of claim 1 , wherein the variable length coding table comprises a 27-entry variable length coding table, wherein the group length is three.

17. The method of claim 1 , further comprising using the subband-based coding order on the enhancement layer.

18. An electronic device that is configured to encode refinement coefficients in a signal-to-noise ratio (SNR) scalable enhancement layer of a compressed video sequence, the electronic device comprising:

a processor;

memory in electronic communication with the processor;

instructions stored in the memory, the instructions being executable to:

receive a video sequence;

construct a prediction of an original video signal in a current frame from the video sequence;

form a residual frame by subtracting the prediction of the original video signal from the original video signal in the current frame;

apply a transform to the residual signal;

quantize a plurality of transform coefficients;

map a refinement coefficient to a ternary refinement symbol, wherein each ternary refinement symbol has one of three values indicating a change in sign or transition to zero of the refinement coefficient from a first layer to an enhancement layer;

group refinement symbols in a certain coding order; and

code the refinement symbol groups using variable length codes.

19. The electronic device of claim 18 , wherein the instructions are further executable to use a variable length coding table adaptively selected for different enhancement layers.

20. The electronic device of claim 18 , wherein the electronic device is configured to interleave significant coefficients and refinement coefficients, and wherein the instructions are further executable to:

identify a slice that includes a plurality of blocks;

scan the plurality of blocks before the grouping of the refinement coefficients;

determine an order with which the refinement coefficients will be coded; and

store the refinement coefficients in a queue according to the order that was determined.

21. A non-transitory computer-readable medium comprising executable instructions for coding refinement coefficients in a signal-to-noise ratio (SNR) scalable enhancement layer of a compressed video sequence, the instructions comprising:

receiving a video sequence;

constructing a prediction of an original video signal in a current frame from the video sequence;

forming a residual signal by subtracting the prediction of the original video signal from the original video signal in the current frame;

applying a transform to the residual signal;

quantizing a plurality of transform coefficients;

mapping a refinement coefficient to a ternary refinement symbol, wherein each ternary refinement symbol has one of three values indicating a change in sign or transition to zero of the refinement coefficient from a first layer to an enhancement layer;

grouping refinement symbols in a certain coding order; and

coding the refinement symbol groups using variable length codes.

22. A method for decoding refinement coefficients in an encoded video sequence comprising:

receiving an encoded video sequence;

decoding ternary refinement symbols using a variable length coding table, wherein each ternary refinement symbol has one of three values indicating a change in sign or transition to zero of the refinement coefficient from a first layer to an enhancement layer;

decoding refinement coefficients using the ternary refinement symbols, wherein the refinement coefficients were grouped in a certain coding order;

dequantizing a plurality of transform coefficients;

applying an inverse transform to a refinement signal; and

constructing a video sequence.

23. The method of claim 22 , further comprising using different variable length coding tables adaptively selected for different enhancement layers.

24. The method of claim 22 , wherein the encoded video stream includes interleaved significant symbols and refinement symbols, further comprising:

storing a location of the refinement coefficient being requested;

storing a sign of the corresponding base layer coefficient; and

incrementing a counter that relates to a number of requests made.

25. The method of claim 24 , further comprising:

determining if the counter reaches a predefined count; and

invoking a read operation and causing normal variable length coding table decoding to obtain a group of refinement symbols.

26. The method of claim 25 , further comprising storing the group of refinement symbols to the corresponding locations as previously stored.

27. The method of claim 22 , further comprising performing a flushing operation.

28. The method of claim 27 , wherein the flushing operation includes discarding padded symbols.

29. The method of claim 27 , wherein the flushing operation includes using a variable length coding table which is selected based on the number of refinement coefficients to be processed in the flushing operation.

30. An electronic device that is configured to encode refinement coefficients in a signal-to-noise ratio (SNR) scalable enhancement layer of a compressed video sequence, the electronic device comprising:

means for receiving a video sequence;

means for constructing a prediction of an original video signal in a current frame from the video sequence;

means for forming a residual frame by subtracting the prediction of the original video signal from the original video signal in the current frame;

means for applying a transform to the residual signal;

means for quantizing a plurality of transform coefficients;

means for mapping a refinement coefficient to a ternary refinement symbol, wherein each ternary refinement symbol has one of three values indicating a change in sign or transition to zero of the refinement coefficient from a first layer to an enhancement layer;

means for grouping refinement symbols in a certain coding order; and

means for coding the refinement symbol groups using variable length codes.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2006
From: YE, YAN; BAO, YILIANG
To: QUALCOMM INCORPORATED
Reel/Frame 018537/0488 →
Continuity (3)
Provisional Application 60786800 · Mar 27, 2006
Provisional Application 60830199 · Jul 11, 2006
Related Publication 20070223580A1 · Sep 27, 2007