Patent ID: 7190883

Claim:
A method of processing a video stream, comprising: (a) detecting a request to randomly access a particular frame; (b) maintaining a list of frame dependencies identifying at least a set of frames required to decode the particular frame; and (c) determining based at least in part on the list of frame dependencies whether a decoded version of the particular frame is in a decoded frame cache, said cache configured to store an arbitrary number of previously decoded frames, and if it is not and if the particular frame has a frame dependency: (i) determining a frame dependency for the particular frame; (ii) determining which of the frames in the frame dependency are in the decoded frame cache; (iii) decoding any frame in the frame dependency that is not in the decoded frame cache and placing it in the decoded frame cache; and (iv) using at least one of the decoded frames in the frame dependency to decode the particular frame to create a decoded version of the particular frame.