IP Library Granted Patent US 8,300,701
Granted Patent B2
US 8,300,701 · App. 11/298,866 · Granted Oct 30, 2012

Offspeed playback in a video editing system of video data compressed using long groups of pictures

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,300,701
App. No.
11/298,866
Granted
Oct 30, 2012
Kind
B2
Abstract

An editing system handles offspeed and full speed playback of long GOP compressed video information by having one decoder for full-speed or slower forward playback of long GOP compressed motion video information, and a second single-frame, stateless decoder for use for off-speed playback. When compressed data is read from a file, the compressed data for at least one complete group of pictures is read into a buffer, herein called a compressed data buffer. A data structure, herein called a frame ring, is constructed to describe each image in the compressed data buffer. The single-frame, stateless decoder receives decompression parameters in addition to the compressed data for each image from this buffer. If the compressed data is a B-frame or P-frame, then uncompressed data for any other images (i.e., reference frames) required by the decoder to decompress the frame also is input to the single-frame, stateless decoder. If the uncompressed data for the reference frames is not already in a cache, these reference frames are decompressed and the uncompressed data for the reference frames as used by the decoder is stored in the cache prior to the decompression of the B-frame or P-frame.

Claims (38)

1. 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.

2. A motion video editing system, comprising:

storage for making available data files containing video data encoded using long groups of pictures;

an editing interface enabling a user to specify a sequence of clips of video data from the data files in the storage;

a compressed data buffer into which video data from the storage is read and temporarily stored before playback;

a streaming decoder having an input for receiving video data encoded using long groups of pictures from the compressed data buffer and an output for providing a stream of decompressed data for a sequence of images from the received video data;

a stateless, single frame decoder, having inputs for receiving uncompressed data for at least one reference frame from video data encoded using long groups of pictures from a decompressed reference frame cache, compressed data for a single frame from the encoded video data from the compressed data buffer, and state information for decompressing the encoded video data and an output for providing decompressed data for the single image, wherein the stateless, single frame decoder does not retain reference frames extracted from the encoded video data from one decompression operation to the next;

wherein the decompressed reference frame cache maintains uncompressed data for most recently used reference frames in a form usable by the decoder;

wherein, in response to a request through the editing interface for playback of a plurality of images at frill frame rates, the streaming decoder is used to playback the plurality of images from the compressed data buffer; and

wherein, in response to a request through the editing interface for playback of one or more images at an offspeed rate, the stateless, single frame decoder is used to separately decode and playback each of the one or more images from the compressed data buffer and using the decompressed reference frame cache;

wherein the decoder determines if uncompressed data for a reference frame is in the cache, and the decoder decompresses compressed data from the buffer for the reference frame and updates the cache to include the uncompressed data if the uncompressed data is not in the cache.

3. The motion video editing system of claim 2 , wherein the video data encoded using long groups of pictures includes MPEG-2 data.

4. The process of claim 1 , wherein the compressed data buffer has an associated frame ring data structure that describes, for each frame in the compressed data buffer, information about the frame.

5. The process of claim 4 , wherein the information about the frame includes at least an indication of a picture type for the frame.

6. The process of claim 4 , wherein the information about the frame includes at least a bitstream position of the compressed data for the frame.

7. The process of claim 4 , wherein the information about the frame includes at least a sample number for the frame.

8. The process of claim 1 , wherein the cache has an associated cache data structure that describes, for each frame in the cache, a data stream from which the frame originated and an index for the frame in the data stream.

9. The process of claim 8 , wherein entries about frames in the cache data structure are sorted by time of use.

10. The process of claim 1 , wherein, for offspeed forward playback, two or more groups of pictures are read into the compressed data buffer.

11. The motion video editing system of claim 2 , wherein the compressed data buffer has an associated frame ring data structure that describes, for each frame in the compressed data buffer, information about the frame.

12. The motion video editing system of claim 11 , wherein the information about the frame includes at least an indication of a picture type for the frame.

13. The motion video editing system of claim 11 , wherein the information about the frame includes at least a bitstream position of the compressed data for the frame.

14. The motion video editing system of claim 11 , wherein the information about the frame includes at least a sample number for the frame.

15. The motion video editing system of claim 2 , wherein the cache has an associated cache data structure that describes, for each frame in the cache, a data stream from which the frame originated and an index for the frame in the data stream.

16. The motion video editing system of claim 15 , wherein entries about frames in the cache data structure are sorted by time of use.

17. The motion video editing system of claim 2 , wherein, for offspeed forward playback, two or more groups of pictures are read into the compressed data buffer.

Assignments (10)
PATENT SECURITY AGREEMENT Recorded Nov 8, 2023
From: AVID TECHNOLOGY, INC.
To: SIXTH STREET LENDING PARTNERS, AS ADMINISTRATIVE AGENT
Reel/Frame 065523/0194 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 054900/0716) Recorded Nov 8, 2023
From: JPMORGAN CHASE BANK, N.A.
To: AVID TECHNOLOGY, INC.
Reel/Frame 065523/0146 →
SECURITY INTEREST Recorded Jan 5, 2021
From: AVID TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 054900/0716 →
RELEASE OF SECURITY INTEREST Recorded Jan 5, 2021
From: CERBERUS BUSINESS FINANCE, LLC
To: AVID TECHNOLOGY, INC.
Reel/Frame 055731/0019 →
RELEASE OF SECURITY INTEREST IN UNITED STATES PATENTS Recorded Mar 1, 2016
From: KEYBANK NATIONAL ASSOCIATION
To: AVID TECHNOLOGY, INC.
Reel/Frame 037970/0201 →
ASSIGNMENT FOR SECURITY -- PATENTS Recorded Feb 26, 2016
From: AVID TECHNOLOGY, INC.
To: CERBERUS BUSINESS FINANCE, LLC, AS COLLATERAL AGENT
Reel/Frame 037939/0958 →
RELEASE OF SECURITY INTEREST Recorded Jun 30, 2015
From: WELLS FARGO CAPITAL FINANCE, LLC
To: AVID TECHNOLOGY INC.; AVID SYSTEMS, INC.
Reel/Frame 036037/0693 →
PATENT SECURITY AGREEMENT Recorded Jun 23, 2015
From: AVID TECHNOLOGY, INC.
To: KEYBANK NATIONAL ASSOCIATION, AS THE ADMINISTRATIVE AGENT
Reel/Frame 036008/0824 →
SECURITY AGREEMENT Recorded Nov 9, 2010
From: AVID TECHNOLOGY, INC.; PINNACLE SYSTEMS, INC.
To: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT
Reel/Frame 025675/0413 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2005
From: FLECCHIA, MARK
To: AVID TECHNOLOGY, INC.
Reel/Frame 017346/0247 →