Decoder for a software-implemented end-to-end scalable video delivery system
First Claim
1. A decoder that receives a network-transmittable server generated single embedded bit stream in pixel blocks that contains information for at least two spatial resolutions of video, said server encoding said embedded bit stream using discrete cosine transformation followed by tree-structured quantization, said decoder outputting from said bit stream scaleable video that is variable in at least one of spatial resolution, temporal resolution, and data rate, 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 when codewords present in said embedded bit stream were created; and
a processor controlled by said central processor unit that processes said information contained in said embedded bit stream and decodes at least a first spatial resolution image by decompressing base layer data contained within said embedded bit stream;
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.
0 Assignments
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.
151 Citations
20 Claims
-
1. A decoder that receives a network-transmittable server generated single embedded bit stream in pixel blocks that contains information for at least two spatial resolutions of video, said server encoding said embedded bit stream using discrete cosine transformation followed by tree-structured quantization, said decoder outputting from said bit stream scaleable video that is variable in at least one of spatial resolution, temporal resolution, and data rate, 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 when codewords present in said embedded bit stream were created; and
a processor controlled by said central processor unit that processes said information contained in said embedded bit stream and decodes at least a first spatial resolution image by decompressing base layer data contained within said embedded bit stream;
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, 4, 5, 6, 7, 8, 9, 10, 11, 13)
wherein bitstream bit rates O/k . . . , R/k are provided for said embedded bit stream.
-
-
6. The decoder of claim 5, wherein said memory unit stores codewords arranged in a tree structure.
-
7. The decoder of claim 1, wherein said server encodes spatial resolution data in said embedded bit stream in pixel blocks, wherein:
said decoder provides error correction for said embedded bit stream using inverse vector quantization followed by inverse discrete cosine transformation of at least some of said pixel blocks, said inverse vector quantization and said inverse discrete cosine transformation being preprocessed and stored in said memory unit.
-
8. The decoder of claim 1, wherein said vector quantization includes human perception modelling.
-
9. The decoder of claim 1, wherein said memory unit stores codewords arranged in a tree structure.
-
10. The decoder of claim 2, wherein:
said first image has 160×
120 pixel resolution, said second image has 320×
240 pixel resolution, and wherein said third image has 640×
480 pixel resolution.
-
11. The decoder of claim 2, wherein:
-
said processor decodes a 160×
120 pixel image by decompressing base layer data contained within said embedded bit stream;
said processor decodes a 320×
240 pixel image by decompressing said base layer data to obtain a first intermediate image and up-samples 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; and
said processor decodes a 640×
480 pixel image by up-sampling said first up-sampled image to yield a second intermediate image to which is added decompressed error data in a second enhancement layer contained in said embedded bit stream.
-
-
13. The decoder of claim 1 wherein said preprocessed decoded versions further include 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.
-
12. A hardware-based decoder for use with a video delivery system whose server encodes an embedded bit stream in pixel blocks using discrete cosine transformation followed by tree-structured quantization, said embedded bit stream 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 storing preprocessed decoded versions of quantized indexable representations of inverse discrete cosine transforms of image data used by said server to create 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;
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 (14, 15, 16, 17, 18, 19)
wherein bitstream bit rates O/k . . . , R/k are provided for said embedded bit stream.
-
-
17. The decoder of claim 12, wherein said read-only memory stores codewords arranged in a tree structure.
-
18. The decoder of claim 12, wherein said vector quantization includes human perception modelling.
-
19. The decoder of claim 12, wherein:
-
said server encodes spatial resolution data in said embedded bit stream in pixel blocks; and
wherein;
said decoder provides error correction for said embedded bit stream using inverse vector quantization followed by inverse discrete cosine transformation of at least some of said pixel blocks, said inverse vector quantization and said inverse discrete cosine transformation being preprocessed and stored in said memory unit.
-
-
20. A method of decoding information embedded by a video server in an embedded bit stream having pixel blocks that include information for at least two spatial resolutions, said embedded bit stream being encoded by said server using discrete cosine transformation followed by tree-structured quantization, 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 embedded bit stream to use information contained therein to index into said stored set of preprocessed decoded versions to decode at least one of;
(i) a first spatial resolution image by decompressing base layer data contained within said embedded bit stream;
(ii) 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; and
(iii) if said bit stream contains at least three spatial resolutions, a third image whose spatial resolution is higher than said second image by up-sam-pling said first up-sampled image to yield a second intermediate image to which is added decompressed error data in a second enhancement layer contained in said embedded bit stream;
wherein said a viewable image is decodable by said decoder from codewords received in said embedded bit stream that contain less than a number of bits representing a full-length codeword.
-
Specification