Encoding and decoding selectively retrievable representations of video content
First Claim
1. A method for processing compressed video data, the method comprising:
- accessing, by a computer system, a plurality of encoded video frames, each video frame comprising a plurality of data structure components encoded from said each video frame, each of the plurality of data structure components being associated with a different one of a plurality of image resolutions such that the video frame can be displayed at one image resolution of the plurality of image resolutions in part by combining all of a subset of data structure components associated with an image resolution that is equal to or less than the one image resolution, each of the subset of data structure components comprising a data size that is equal to or less than that associated with the one image resolution, such that the subset of data structure components comprises data sufficient to reconstruct the video frame at a corresponding one of the plurality of image resolutions;
identifying a hardware display communicatively coupled to the computer system;
determining an available bandwidth between the computer system and the hardware display;
selecting the one image resolution from the plurality of image resolutions based on the determined available bandwidth;
selecting, for each video frame of the plurality of video frames, a subset of data structure components of the video frame, the selected subset of data structure components comprising all of the data structure components associated with the image resolution that is equal to or less than the one image resolution selected from the plurality of available image resolutions; and
transmitting, for each video frame, the selected subset of data structure components to the hardware display.
6 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.
-
Citations
25 Claims
-
1. A method for processing compressed video data, the method comprising:
-
accessing, by a computer system, a plurality of encoded video frames, each video frame comprising a plurality of data structure components encoded from said each video frame, each of the plurality of data structure components being associated with a different one of a plurality of image resolutions such that the video frame can be displayed at one image resolution of the plurality of image resolutions in part by combining all of a subset of data structure components associated with an image resolution that is equal to or less than the one image resolution, each of the subset of data structure components comprising a data size that is equal to or less than that associated with the one image resolution, such that the subset of data structure components comprises data sufficient to reconstruct the video frame at a corresponding one of the plurality of image resolutions; identifying a hardware display communicatively coupled to the computer system; determining an available bandwidth between the computer system and the hardware display; selecting the one image resolution from the plurality of image resolutions based on the determined available bandwidth; selecting, for each video frame of the plurality of video frames, a subset of data structure components of the video frame, the selected subset of data structure components comprising all of the data structure components associated with the image resolution that is equal to or less than the one image resolution selected from the plurality of available image resolutions; and transmitting, for each video frame, the selected subset of data structure components to the hardware display. - View Dependent Claims (2, 3, 4)
-
-
5. A system for processing compressed video data, the system comprising:
a non-transitory computer-readable storage medium storing executable computer instructions that, when executed by a processor, cause the system to; access a plurality of encoded video frames, each video frame comprising a plurality of data components each associated with a different one of a plurality of available image resolutions such that the video frame can be displayed at one image resolution of the plurality of available image resolutions in part by combining all of a subset of data components associated with an image resolution that is equal to or less than the one image resolution, each of the subset of data components comprising a data size that is equal to or less than that associated with the one image resolution, such that the subset of data components comprises data sufficient to reconstruct the video frame at a corresponding one of the plurality of image resolutions; identify a hardware display communicatively coupled to the system; determine an available bandwidth between the system and the hardware display; select one image resolution from the plurality of available image resolutions based on the determined available bandwidth; for each video frame of the plurality of video frames; select a subset of data components of the video frame, the selected subset of data components comprising all of the data components associated with the image resolution selected from the plurality of available image resolutions, said all of the data components associated with the image resolution being equal to or less than the selected one image resolution; and transmit the selected subset of data components to the hardware display. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13)
-
14. A non-transitory computer-readable storage medium storing executable computer instructions for processing compressed video data that when executed by a processor of a computer system, causes the processor to:
-
access a plurality of encoded video frames, each video frame comprising a plurality of data components each associated with a different one of a plurality of available image resolutions such that the video frame can be displayed at a selected one image resolution of the plurality of available image resolutions in part by combining all of a subset of data components associated with an image resolution that is equal to or less than the one image resolution, each of the subset of data components comprising a data size that is equal to or less than that associated with the selected one image resolution, such that the subset of data components comprises data sufficient to reconstruct the video frame at a corresponding one of the plurality of available image resolutions; identify a hardware display communicatively coupled to the computer system; determine an available bandwidth between the computer system and the hardware display; select one image resolution from the plurality of available image resolutions based on the determined available bandwidth; for each video frame of the plurality of video frames; select one or more data components of the video frame, the selected one or more data components comprising all of the data components of the video frame associated with the image resolution that is equal to or less than the one image resolution selected from the plurality of available image resolutions; and transmit the selected one or more data components to the hardware display. - View Dependent Claims (15)
-
-
16. A method for processing compressed video data, the method comprising:
-
receiving, by a computer system, a plurality of data components, each of the data components associated with a different one of a plurality of accessible image resolutions of a video frame; decoding the received plurality of data components corresponding to the video frame to produce a plurality of decoded data components corresponding to the video frame; combining all of a subset of decoded data components that are associated with an image resolution that is equal to or less than a display resolution of the video frame such that the subset of decoded data components comprises data sufficient to reconstruct the video frame at the display resolution, the display resolution being one of a plurality of accessible image resolutions; and displaying the video frame at the display resolution. - View Dependent Claims (17, 18, 19, 20)
-
-
21. A method for providing compressed video data, the method comprising:
-
accessing, by a computer system, a plurality of video frames; identifying a hardware display communicatively coupled to the computer system; determining an available bandwidth between the computer system and the hardware display; selecting a desired image resolution out of one or more usable image resolutions based on the determined available bandwidth; for each video frame of the plurality of video frames; iteratively encoding the video frame into a plurality of data components associated with a plurality of respective image resolutions; wherein each iteration of the iterative encoding process comprises separating a component of the plurality of data components into (i) one or more low pass components associated with a lower image resolution, and (ii) one or more high pass components associated with a higher image resolution; and transmitting, to the hardware display, all of the data components of the plurality of data components that have an image resolution that is equal to or lower than the one selected image resolution. - View Dependent Claims (22, 23, 24, 25)
-
Specification