Quantizer selection based on region complexities derived using a rate distortion model
First Claim
1. A method for encoding a current frame in a video sequence, comprising the steps of:
- (a) segmenting the current frame into one or more different regions;
(b) generating an encoding complexity measure for each corresponding region of a previously encoded frame in the video sequence;
(c) using the encoding complexity measure for each region of the previous frame to select a quantization level for the corresponding region of the current frame;
(d) applying a temporal constraint to modify the selected quantization level for at least one region of the current frame, wherein the temporal constraint imposes an absolute upper limit on magnitude of change in quantization level from one region in the previous frame to the corresponding region in the current frame; and
(e) encoding the current frame using the one or more modified quantization levels, wherein;
the temporal constraint when quantization level is increasing from the previous frame to the current frame is different from the temporal constraint when quantization level is decreasing from the previous frame to the current frame; and
the temporal constraint allows greater percentage increases in quantization level than percentage decreases from the previous frame to the current frame.
2 Assignments
0 Petitions
Accused Products
Abstract
For video compression processing, each frame in a video sequence is segmented into one or more different regions, where the macroblocks of each region are to be encoded using the same quantizer value, but the quantizer value can vary between regions in a frame. For example, for the videophone or video-conferencing paradigm of one or more “talking heads” in front of a relatively static background, each frame is segmented into a foreground region corresponding to the talking head, a background region corresponding to the static background, and an intervening transition region. An encoding complexity measure is generated for each macroblock of the previous frame using a (e.g., first-order) rate distortion model and the resulting macroblock-level encoding complexities are used to generate an average encoding complexity for each region. These region complexities are then used to select quantizer values for each region in the current frame, e.g., iteratively until the target bit rate for the frame is satisfied to within a specified tolerance range. The selected quantizer values may be modified based on spatial and/or temporal constraints to satisfy spatial requirements of the video compression algorithm and/or to provide temporal smoothness in quality, respectively.
-
Citations
30 Claims
-
1. A method for encoding a current frame in a video sequence, comprising the steps of:
-
(a) segmenting the current frame into one or more different regions;
(b) generating an encoding complexity measure for each corresponding region of a previously encoded frame in the video sequence;
(c) using the encoding complexity measure for each region of the previous frame to select a quantization level for the corresponding region of the current frame;
(d) applying a temporal constraint to modify the selected quantization level for at least one region of the current frame, wherein the temporal constraint imposes an absolute upper limit on magnitude of change in quantization level from one region in the previous frame to the corresponding region in the current frame; and
(e) encoding the current frame using the one or more modified quantization levels, wherein;
the temporal constraint when quantization level is increasing from the previous frame to the current frame is different from the temporal constraint when quantization level is decreasing from the previous frame to the current frame; and
the temporal constraint allows greater percentage increases in quantization level than percentage decreases from the previous frame to the current frame. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
7. The invention of claim 6, wherein the distortion measure S is based on a sum of absolute differences (SAD) measure.
-
8. The invention of claim 6, wherein the encoding complexity measure for each region in the previous frame is generated by averaging the encoding complexity measure X for all of the macroblocks in the region.
-
9. The invention of claim 1, wherein the encoding complexity measure for each region in the previous frame is generated based on:
-
10. The invention of claim 9, wherein:
the distortion measure S is based on a sum of absolute differences (SAD) measure; and
the constant C is about 2.5.
-
11. The invention of claim 9, wherein the encoding complexity measure for each region in the previous frame is generated by averaging the encoding complexity measure X for all of the macroblocks in the region.
-
12. The invention of claim 1, wherein step (c) comprises the step of iteratively selecting one or more different quantization levels for each region until a frame target bit rate is satisfied to within a specified tolerance range according to:
-
13. The invention of claim 1, wherein a spatial constraint is applied to ensure that a magnitude of change in quantization level from one macroblock to a next macroblock in the current frame following a raster scan pattern is not greater than a specified maximum spatial change in quantization level.
-
14. The invention of claim 3, wherein:
-
the quantization level selected for the foreground region is constrained to be less than or equal to the quantization level selected for the transition region; and
the quantization level selected for the transition region is constrained to be less than or equal to the quantization level selected for the background region.
-
-
15. A machine-readable medium having encoded thereon program code, wherein, when the program code is executed by a machine, the machine implements the steps of:
-
(a) segmenting the current frame into one or more different regions;
(b) generating an encoding complexity measure for each corresponding region of a previously encoded frame in the video sequence;
(c) using the encoding complexity measure for each region of the previous frame to select a quantization level for the corresponding region of the current frame;
(d) applying a temporal constraint to modify the selected quantization level for at least one region of the current flame, wherein the temporal constraint imposes an absolute upper limit on magnitude of change in quantization level from one region in the previous frame to the corresponding region in the current frame; and
(e) encoding the current frame using the one or more modified quantization levels, wherein;
the temporal constraint when quantization level is increasing from the previous frame to the current frame is different from the temporal constraint when quantization level is decreasing from the previous from to the current frame; and
the temporal constraint allows greater percentage increases in quantization level than percentage decreases from the previous frame to the current frame. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29)
the quantization level selected for the foreground region is constrained to be less than or equal to the quantization level selected for the transition region; and
the quantization level selected for the transition region is constrained to be less than or equal to the quantization level selected for the background region.
-
-
25. The invention of claim 15, wherein the encoding complexity measure is based on a first-order temporal prediction model.
-
26. The invention of claim 15, wherein the encoding complexity measure for each region in the previous frame is generated based on:
-
27. The invention of claim 15, wherein the encoding complexity measure for each region in the previous frame is generated based on:
-
28. The invention of claim 15, wherein step (c) comprises the step of iteratively selecting one or more different quantization levels for each region until a frame target bit rate is satisfied to within a specified tolerance range according to:
-
29. The invention of claim 15, wherein a spatial constraint is applied to ensure that a magnitude of change in quantization level from one macroblock to a next macroblock following a raster scan pattern is not greater than a specified maximum spatial change in quantization level.
-
16. A method for encoding a current frame in a video sequence, comprising the steps of:
-
(a) segmenting the current frame into one or more different regions;
(b) generating an encoding complexity measure for each corresponding region of a previously encoded frame in the video sequence;
(c) using the encoding complexity measure for each region of the previous frame to select a quantization level for the corresponding region of the current frame; and
(d) encoding the current frame using the one or more selected quantization levels, wherein the encoding complexity measure for each region in the previous frame is generated based on;
- View Dependent Claims (17, 18)
-
-
19. A method for encoding a current frame in a video sequence, comprising the steps of:
-
(a) segmenting the current frame into one or more different regions;
(b) generating an encoding complexity measure for each corresponding region of a previously encoded frame in the video sequence;
(c) using the encoding complexity measure for each region of the previous frame to select a quantization level for the corresponding region of the current frame; and
(d) encoding the current frame using the one or more selected quantization levels, wherein the encoding complexity measure for each region in the previous frame is generated based on;
- View Dependent Claims (20, 21)
-
-
22. A method for encoding a current frame in a video sequence, comprising the steps of:
-
(a) segmenting the current frame into one or more different regions;
(b) generating an encoding complexity measure for each corresponding region of a previously encoded frame in the video sequence;
(c) using the encoding complexity measure for each region of the previous frame to select a quantization level for the corresponding region of the current frame; and
(d) encoding the current frame using the one or more selected quantization levels, wherein step (c) comprises the step of iteratively selecting one or more different quantization levels for each region until a frame target bit rate is satisfied to within a specified tolerance range according to;
-
-
30. A method for encoding a current frame in a video sequence, comprising the steps of:
-
(a) segmenting the current frame into one or more different regions;
(b) generating an encoding complexity measure for each corresponding region of a previously encoded frame in the video sequence;
(c) using the encoding complexity measure for each region of the previous frame to select a quantization level for the corresponding region of the current frame;
(d) applying a temporal constraint to modify the selected quantization level for at least one region of the current frame, wherein;
the temporal constraint limits magnitude of change in quantization level from one region in the previous frame to the corresponding region in the current frame; and
the temporal constraint allows greater percentage increases in quantization level than percentage decreases from the previous frame to the current frame; and
(e) encoding the current frame using the one or more modified quantization levels.
-
Specification