Adaptive selection of quantization scales for video encoding
First Claim
1. A method for encoding frames of a video sequence, comprising the steps of:
- (a) generating a metric characterizing quantization levels corresponding to a set of image data in the video sequence;
(b) comparing the metric to one or more specified thresholds to select a quantization scale for a current frame in the video sequence; and
(c) encoding the current frame using the selected quantization scale, wherein;
the quantization scale is one of a linear quantization scale and a non-linear quantization scale;
the linear quantization scale represents a set of quantization levels forming a linear progression; and
the non-linear quantization scale represents a set of quantization levels forming a non-linear progression, wherein step (b) comprises the steps of;
(1) comparing the metric to a low threshold and to a high threshold; and
(2) selecting a first quantization scale, if the metric is between the low and high thresholds;
otherwise, selecting a second quantization scale.
1 Assignment
0 Petitions
Accused Products
Abstract
The quantization scale selected for encoding the current frame of a video sequence is selected based on a metric generated based on a set of image data in the video sequence. For example, in MPEG encoding, the linear quantization scale is selected for use in encoding the current frame if the average quantization level used to encode the previously encoded frame is between specified high and low thresholds. Otherwise, the non-linear quantization scale is selected. As a result, medium-difficulty sequences will tend to be encoded using the linear quantization scale, while low- and high-difficulty sequences will tend to be encoded using the non-linear quantization scale. For most normal video sequences, this will result in fewer incidents of panic mode video compression processing and improved picture quality.
68 Citations
24 Claims
-
1. A method for encoding frames of a video sequence, comprising the steps of:
-
(a) generating a metric characterizing quantization levels corresponding to a set of image data in the video sequence;
(b) comparing the metric to one or more specified thresholds to select a quantization scale for a current frame in the video sequence; and
(c) encoding the current frame using the selected quantization scale, wherein;
the quantization scale is one of a linear quantization scale and a non-linear quantization scale;
the linear quantization scale represents a set of quantization levels forming a linear progression; and
the non-linear quantization scale represents a set of quantization levels forming a non-linear progression, wherein step (b) comprises the steps of;
(1) comparing the metric to a low threshold and to a high threshold; and
(2) selecting a first quantization scale, if the metric is between the low and high thresholds;
otherwise, selecting a second quantization scale.- View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
step (a) comprises the step of generating the metric based on the quantization levels used to encode a previously encoded frame in the video sequence, wherein the metric is an average quantization level for the previously encoded frame;
the first quantization scale is an MPEG linear quantization scale and the second quantization scale is an MPEG non-linear quantization scale; and
step (b) comprises the step of selecting one or more quantization levels in the selected quantization scale for quantizing DCT coefficients for the current frame.
-
-
18. The invention of claim 1, wherein the metric is generated from the quantization levels corresponding to the set of image data in the video sequence.
-
19. The invention of claim 1, wherein:
-
the linear quantization scale comprises 31 quantization levels consisting of 2 to 62 in increments of 2; and
the non-linear quantization scale comprises 31 quantization levels consisting of 1 to 8 in increments of 1, 8 to 24 in increments of 2, 24 to 56 in increments of 4, and 56 to 112 in increments of 8.
-
-
20. An apparatus for encoding frames of a video sequence, comprising:
-
(a) means for generating a metric characterizing quantization levels corresponding to a set of image data in the video sequence;
(b) means for comparing the metric to one or more specified thresholds to select a quantization scale for a current frame in the video sequence; and
(c) means for encoding the current frame using the selected quantization scale, wherein;
the quantization scale is one of a linear quantization scale and a non-linear quantization scale;
the linear quantization scale represents a set of quantization levels forming a linear progression; and
the non-linear quantization scale represents a set of quantization levels forming a non-linear progression, wherein means (b) comprises;
(1) means for comparing the metric to a low threshold and to a high threshold; and
(2) means for selecting a first quantization scale, if the metric is between the low and high thresholds;
otherwise, selecting a second quantization scale.
-
-
21. A machine-readable medium, having encoded thereon program code, wherein, when the program code is executed by a machine, the machine implements a method for encoding frames of a video sequence, comprising the steps of:
-
(a) generating a metric characterizing quantization levels corresponding to a set of image data in the video sequence;
(b) comparing the metric to one or more specified thresholds to select a quantization scale for a current frame in the video sequence; and
(c) encoding the current frame using the selected quantization scale, wherein;
the quantization scale is one of a linear quantization scale and a non-linear quantization scale;
the linear quantization scale represents a set of quantization levels forming a linear progression; and
the non-linear quantization scale represents a set of quantization levels forming a non-linear progression, wherein step (b) comprises the steps of;
(1) comparing the metric to a low threshold and to a high threshold; and
(2) selecting a first quantization scale, if the metric is between the low and high thresholds;
otherwise, selecting a second quantization scale.
-
-
22. A method for encoding frames of a video sequence, comprising the steps of:
-
(a) generating a metric characterizing quantization levels corresponding to a set of image data in the video sequence;
(b) comparing the metric to one or more specified thresholds to select a quantization scale for a current frame in the video sequence; and
(c) encoding the current frame using the selected quantization scale, wherein step (b) comprises the steps of;
(1) comparing the metric to a low threshold and to a high threshold; and
(2) selecting a first quantization scale, if the metric is between the low and high thresholds;
otherwise, selecting a second quantization scale.- View Dependent Claims (23, 24)
-
Specification