Method and apparatus for efficiently encoding and decoding image sequences
First Claim
1. A method for encoding transform coefficient data associated with the transform of an image frame, the coefficient data being represented in a two-dimensional array, the method comprising the steps ofidentifying those coefficients of the coefficient data associated with the transform which will be transmitted to a receiver,quad-tree encoding the array locations of those coefficients which will be transmitted, andencoding, using a variable length coding procedure, the quad-tree data code words.
5 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus, for encoding transform coefficient data representing an error or a motion description of each of a plurality of blocks in one image frame of a timed sequence of image frames, identify those blocks for which data will be transmitted, quad-tree encode, and then variable length encode the locations of the blocks. The bit rate can be controlled by varying the quantization of the encoded data and preferably quantization step size is predicted prior to encoding the data. Further, the quad-tree encoding process can be terminated after the coding process generates a selected number of bits. At the receiver, the method and apparatus provide a multiple lookup table method for decoding the variable length coded data.
-
Citations
30 Claims
-
1. A method for encoding transform coefficient data associated with the transform of an image frame, the coefficient data being represented in a two-dimensional array, the method comprising the steps of
identifying those coefficients of the coefficient data associated with the transform which will be transmitted to a receiver, quad-tree encoding the array locations of those coefficients which will be transmitted, and encoding, using a variable length coding procedure, the quad-tree data code words.
-
11. An apparatus for encoding transform coefficient data associated with the transform of an image frame, the coefficient data being represented in a two-dimensional array, said apparatus comprising
means for identifying those coefficients of the coefficient data associated with the transform which will be transmitted to a receiver, encoding means for quad-tree coding the array locations of those coefficients which will be transmitted, and means for variable length coding the quad-tree data code words.
-
21. A method for decoding a variable length coded data stream comprising the steps of
applying a received data stream to a plurality of lookup tables, a first lookup table being responsive to a first number of sequentially received bits of each variable length code word beginning at the first bit of each word, said number of bits being less than the length of the longest variable length code word, and each other lookup table being responsive to at least part of a second number of sequentially received bits of each variable length code word beginning after the first bit of each word, said second umber of bits being less than the length of the longest variable length code word, and the sum of said first number and said second number being at least equal to the length of the longest variable length code word, setting a flag whenever said variable length code word cannot be decoded using only the first lookup table, and decoding said variable length code word using said other lookup tables whenever said flag is set and using said first table only when there is no flag.
-
23. A method for encoding motion estimation transform data representing the motion of each of a plurality of blocks representing an image frame in a time sequence of image frames, said transform data for each block being arranged in a two dimensional array, each block having associated therewith motion transform data representing the motion estimate for that block, said method comprising the steps of
identifying those blocks for which motion estimation transform data will be transmitted, quad-tree encoding the locations of those blocks for which motion estimation data will be transmitted, and encoding, using a variable length coding procedure, the quad-tree data code words.
-
24. Apparatus for encoding motion estimation transform data representing the motion of each of a plurality of blocks representing an image frame in a time sequence of image frames, said transform data for each block being arranged in a two dimensional array, each block having associated therewith motion data representing the motion estimate for that block, said apparatus comprising
means for identifying those blocks for which motion estimation transform data will be transmitted, quad-tree encoding means for coding the locations of those blocks for which motion estimation transform data will be transmitted, and means for variable length coding the quad-tree data code words.
-
25. Apparatus for decoding a variable length coded data stream comprising
means for applying a received data stream to a plurality of lookup tables, a first lookup table being responsive to a first number of sequentially received bits of each variable length code word beginning at the first bit of each word, said number of bits being less than the length of the longest variable length code word, and each other lookup table being responsive to at least part of a second number of sequentially received bits of each variable length code word beginning after the first bit of each word, said second number of bits being less than the length of the longest variable length code word, and the sum of said first number and said second number being at least equal to the length of the longest variable length code word, means for setting a flag whenever said variable length code word cannot be coded using only the first lookup table, and means for decoding said variable length code word using said other lookup tables whenever said flag is set and using said first table only when there is no flag.
-
27. A method for encoding transform data for a plurality of blocks associated with an image frame in a time sequence of image frames, said method comprising the steps of
transform coding data associated with said image frame for generating a plurality of transform coefficients; - and
predicting a quantization step size for said transform coefficients from image statistics, and prior to encoding said image. - View Dependent Claims (28)
- and
-
29. Apparatus for encoding transform data for a plurality of blocks associated with an image frame in a time sequence of image frames, said apparatus comprising
means for transform coding data associated with said image frame for generating a plurality of transform coefficients; - and
means for predicting a quantization step size for said transform coefficients from image statistics, and prior to encoding said image. - View Dependent Claims (30)
- and
Specification