Patent ID: 8300701

Claim:
A process for supporting off-speed playback of video data encoded using long groups of pictures, comprising: determining whether playback of video is off speed or streaming playback; if the playback of video is streaming playback, reading compressed data for the video to be played back into a compressed data buffer and instructing a streaming video decoder to playback the video in the compressed data buffer; if the playback of video is off speed playback, then receiving an indication of a single frame to be played back; reading compressed data for a group of pictures containing the single frame into the compressed data buffer; displaying a single frame from among frames in the group of pictures by: maintaining uncompressed data for most recently used reference frames in a decompressed reference frame cache in a form usable by a decoder; identifying at least one reference frame of the group of pictures used to decompress the single frame; determining if uncompressed data for the at least one reference frame is in the cache; decompressing compressed data from the buffer for at least one reference frame of the group of pictures used to decompress the single frame and storing the uncompressed data in the cache, if the uncompressed data for the at least one reference frame is not in the cache; retrieving the uncompressed data for the at least one reference frame from the cache; providing the uncompressed data for at least one reference frame from the cache, the compressed data from the buffer for the single frame and state information including decompression parameters to a stateless, single frame decoder, wherein the stateless, single frame decoder does not retain reference frames extracted from the compressed data from one decompression operation to the next; and receiving from the stateless, single frame decoder the decompressed data for the single frame.