Digital video compression system utilizing vector adaptive transform
First Claim
1. A method for encoding frames of digitized video information, wherein the frames are divided into blocks, and wherein numbers of bits available for encoding video information change over time so that the number of bits available for encoding a frame may differ from the number of bits available for encoding a subsequent frame, said method comprising:
- performing a spatial domain to transform domain transformation of video information related to each block of a frame to obtain a corresponding block of transform coefficients;
ascertaining the number of bits available for encoding said frame;
allocating a number of bits to the encoding of each block of transform coefficients for all the blocks in said frame; and
quantizing and coding each block of transform coefficients to generate variable length coding bits for each block, wherein the number of bits generated for each block is a function of the number of bits allocated to the encoding of a different block.
1 Assignment
0 Petitions
Accused Products
Abstract
A video compression system comprises a pre-processing section, an encoder, and a post-processing section. The pre-processing section employs a median decimation filter which combines median filtering and decimation process. The preprocessing section also employs adaptive temporal filtering and content adaptive noise reduction filtering to provide images with proper smoothness and sharpness to match the encoder characteristics. The encoder employs a two pass look-ahead allocation rate buffer control scheme where the numbers of bits allocated and subsequently generated for each block may differ. In the first pass, the means square error for each block is estimated to determine the number of bits assigned to each block in a frame, In the second pass, the degree of compression is controlled as a function of the total number of bits generated for all the preceding blocks and the sum of the bits allocated to such preceding blocks. The DCT coefficients are vector coded by scanning the coefficients using three different scan paths, and the one providing the most compact path is chosen. Each scan vector is divided into eight zones and coded using variable length coding. An all vector module is employed to take advantage of the low rate coding. Background information is employed in addition to the previous frame for prediction to achieve better coding gain. The post-processing section filters block boundaries to remove blocking artifacts. Depending on the image characteristic (average quantization applied), different kinds of filtering is applied to enhance the images.
-
Citations
11 Claims
-
1. A method for encoding frames of digitized video information, wherein the frames are divided into blocks, and wherein numbers of bits available for encoding video information change over time so that the number of bits available for encoding a frame may differ from the number of bits available for encoding a subsequent frame, said method comprising:
-
performing a spatial domain to transform domain transformation of video information related to each block of a frame to obtain a corresponding block of transform coefficients; ascertaining the number of bits available for encoding said frame; allocating a number of bits to the encoding of each block of transform coefficients for all the blocks in said frame; and quantizing and coding each block of transform coefficients to generate variable length coding bits for each block, wherein the number of bits generated for each block is a function of the number of bits allocated to the encoding of a different block. - View Dependent Claims (2, 3)
-
-
4. An apparatus for encoding frames of digitized video information, wherein the frames are divided into blocks, and wherein numbers of bits available for encoding video information change over time so that the number of bits available for encoding a frame may differ from the number of bits available for encoding a subsequent frame, said apparatus comprising:
-
means for performing a spatial domain to transform domain transformation of video information related to each block of a frame to obtain a corresponding block of transform coefficients; means for ascertaining the number of bits available for encoding said frame; means for allocating a number of bits to the encoding of each block of transform coefficients for all the blocks in said frame; and means for quantizing and coding each block of transform coefficients to generate variable length coding bits for each block, wherein the number of bits generated is a function of the number of bits allocated to the encoding of a different block of transform coefficients.
-
-
5. A method for encoding frames of pixel values of video information, wherein the frames are divided into blocks, said method comprising:
-
performing a spatial domain to transform domain transformation of video information related to each block of a frame to obtain a corresponding block of transform coefficients; quantizing and coding each block of transform coefficients to generate variable length coding bits for each block, wherein the quantizing step is performed by reference to one index within a set of numerical indices indicating number of bits resulting from the quantizing step, and wherein said indices have values that vary directly with the number of bits resulting from the quantizing step; computing an average value of the indices by reference to which the blocks of a frame have been quantized and coded in the quantizing and coding step; comparing said average value to predetermined range values; and multiplying each pixel value by a selected matrix element when the average value is within predetermined range values.
-
-
6. A method for encoding frames of digitized video information, wherein the frames are divided into blocks, said method comprising:
-
performing a spatial domain to transform domain transformation of video information related to each block of a frame to obtain a corresponding block of transform coefficients; quantizing and coding each block of transform coefficients to generate variable length coding bits for each block, wherein said coding step includes; first scanning at least some of the coefficients of each block along at least two different paths and counting the number of nonzero scanned coefficients along each path to obtain at least two numbers; comparing the numbers obtained to find the largest of the numbers; and scanning the coefficients of each block along the path that results in the largest number before coding each block of transform coefficients. - View Dependent Claims (7)
-
-
8. A method for encoding frames of digitized video information, wherein the frames are divided into blocks, said method comprising:
-
performing a spatial domain to transform domain transformation of video information related to each block of a frame to obtain a corresponding block of transform coefficients; quantizing and coding each block of transform coefficients to generate variable length coding bits for each block; dividing each block into two or more sets of zones; and forming a scan vector of at least one zone and variable length coding of coefficients of said at least one zone. - View Dependent Claims (9, 10)
-
-
11. A method for encoding frames of video information, said frames divided into blocks, wherein the frames are encoded sequentially in a time sequence, so that each block in a frame has a corresponding block in a different frame, said method comprising:
-
performing a spatial domain to transform domain transformation of video information related to each block of a frame to obtain a corresponding block of transform coefficients; quantizing and coding each block of transform coefficients to generate variable length coding bits for each block; reconstructing each block from its variable length coding bits; storing said reconstructed block; storing a predetermined frame of video information as the background frame, said frame containing a background block corresponding to said reconstructed block; comparing a current block to be quantized and coded to said reconstructed block and to the background block to determine a prediction block; and using the prediction block to derive said video information related to each block that is transformed in said performing step.
-
Specification