Encoding and decoding selectively retrievable representations of video content
First Claim
1. A method for previewing video edits comprising:
- storing, in a storage structure, for each of a plurality of frames of video, a corresponding plurality of image components representative of the frame of video, the frame of video comprising a corresponding image at an original resolution, the plurality of image components including (i) a base image component associated with a lowest resolution of a plurality of available resolutions and (ii) one or more additional image components associated with resolutions greater than or equal to the lowest resolution and less than or equal to the original resolution, the base image component comprising the corresponding image at the lowest resolution;
selecting a preview resolution at which to display the frame of video, the selected preview resolution being automatically determined based on one or more runtime factors;
selectively decoding at least a portion of the plurality of image components based on the determined preview resolution, the selective decoding comprising;
when the determined preview resolution matches the lowest resolution, accessing a first subset of stored image components corresponding to the frame of video, the first subset of stored image components including the base image component corresponding to the frame of video at the lowest resolution;
when the determined preview resolution does not match the lowest resolution, accessing a second subset of stored image components, the second subset of stored image components including (i) the base image component associated with the lowest resolution and (ii) at least one of the one or more additional image components associated with resolutions greater than or equal to the lowest resolution and less than or equal to the original resolution; and
decoding the accessed subset of stored image components to generate a decoded frame of video comprising an image corresponding to the frame of video at the preview resolution;
receiving, from a user, an edit to the frame of video at the determined preview resolution; and
applying the received edit to the decoded frame of video to produce an edited frame of video at the preview resolution; and
displaying the edited frame of video to the user.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method disposed to enable encoding, decoding and manipulation of digital video with substantially less processing load than would otherwise be required. In particular, one disclosed method is directed to generating a compressed video data structure that is selectively decodable to a plurality of resolutions including the full resolution of the uncompressed stream. The desired number of data components and the content of the data components that make up the compressed video data, which determine the available video resolutions, are variable based upon the processing carried out and the resources available to decode and process the data components. During decoding, efficiency is substantially improved because only the data components necessary to generate a desired resolution are decoded. In variations, both temporal and spatial decoding are utilized to reduce frame rates, and hence, further reduce processor load. The system and method are particularly useful for real-time video editing applications.
71 Citations
20 Claims
-
1. A method for previewing video edits comprising:
-
storing, in a storage structure, for each of a plurality of frames of video, a corresponding plurality of image components representative of the frame of video, the frame of video comprising a corresponding image at an original resolution, the plurality of image components including (i) a base image component associated with a lowest resolution of a plurality of available resolutions and (ii) one or more additional image components associated with resolutions greater than or equal to the lowest resolution and less than or equal to the original resolution, the base image component comprising the corresponding image at the lowest resolution; selecting a preview resolution at which to display the frame of video, the selected preview resolution being automatically determined based on one or more runtime factors; selectively decoding at least a portion of the plurality of image components based on the determined preview resolution, the selective decoding comprising; when the determined preview resolution matches the lowest resolution, accessing a first subset of stored image components corresponding to the frame of video, the first subset of stored image components including the base image component corresponding to the frame of video at the lowest resolution; when the determined preview resolution does not match the lowest resolution, accessing a second subset of stored image components, the second subset of stored image components including (i) the base image component associated with the lowest resolution and (ii) at least one of the one or more additional image components associated with resolutions greater than or equal to the lowest resolution and less than or equal to the original resolution; and decoding the accessed subset of stored image components to generate a decoded frame of video comprising an image corresponding to the frame of video at the preview resolution; receiving, from a user, an edit to the frame of video at the determined preview resolution; and applying the received edit to the decoded frame of video to produce an edited frame of video at the preview resolution; and displaying the edited frame of video to the user. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for previewing video edits comprising:
-
a non-transitory computer-readable storage medium configured to store, for each of a plurality of frames of video, a corresponding plurality of image components representative of the frame of video, the frame of video comprising a corresponding image at an original resolution, the plurality of image components including (i) a base image component associated with a lowest resolution of a plurality of resolutions and (ii) one or more additional image components associated with resolutions greater than or equal to the lowest resolution and less than or equal to the original resolution, the base image component comprising the corresponding image at the lowest resolution; an input configured to receive, from a user, an edit to a frame of video; a video editor configured to; select a preview resolution at which to display the frame of video; selectively decode at least a portion of the plurality of image components based on the selected preview resolution, the selective decoding being configured to; access a first subset of stored image components corresponding to the frame of video when the preview resolution matches the lowest resolution, the first subset of stored image components including the base image component associated with the lowest resolution; access a second subset of stored image components when the preview resolution does not match the lowest resolution, the second subset of stored image components including (i) the base image component associated with the lowest resolution and (ii) at least one of the one or more additional image components associated with resolutions greater than or equal to the lowest resolution and less than or equal to the original resolution; and decode the accessed subset of stored image components to generate a decoded frame of video comprising an image corresponding to the frame of video at the preview resolution; and apply the received edit to the decoded frame of video to produce an edited frame of video at the preview resolution; and an output configured to output a preview video comprising the edited frame of video at the preview resolution to the user, the preview video comprising a sequence of edited frames at a temporal resolution different than that of a video comprising said plurality of non-edited frames of video. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. An apparatus configured to preview an edit to a frame of video, the apparatus comprising:
-
means for storing, in a storage structure, for each of a plurality of frames of video, a corresponding plurality of image components representative of the frame of video, the frame of video comprising a corresponding image at an original resolution, the plurality of image components including (i) a base image component associated with a lowest resolution of a plurality of available resolutions and (ii) one or more additional image components associated with resolutions greater than or equal to the lowest resolution and less than or equal to the original resolution, the base image component comprising the corresponding image at the lowest resolution; means for determining a preview resolution at which to display the frame of video; means for selectively decoding at least a portion of the plurality of image components based on the determined preview resolution, the means for selectively decoding comprising; means for accessing a first subset of stored image components corresponding to the frame of video when the determined preview resolution matches the lowest resolution, the first subset of stored image components including the base image component corresponding to the frame of video at the lowest resolution; means for accessing a second subset of stored image components when the determined preview resolution does not match the lowest resolution, the second subset of stored image components including (i) the base image component associated with the lowest resolution and (ii) at least one of the one or more additional image components associated with resolutions greater than or equal to the lowest resolution and less than or equal to the original resolution; and means for decoding the accessed subset of stored image components to generate a decoded frame of video comprising an image corresponding to the frame of video at the preview resolution; means for receiving, from a user, an edit to the frame of video at the determined preview resolution; means for applying the received edit to the decoded frame of video to produce an edited frame of video at the preview resolution; and means for displaying the edited frame of video to the user. - View Dependent Claims (19, 20)
-
Specification