Abstract:
The optimal buffering strategy of the present invention allows for full smooth reverse functionality in an MPEG-type stream player, while reducing the buffering requirements. Furthermore, the buffering strategy drastically reduces the required number of passes tlrough the video data unit by optimal scheduling of picture decodes. A video data unit buffering strategy for smooth reverse includes the following operations. First, a video data unit is scanned before decoding any pictures within the video data unit. Positions of each picture are then marked out in the video data unit. Next, the entire video data unit is decoded, except the open GOP pictures which need a reference picture from an adjacent video data unit. The open GOP pictures are then copied to the end of the current video data unit in the buffer, and the new video data unit continues to be fetched.
Abstract:
A “tag” is attached to streaming video data as it is streamed from the streaming layer to the presentation engine. Each frame containing a button or other user feature also has a “tag” associated with it. When the presentation engine processes a packet of data, it updates a state variable with the tag associated with the packet of data. The streaming layer can query this state variable at any point to get the tag associated with the currently rendered unit. When the user clicks on a button or feature, the streaming layer, rather than utilizing an associated operation in the data being streamed, instead uses the tag associated with the frame being displayed and then takes the appropriate action. The invention may also be used to provide frame-accurate editing features to allow streaming video data to be indexed or reversed to a frame-accurate level.