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.
Legal claims defining the scope of protection, as filed with the USPTO.
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.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
August 10, 2006
March 19, 2013
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.