Encoding and decoding selectively retrievable representations of video content
First Claim
1. A method for processing compressed video data, the method comprising:
- storing, in a storage structure, for each of a plurality of frames of video having a corresponding image at an original display resolution, a corresponding plurality of image components representative of the frame of video, the plurality of image components including a base image component associated with a given display resolution, and one or more additional image components associated with display resolutions greater than or equal to the given resolution and less than or equal to the original resolution, and the base image component comprising the corresponding image at the given display resolution;
selecting, based at least on a first processing load of a decoder, a first display resolution at which to display a first of the plurality of frames of video;
retrieving from the storage structure a first subset of the plurality of image components corresponding to the first frame of video, the first subset of image components selected based at least on the first display resolution and including the base image component corresponding to the first frame of video;
decoding the retrieved first subset of image components to generate a first modified frame of video at the first display resolution, the first modified frame of video comprising the image corresponding to the first frame of video;
based at least on a change in processing load of the decoder to a second processing load, selecting, based on the second processing load, a second display resolution at which to display a second frame of video;
retrieving from the storage structure a second subset of the plurality of image components corresponding to the second frame of video, the second subset selected based at least on the second display resolution and including the base image component corresponding to the second frame of video; and
decoding the retrieved second subset of image components to generate a second modified frame of video at the second display resolution, the second modified frame of video comprising the image corresponding to the second frame of video.
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 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.
67 Citations
29 Claims
-
1. A method for processing compressed video data, the method comprising:
-
storing, in a storage structure, for each of a plurality of frames of video having a corresponding image at an original display resolution, a corresponding plurality of image components representative of the frame of video, the plurality of image components including a base image component associated with a given display resolution, and one or more additional image components associated with display resolutions greater than or equal to the given resolution and less than or equal to the original resolution, and the base image component comprising the corresponding image at the given display resolution; selecting, based at least on a first processing load of a decoder, a first display resolution at which to display a first of the plurality of frames of video; retrieving from the storage structure a first subset of the plurality of image components corresponding to the first frame of video, the first subset of image components selected based at least on the first display resolution and including the base image component corresponding to the first frame of video; decoding the retrieved first subset of image components to generate a first modified frame of video at the first display resolution, the first modified frame of video comprising the image corresponding to the first frame of video; based at least on a change in processing load of the decoder to a second processing load, selecting, based on the second processing load, a second display resolution at which to display a second frame of video; retrieving from the storage structure a second subset of the plurality of image components corresponding to the second frame of video, the second subset selected based at least on the second display resolution and including the base image component corresponding to the second frame of video; and decoding the retrieved second subset of image components to generate a second modified frame of video at the second display resolution, the second modified frame of video comprising the image corresponding to the second frame of video. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for processing compressed video data, the system comprising:
-
a memory configured to store, 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 a base image component comprising the corresponding image at a base resolution and one or more additional image components associated with resolutions greater than or equal to the base resolution and less than or equal to the original resolution; a decoder in data communication with at least the memory and configured to, for each of the plurality of frames of video, decode a retrieved subset of the plurality of image components corresponding to the frame of video to generate a corresponding modified frame of video, the corresponding modified frame of video comprising the image corresponding to the frame of video at a selected display resolution; a resolution selection apparatus in data communication with at least the decoder and configured to; select a first display resolution at which to display a first of said plurality of frames of video, the selection based at least on a first processing load of the decoder; and in response to a change in processing load of the decoder to a second processing load, select a second display resolution, the second display resolution selected based at least on the second processing load; and a data component apparatus in data communication with at least the memory and configured to; retrieve a first subset of a plurality image components corresponding to the first frame of video from the storage structure, the first subset selected based at least on the first display resolution, the first subset including a base image component corresponding to the first frame of video; and retrieve a second subset of a plurality of image components corresponding to a second of said plurality of frames of video from the storage structure, the second subset selected based at least on the second display resolution, the second subset including a base image component corresponding to the second frame of video. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer-readable storage medium storing executable computer program instructions thereon, the program instructions configured for processing video data and that, when executed by a computerized device, cause the computerized device to perform operations comprising:
-
storage, in a storage structure, for a first of a plurality of frames of video comprising a corresponding image at an original resolution, a corresponding first plurality of image components representative of the first frame of video, the first plurality of image components including;
(i) a base image component associated with a base resolution, and (ii) one or more additional image components associated with resolutions greater than the base resolution and less than or equal to the original resolution;storage, in the storage structure, for a second of the plurality of frames of video comprising a corresponding image at an original resolution, a corresponding second plurality of image components representative of the second frame of video, the second plurality of image components including;
(i) a base image component associated with a base resolution, and (ii) one or more additional image components associated with resolutions greater than the base resolution and less than or equal to the original resolution;select a first display resolution at which to display the first frame of video, the selection based at least on a first processing load; retrieve a subset of the first plurality of image components from the storage structure, the subset of the first plurality of image components being selected based at least on the first display resolution, the subset of the first plurality of image components including the base image component corresponding to the first frame of video; decode the retrieved subset of the first plurality of image components to generate a first modified frame of video comprising the image corresponding to the first frame of video represented at the first display resolution; based at least on a change in the processing load to a second processing load, select a second display resolution at which to display a second frame of video; retrieve a subset of the second plurality of image components corresponding to the second frame of video from the storage structure, the subset of the second plurality of image components being selected based at least on the second display resolution, the subset of the second plurality of image components including the base image component corresponding to the second frame of video; and decode the retrieved subset of the second plurality of image components to generate a second modified frame of video comprising the image corresponding to the second frame of video represented at the second display resolution. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A non-transitory computer-readable storage medium storing executable computer program instructions thereon, the program instructions configured for processing video data and that, when executed by a first computerized device, cause the first computerized device to perform operations on a plurality of frames of video data, the plurality of frames each comprising a corresponding original resolution, the operations comprising:
-
selection of a first display resolution at which to display a first of said plurality of frames of video data, the selection based at least on a first processing load of the first computerized device; retrieval of a subset of a plurality of image components associated with a first frame of the video data from a storage apparatus in data communication with the first computerized device, the subset selected based at least on the first display resolution, the subset of the first plurality of image components including at least a base image component corresponding to the first frame; decode of the retrieved subset to generate a first modified frame of video data comprising the image corresponding to the first frame, the image represented at the first display resolution; detection of at least a change of processing load of the first computerized device from the first processing load to a second processing load; selection of a second display resolution at which to display a second frame of video, the selection of the second frame of video based at least on the second processing load; retrieval of a subset of a plurality of image components associated with the second frame of the video data from the storage apparatus, the subset of the plurality of image components associated with the second frame of the video data selected based at least on the second display resolution, the subset of the second plurality of image components including at least a base image component corresponding to the second frame; and decode of the retrieved subset of the plurality of image components associated with the second frame of the video data to generate a second modified frame of video data comprising the image corresponding to the second frame, the image represented at the second display resolution; wherein the pluralities of image components representative of the respective first and second frames of video data each include;
(i) a base image component associated with a prescribed resolution of the respective first or second frame, and (ii) one or more additional image components associated with resolutions greater than the prescribed resolution and less than or equal to the original resolution of the respective first or second frame. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29)
-
Specification