MEMORY MANAGEMENT FOR VIDEO DECODING
First Claim
1. In a computing system that implements a video decoder, a method comprising:
- receiving at least part of a bitstream for a video clip;
determining first memory usage settings for decoding of the video clip;
determining second memory usage settings different than the first memory usage settings, the second memory usage settings indicating one or more theoretical limits on memory usage according to a standard or format specification for decoding of the video clip; and
during the decoding of the video clip, adapting memory usage based at least in part on the first memory usage settings and the second memory usage settings, wherein the memory usage is initially set according to the first memory usage settings, and wherein the memory usage is increased during the decoding subject to the one or more theoretical limits in the second memory usage settings.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques and tools described herein help manage memory efficiently during video decoding, especially when multiple video clips are concurrently decoded. For example, with clip-adaptive memory usage, a decoder determines first memory usage settings expected to be sufficient for decoding of a video clip. The decoder also determines second memory usage settings known to be sufficient for decoding of the clip. During decoding, memory usage is initially set according to the first settings. Memory usage is adaptively increased during decoding, subject to theoretical limits in the second settings. With adaptive early release of side information, the decoder can release side information memory for a picture earlier than the decoder releases image plane memory for the picture. The decoder can also adapt memory usage for decoded transform coefficients depending on whether the coefficients are for intra-coded blocks or inter-coded blocks, and also exploit the relative sparseness of non-zero coefficient values.
-
Citations
20 Claims
-
1. In a computing system that implements a video decoder, a method comprising:
-
receiving at least part of a bitstream for a video clip; determining first memory usage settings for decoding of the video clip; determining second memory usage settings different than the first memory usage settings, the second memory usage settings indicating one or more theoretical limits on memory usage according to a standard or format specification for decoding of the video clip; and during the decoding of the video clip, adapting memory usage based at least in part on the first memory usage settings and the second memory usage settings, wherein the memory usage is initially set according to the first memory usage settings, and wherein the memory usage is increased during the decoding subject to the one or more theoretical limits in the second memory usage settings. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computing system comprising a processor, memory, and storage storing computer-executable instructions for causing the computing system to perform a method comprising:
-
receiving at least part of a bitstream for a video clip; and during decoding of plural pictures of the video clip, for each of the plural pictures; allocating first memory for storing side information associated with the picture; allocating second memory for storing reconstructed image plane information associated with the picture; upon determination that the picture is no longer to be used for reference in motion compensation during subsequent decoding, releasing the first memory; and upon deletion of the picture from a decoded picture buffer, releasing the second memory. - View Dependent Claims (14, 15, 16, 17)
-
-
18. One of more tangible computer-readable media storing computer-executable instructions for causing a computing system programmed thereby to perform a method comprising:
-
receiving at least part of a bitstream for a video clip, wherein the video clip includes at least one picture encoded using inter-picture coding; determining first memory usage settings for decoding intra-coded content of the at least one picture encoded using inter-picture coding; determining second memory usage settings for decoding inter-coded content of the at least one picture encoded using inter-picture coding; and during the decoding of the video clip, adapting memory usage based at least in part on the first memory usage settings and the second memory usage settings. - View Dependent Claims (19, 20)
-
Specification