Frame or sub-frame rate adaptive vector quantizer for moving images
First Claim
1. A method of compressing and reconstructing a sequence of image signals by adaptive vector quantization comprising the steps of:
- constructing a code book having a plurality of addressable entries representing combinations of elements which have appeared frequently in previously coded images;
dividing said code book into two sections, wherein a first of said sections contains addressable entries for common characteristics of a large plurality of images, has a higher priority than a second section;
a second of said sections contains addressable entries for specific characteristics of a sequence of images, having less frequently occurring vectors and having a lower priority;
said first section containing vectors having the highest probability of occurrence;
storing said code book such that it may be used for both compression and reconstruction of the same image signals;
each of said sections being initialized to predefined sizes and states at the beginning of each coding process;
selecting a quality index which is a function of squared error distortion;
dividing each newly arriving image into blocks having N×
N picture elements;
comparing each block of each newly arriving image in said sequence with entries in said first section of said code book to find a best match vector based on a distance measure;
computing a first quality measure for said block;
if said first quality measure is smaller or equal to said quality index, sending the address of said best matching vector to a receiver;
if said first quality measure is larger than said quality index, searching for a best matching vector in said second section of said code book;
computing a second quality measure for said matching vector in said second section;
if said second quality measure is larger than said first quality measure, then sending the address of said best matched vector of said first section;
elsesending a special flag followed by the address of said best matched vector in said second section;
maintaining a record of frequency of usage of each vector in each section of said code book;
incrementing usage records for matched vectors in said first and second sections; and
periodically reordering said code book by swapping code vectors between said sections so that the most frequently used vectors appear in said first section.
1 Assignment
0 Petitions
Accused Products
Abstract
An adaptive vector quantization scheme suitable for packet video adapts to the varying characteristics of the actual images sequence being compressed. A large code book is divided into two sections, having higher and lower priority, representing common characteristics and specific characteristics of images. Each new image to be coded is first compared to the common characteristics section of the code book. If a match of acceptable quality is not found, then it is compared to the specific characteristics section. The best match of the two sections is utilized. Entries in the two sections are reorganized and/or exchanged as a function of the usage of the code vectors therein. The rate and extent of adaptation is dictated by the update interval and the desired level of quality, respectively, without requiring any transmission of the vectors themselves or the side information.
-
Citations
9 Claims
-
1. A method of compressing and reconstructing a sequence of image signals by adaptive vector quantization comprising the steps of:
-
constructing a code book having a plurality of addressable entries representing combinations of elements which have appeared frequently in previously coded images; dividing said code book into two sections, wherein a first of said sections contains addressable entries for common characteristics of a large plurality of images, has a higher priority than a second section; a second of said sections contains addressable entries for specific characteristics of a sequence of images, having less frequently occurring vectors and having a lower priority; said first section containing vectors having the highest probability of occurrence; storing said code book such that it may be used for both compression and reconstruction of the same image signals; each of said sections being initialized to predefined sizes and states at the beginning of each coding process; selecting a quality index which is a function of squared error distortion; dividing each newly arriving image into blocks having N×
N picture elements;comparing each block of each newly arriving image in said sequence with entries in said first section of said code book to find a best match vector based on a distance measure; computing a first quality measure for said block; if said first quality measure is smaller or equal to said quality index, sending the address of said best matching vector to a receiver; if said first quality measure is larger than said quality index, searching for a best matching vector in said second section of said code book; computing a second quality measure for said matching vector in said second section; if said second quality measure is larger than said first quality measure, then sending the address of said best matched vector of said first section;
elsesending a special flag followed by the address of said best matched vector in said second section; maintaining a record of frequency of usage of each vector in each section of said code book; incrementing usage records for matched vectors in said first and second sections; and periodically reordering said code book by swapping code vectors between said sections so that the most frequently used vectors appear in said first section. - View Dependent Claims (2, 3)
-
-
4. A method of compressing and reconstructing image signals by vector quantization, comprising the steps of:
-
selecting a quality index representing the maximum distortion acceptable for a reconstructed image; dividing two-dimensional image signals to be compressed into blocks, each block comprising a fixed number of elements; selecting a first vector which best matches but does not exceed a maximum distortion quality index to a set of image signals in each of said blocks from a first section of a code book comprising a plurality of vectors, said code book having been prepared in advance by defining a fixed number of vector elements representing common characteristics of images previously analyzed with a high probability of occurrence; if a match is found; sending the address of said selected first matching vector to a receiver for reconstruction of said image using vectors from a copy of said code book; if a match is not found; selecting a second vector which best matches the set of image signals in each of said blocks from a second section of said code book comprising a plurality of vectors representing specific characteristics of sequences of images having a low probability of occurrence; comparing said second matching vector with said first matching vector; if said second matching vector has a distortion greater than that of said first matching vector, then; sending the address of said first matching vector to receiver; if said second matching vector has a distortion less than said first matching vector, then; sending the address of said second matching vector to said receiver; incrementing a counter associated with each vector address transmitted to a receiver; comparing the values of said counters for all vectors in said first and second sections; and interchanging periodically vectors from said first and second sections so that vectors in said first section are those most frequently accessed and those in said second section are accessed less frequently. - View Dependent Claims (5, 6)
-
-
7. A system for compressing sequences of moving images at a transmitter for transmission over a network and for reconstructing said images at a receiver, comprising:
-
a code book prepared in advance having two sections; a first section of said code book comprising a limited number of vectors representing common characteristics of an ensemble of images, said characteristics having a high probability of occurring frequently; a second section of said code book comprising a greater number of vectors representing specific characteristics of sequences of images, said specific characteristics occurring less frequently than said common characteristics; identical copies of said code book being stored in said transmitter and in said receiver; means to initialize said code book prior to processing a sequence of images; means to select a quality index wherein said quality index specifies the maximum acceptable distortion in a reconstructed image; means to divide each incoming image into blocks of image pixels; means to derive a new vector for each of said blocks; means to compare said new vector with stored vectors in said first section of said code book to find a first matching vector which best matches said new vector; means to compute a quality measure for said first matching vector; if said quality measure for said first matching vector indicates less distortion than said quality index, then a transmission means transmits the address of said first matching vector to said receiver as a compressed image block; if not, then means to compare said new vector with stored vectors in said second section of said code book to find a second vector which best matches said new vector; means to compute a quality measure for said second matching vector; means to compare the quality measure of said second matching vector with the quality measure of said first matching vector; if the quality measure of said second matching vector indicates a distortion greater than that of said first matching vector, then; sending the address of said first matching vector to receiver as a compressed image block; if said second matching vector indicates a distortion less than that of said first matching vector, then; sending the address of said second matching vector to said receiver as a compressed image block; means to retrieve vectors having said transmitter addresses at said receiver and to reconstruct an image corresponding to an original image before compression; means for incrementing a counter associated with each vector address transmitted to a receiver; means for comparing the values of said counters for all vectors in said first and second sections; and means for interchanging periodically vectors from said first and second sections so that vectors in said first section are those most frequently accessed and those in said second section are accessed less frequently. - View Dependent Claims (8, 9)
-
Specification