Rate allocation for mixed content video
First Claim
1. In a screen capture encoder, a method for encoding captured screen content, the method comprising:
- encoding one or more components of the captured screen content using lossless compression;
allocating bits for continuous tone pixels of the captured screen content, wherein the allocating comprises;
computing a preliminary bit allocation;
comparing the preliminary bit allocation with a number of available bits in view of the encoding using lossless compression; and
allocating the bits based at least in part on results of the comparing; and
encoding the continuous tone pixels, wherein the allocating regulates quality and bitrate for the continuous tone pixels.
3 Assignments
0 Petitions
Accused Products
Abstract
The present invention relates to regulating the quality and/or bitrate of content within mixed content video when the video is compressed subject to a bitrate constraint. For example, a screen capture encoder encodes palletized content within a frame of screen capture video. Subject to an overall bitrate constraint, the encoder then allocates bits for continuous tone content within the frame. By controlling the allocation of bits used to encode the continuous tone content, the encoder regulates bitrate for the continuous tone content. This in turn can allow the encoder to regulate spatial quality and/or overall temporal quality for the video. In one scenario, for screen capture video encoded to a (relatively) constant overall bitrate, the screen capture encoder reduces the bitrate (and quality) of the continuous tone content, instead spending bits to increase the overall frame rate of the video.
73 Citations
20 Claims
-
1. In a screen capture encoder, a method for encoding captured screen content, the method comprising:
-
encoding one or more components of the captured screen content using lossless compression; allocating bits for continuous tone pixels of the captured screen content, wherein the allocating comprises; computing a preliminary bit allocation; comparing the preliminary bit allocation with a number of available bits in view of the encoding using lossless compression; and allocating the bits based at least in part on results of the comparing; and encoding the continuous tone pixels, wherein the allocating regulates quality and bitrate for the continuous tone pixels. - View Dependent Claims (2, 3, 4, 5)
-
-
6. In a screen capture encoder, a method for encoding captured screen content, the method comprising:
-
encoding one or more components of the captured screen content using lossless compression; allocating bits for continuous tone pixels of the captured screen content, wherein the allocating comprises; computing a preliminary bit allocation; computing a minimum quality bit allocation; comparing the preliminary bit allocation and the minimum quality bit allocation; and allocating the bits based at least in part on results of the comparing; and encoding the continuous tone pixels, wherein the allocating regulates quality and bitrate for the continuous tone pixels.
-
-
7. In a screen capture encoder, a method for encoding captured screen content, the method comprising:
-
encoding one or more components of the captured screen content using lossless compression; allocating bits for continuous tone pixels of the captured screen content, wherein the allocating comprises; estimating a number of bits needed to encode the captured screen content; estimating a number of bits needed to encode the continuous tone pixels; and computing the minimum of; the difference between the estimated number of bits needed to encode the captured screen content and a number of bits spent in the encoding using lossless compression; a number of available bits in view of the encoding using lossless compression; and the estimated number of bits needed to encode the continuous tone pixels; and encoding the continuous tone pixels, wherein the allocating regulates quality and bitrate for the continuous tone pixels. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer-readable medium storing computer-executable instructions for causing a computer system programmed thereby to perform method of encoding a mixture of palettized screen capture content and continuous tone screen capture content, the method comprising:
-
encoding the palettized screen capture content; encoding a frame header and segmentation map for a frame that includes the palettized screen capture content and the continuous tone screen capture content; allocating bits for encoding the continuous tone screen capture content; and encoding the continuous tone screen capture content, wherein the allocating controls bitrate for the continuous tone screen capture content. - View Dependent Claims (14, 15)
-
-
16. A computer-readable medium storing computer-executable instructions for causing a computer system programmed thereby to perform method of encoding a mixture of palettized screen capture content and continuous tone screen capture content, the method comprising:
-
encoding the palettized screen capture content; allocating bits for encoding the continuous tone screen capture content, wherein the allocating depends at least in part upon preliminary and minimum quality bit allocations for the continuous tone screen capture content and a number of available bits; and encoding the continuous tone screen capture content, wherein the allocating controls bitrate for the continuous tone screen capture content.
-
-
17. A computer-readable medium storing computer-executable instructions for causing a computer system programmed thereby to perform a method of encoding a frame comprising palettized content and continuous tone content, the method comprising:
-
encoding the palettized content in the frame; checking for a number of bits available after the encoding the palettized content; based at least in part on the checking, allocating a second number of bits, wherein the second number of bits is less than or equal to the number of bits available after the encoding the palettized content, and wherein the allocating comprises; computing a preliminary bit allocation; comparing the preliminary bit allocation with the number of bits available after the encoding the palettized content; and allocating the bits based at least in part on results of the comparing; and encoding the continuous tone content in the frame with the second number of bits.
-
-
18. A computer-readable medium storing computer-executable instructions for causing a computer system programmed thereby to perform a method of encoding a frame comprising palettized content and continuous tone content, the method comprising:
-
encoding the palettized content in the frame; checking for a number of bits available after the encoding the palettized content; based at least in part on the checking, allocating a second number of bits, wherein the second number of bits is less than or equal to the number of bits available after the encoding the palettized content, and wherein the allocating comprises; computing a preliminary bit allocation; computing a minimum quality bit allocation; comparing the preliminary bit allocation and the minimum quality bit allocation; and allocating the bits based at least in part on results of the comparing; and encoding the continuous tone content in the frame with the second number of bits. - View Dependent Claims (19, 20)
-
Specification