Method and apparatus for clipping video segments from an audiovisual file
First Claim
1. A method for clipping a segment from a video file having a multiplicity of video frames, wherein at least some of the frames are encoded as predicted frames, the method comprising the steps of:
- selecting a mark-in location in the video file, the mark-in location defining the beginning of the clipped segment;
selecting a mark-out location in the video file, the mark-out location defining the end of the clipped segment;
decoding a first frame associated with one of the mark-in location and the mark-out location, the first frame being a predictive frame having an associated first format;
re-encoding the decoded first frame into a second format;
storing the re-encoded first frame; and
creating a clipped segment that includes the re-encoded first frame.
20 Assignments
0 Petitions
Accused Products
Abstract
Disclosed is a method for clipping a segment from a video file having a multiplicity of video frames. Preferably, at least some of the frames in the video file are encoded as predicted frames. The method includes selecting a mark-in location in the video file that defines the beginning of the clipped segment. A mark-out location defining the end of the clipped segment is also selected in the video file. Once the mark-in and mark-out locations are selected, the method decodes a first frame associated with one of the mark-in location and the mark-out location. The first frame is preferably a predictive frame that has an associated first format. The first frame is then re-encoded into a second format and stored. The method then proceeds to create a clipped segment that includes the re-encoded first frame.
-
Citations
30 Claims
-
1. A method for clipping a segment from a video file having a multiplicity of video frames, wherein at least some of the frames are encoded as predicted frames, the method comprising the steps of:
-
selecting a mark-in location in the video file, the mark-in location defining the beginning of the clipped segment;
selecting a mark-out location in the video file, the mark-out location defining the end of the clipped segment;
decoding a first frame associated with one of the mark-in location and the mark-out location, the first frame being a predictive frame having an associated first format;
re-encoding the decoded first frame into a second format;
storing the re-encoded first frame; and
creating a clipped segment that includes the re-encoded first frame. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
stitching glue files selected from the group consisting of the in-glue, the middle-glue and the out-glue together to create the clipped segment.
-
-
7. A method for clipping a segment from a video file as recited in claim 6, wherein the stitching is performed in a second pass by the editing engine, and an associated glue object is used for retrieving data from at least one of the in-glue, middle-glue, and out-glue files.
-
8. A method for clipping a segment from a video file as recited in claim 5, further comprises the steps of:
-
multiplexing the stitched glue files to generate multiplexed data; and
outputting the multiplexed data that is identified as the created clipped segment to an application.
-
-
9. A method for clipping a segment from a video file as recited in claim 6, wherein the step of stitching glue files further comprises the steps of:
-
opening one of the in-glue, middle-glue or out-glue files;
read glue file data in a time ordered sequence; and
close any open glue file.
-
-
10. A method for clipping a segment from a video file as recited in claim 9, wherein the step of reading glue file data further comprises the substeps of:
-
performing time re-stamping for the duration of the step of reading glue file data;
performing B-frame stripping when a particular B-frame is present in another glue file, and a reference frame for the particular B frame is absent.
-
-
11. A method for clipping a segment from a video file as recited in claim 1, wherein the step of decoding a first frame further comprises the step of:
decoding a most previous I frame to provide a decoder with sufficient context.
-
12. A method for clipping a segment from a video file as recited in claim 1, where the re-encoded first frame is stored in a storage medium selected from the group consisting a cache memory, a computer hard drive, a floppy disk, and a remotely networked storage medium.
-
13. A method for copying a segment from a video file having a multiplicity of video frames, wherein at least some of the frames are encoded as predicted frames, the method comprising the steps of:
-
selecting a mark-in location in the video file, the mark-in location defining the beginning of the copied segment;
decoding each of the frames positioned between the mark-in location and a final group frame associated with a group of frames that includes the mark-in location, each decoded frame having an associated first format;
re-encoding each of the decoded frames into an associated second format, wherein the re-encoded second format of at least one of the decoded frames is different than its associated first format;
storing the re-encoded frames; and
creating a copied segment that includes the re-encoded frames. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
creating a copy operator in response to a copy request; and
creating control objects configured to perform the decoding and re-encoding steps to generate the re-encoded frames.
-
-
18. A method for copying a segment from a video file as recited in claim 17, wherein the control objects are created by the copy operator.
-
19. A method for copying a segment from a video file as recited in claim 18, wherein the control objects include a decoder, an encoder, a seeking engine, and a streamer for streaming an un-processed middle-glue segment from the video file.
-
20. A method for copying a segment from a video file as recited in claim 19, wherein the seek engine is responsible for identifying a particular frame within the video file.
-
21. A method for copying a segment from a video file as recited in claim 20, wherein the streamer is responsible for retrieving an un-processed middle-glue segment from the video file.
-
22. A method for copying a segment from a video file as recited in claim 19, wherein the control objects further include a demultiplexer, and a glue object for managing the re-encoded frames.
-
23. A method for copying a segment from a video file as recited in claim 22, wherein the re-encoded frames are stored as one of an in-glue file and an out-glue file.
-
24. A method for copying a segment from a video file as recited in claim 23, wherein the in-glue file contains re-encoded frames beginning with the mark-in frame and extending to one frame before the next I frame from the mark-in frame.
-
25. A method for copying a segment from a video file as recited in claim 23, wherein the out-glue file contains re-encoded frames beginning with a next frame after the most previous I frame from a mark-out frame, and extending to the mark-out frame.
-
26. A method for copying a segment from a video file as recited in claim 13, further including a middle-in location beginning at a first I frame after the final group frame, the middle-in frame defining the first frame in a middle-glue segment that is un-processed.
-
27. A method for copying a segment from a video file as recited in claim 26, further including a middle-out location identified as one frame prior to a most previous I frame from the mark-out location, the frames beginning with the middle-in location and ending at the middle-out location defining a middle-glue segment.
-
28. A method for copying a segment from a video file as recited in claim 13, wherein the associated second format includes re-encoded frame sequences of I frames, I and P frames, and I, P and B frames.
-
29. An apparatus for copying a segment from a video file having a multiplicity of video frames, wherein at least some of the frames are encoded as predicted frames, the method comprising the steps of:
-
selecting means for selecting a mark-in location in the video file, the mark-in location defining the beginning of the copied segment;
decoding means for decoding each of the frames positioned between the mark-in location and a final group frame associated with a group of frames that includes the mark-in location, each decoded frame having an associated first format;
re-encoding means for re-encoding each of the decoded frames into an associated second format, wherein the re-encoded second format of at least one of the decoded frames is different than its associated first format;
a storage medium for storing the re-encoded frames; and
whereby a copied segment that includes the re-encoded frames is generated.
-
-
30. A computer readable media containing program instructions for clipping a segment from a video file having a multiplicity of video frames, wherein at least some of the frames are encoded as predicted frames, said computer readable media comprising:
-
program instructions for selecting a mark-in location in the video file, the markin location defining the beginning of the clipped segment;
program instructions for selecting a mark-out location in the video file, the mark-out location defining the end of the clipped segment;
program instructions for decoding a first frame associated with one of the mark-in location and the mark-out location, the first frame being a predictive frame having an associated first format;
program instructions for re-encoding the decoded first frame into a second format;
program instructions for storing the re-encoded first frame; and
program instructions for creating a clipped segment that includes the re-encoded first frame.
-
Specification