Decoder for a software-implemented end-to-end scalable video delivery system
First Claim
1. A decoder for use with a video delivery system whose server provides an embedded bit stream in pixel blocks including information for at least two spatial resolutions and transmittable over at least one network, the decoder including:
- a central processor unit coupled to a memory unit;
a look-up table, stored in said memory unit, including preprocessed decoded versions of quantized indexable representations of inverse discrete cosine transforms of image data used by said server in creating codewords present in said embedded bit stream; and
means, operating under control of said central processor unit, for processing said information contained in said embedded bit stream;
said means for processing decoding a first spatial resolution image by decompressing base layer data contained within said embedded bit stream;
said means for processing further decoding a second, higher, spatial resolution image by decompressing said base layer data to obtain a first intermediate image that is up-sampled to yield a first up-sampled image to which is added decompressed error data in a first enhancement layer contained in said embedded bit stream;
wherein said server encodes said embedded bit stream by performing a discrete cosine transform followed by tree-structured quantization, andwherein said decoder can decode a viewable image from data in said embedded bit stream from received codewords containing less than a number of bits representing a full-length codeword.
1 Assignment
0 Petitions
Accused Products
Abstract
A decoder is used in an end-to-end scalable video delivery system operable over heterogeneous networks. The decoder may software-based and computationally low complexity, or may be implemented inexpensively in ROM hardware. The system utilizes a scalable video compression algorithm based on a Laplacian pyramid decomposition to generate an embedded information stream. At the receiving end, the decoder extracts from the embedded stream different streams at different spatial and temporal resolutions. Decoding a 160×120 pixel image involves only decompressing a base layer 160×120 pixel image. Decoding a 320×240 pixel image involves decompressing and up-sampling (e.g., interpolating) the base layer to yield a 320×240 pixel image to which is added error data in a first enhancement layer following its decompression. To obtain a 640×480 pixel image, the decoder up-samples the up-sampled 320×240 pixel image, to which is added error data in a second enhancement layer, following its decompression. Because decoding requires only additions and look-ups from a table stored in a small (12 Kb) memory, decoding occurs in real-time. Subjective quality of the compressed images preferably is enhanced using perceptual distortion measures. The system also provides joint-source channel coding capability on heterogenous networks. The look-up table or codebook includes the inverse perceptual weighting (preprocessed) and the inverse transform (preprocessed). Decoding permits the codewords within the look-up table codebook to include preprocessed color conversion, dithering, color palletization, edge-enhancement, decimation, and interpolation.
165 Citations
18 Claims
-
1. A decoder for use with a video delivery system whose server provides an embedded bit stream in pixel blocks including information for at least two spatial resolutions and transmittable over at least one network, the decoder including:
-
a central processor unit coupled to a memory unit; a look-up table, stored in said memory unit, including preprocessed decoded versions of quantized indexable representations of inverse discrete cosine transforms of image data used by said server in creating codewords present in said embedded bit stream; and means, operating under control of said central processor unit, for processing said information contained in said embedded bit stream; said means for processing decoding a first spatial resolution image by decompressing base layer data contained within said embedded bit stream; said means for processing further decoding a second, higher, spatial resolution image by decompressing said base layer data to obtain a first intermediate image that is up-sampled to yield a first up-sampled image to which is added decompressed error data in a first enhancement layer contained in said embedded bit stream; wherein said server encodes said embedded bit stream by performing a discrete cosine transform followed by tree-structured quantization, and wherein said decoder can decode a viewable image from data in said embedded bit stream from received codewords containing less than a number of bits representing a full-length codeword. - View Dependent Claims (2, 3, 6, 7, 8, 9, 10)
-
-
4. A decoder for use with a video delivery system whose server provides an embedded bit stream, transmittable over at least one network, including information for at least two spatial resolutions wherein for at least one of said two spatial resolutions domain information provided has been vector quantized, the decoder including:
-
a central processor unit coupled to a memory unit; a look-up table, stored in said memory unit, including preprocessed decoded versions of quantized indexable representations of frequency domain transforms of image data used by said server in creating codewords present in said embedded bit stream; means, operating under control of said central processor unit, for processing said information contained in said embedded bit stream; said means for processing decoding a first spatial resolution image by decompressing base layer data contained within said embedded bit stream; said means for processing further decoding a second, higher, spatial resolution image by decompressing said base layer data to obtain a first intermediate image that is up-sampled to yield a first up-sampled image to which is added decompressed error data in a first enhancement layer contained in said embedded bit stream; wherein said server encodes said embedded bit stream by performing a discrete cosine transform followed by tree-structured vector quantization, and wherein vector quantization is such that said means for processing can decode a viewable image from data in said embedded bit stream from received codewords containing less than a number of bits representing a full-length codeword. - View Dependent Claims (5, 11)
-
-
12. A hardware-based decoder for use with a video delivery system whose server provides an embedded bit stream in pixel blocks including information for at least two spatial resolutions and transmittable over at least one network, the decoder including:
-
a central processor unit coupled to a memory unit including a read-only memory; said read-only memory including preprocessed decoded versions of quantized indexable representations of inverse discrete cosine transforms of image data used by said server in creating codewords present in said embedded bit stream; said preprocessed decoded versions including at least information used to decode a first spatial resolution image by decompressing base layer data contained within said embedded bit stream; and
information used to decode a second, higher, spatial resolution image by decompressing said base layer data to obtain a first intermediate image that is up-sampled to yield a first up-sampled image to which is added decompressed error data in a first enhancement layer contained in said embedded bit stream;wherein said server encodes said embedded bit stream by performing a discrete cosine transform followed by tree-structured quantization, and wherein said decoder can decode a viewable image from data in said embedded bit stream from received codewords containing less than a number of bits representing a full-length codeword. - View Dependent Claims (13, 14, 15)
-
-
16. A method of decoding information received by a decoder used with a video delivery system whose server provides an embedded bit stream in pixel blocks including information for at least two spatial resolutions and transmittable over at least one network, the method including the following steps:
-
(a) providing a stored set of preprocessed decoded versions of quantized indexable representations of inverse discrete cosine transforms of image data used by said server in creating codewords present in said embedded bit stream; (b) processing said information in said embedded bit stream, including using information contained in said bit stream to index into said stored set of preprocessed decoded versions to decode a first spatial resolution image by decompressing base layer data contained within said embedded bit stream and to decode a second, higher, spatial resolution image by decompressing said base layer data to obtain a first intermediate image and up-sampling said first intermediate image to yield a first up-sampled image to which is added decompressed error data in a first enhancement layer contained in said embedded bit stream; wherein said server encodes said embedded bit stream by performing a discrete cosine transform followed by tree-structured quantization, and wherein said decoder can decode a viewable image from data in said embedded bit stream from received codewords containing less than a number of bits representing a full-length codeword. - View Dependent Claims (17, 18)
-
Specification