Innovations in video decoder implementations
First Claim
1. A method comprising:
- parsing plural parameters for a first picture from an encoded video bit stream;
initializing the first picture by creating and filling one or more data structures for decoding the first picture;
repeating the parsing and the initializing for a second picture;
decoding the first picture, wherein the parsing and the initializing for the second picture finish before the decoding the first picture begins; and
decoding the second picture.
2 Assignments
0 Petitions
Accused Products
Abstract
Video decoding innovations for multithreading implementations and graphics processor unit (“GPU”) implementations are described. For example, for multithreaded decoding, a decoder uses innovations in the areas of layered data structures, picture extent discovery, a picture command queue, and/or task scheduling for multithreading. Or, for a GPU implementation, a decoder uses innovations in the areas of inverse transforms, inverse quantization, fractional interpolation, intra prediction using waves, loop filtering using waves, memory usage and/or performance-adaptive loop filtering. Innovations are also described in the areas of error handling and recovery, determination of neighbor availability for operations such as context modeling and intra prediction, CABAC decoding, computation of collocated information for direct mode macroblocks in B slices, reduction of memory consumption, implementation of trick play modes, and picture dropping for quality adjustment.
315 Citations
20 Claims
-
1. A method comprising:
-
parsing plural parameters for a first picture from an encoded video bit stream; initializing the first picture by creating and filling one or more data structures for decoding the first picture; repeating the parsing and the initializing for a second picture; decoding the first picture, wherein the parsing and the initializing for the second picture finish before the decoding the first picture begins; and decoding the second picture. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method comprising:
-
putting one or more picture commands in a picture command queue, each of the one or more picture commands having an associated condition and one or more actions; decoding one or more pictures; and removing a first picture command of the one or more picture commands put in the picture command queue, wherein the removal of the first picture command is contingent on completion of the associated condition for the first picture command. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A method comprising:
-
generating a task dependency graph that indicates dependencies between plural decoding tasks, wherein the plural decoding tasks include at least one entropy decoding task, at least one intra prediction task, at least one motion-compensated prediction task, and at least one loop filtering task; and decoding video with multiple threads of execution using the task dependency graph. - View Dependent Claims (18, 19, 20)
-
Specification