Portable video-camera applications require image compression with high compression ratio and extremely low power consumption. This real-time image encoder chip for such applications, fabricated in 0 . 8~ CMOS technology, processes analog image data from a BiW image sensor without ADCs and consumes l6mW at 3V supply t o encode images that are192 pixels wide and 228 lines at GOFrame/s. For ordinary DCT-based digital processingschemes such as JPEG, lOmW or more is consumed by onlythe core digital DCT processor in 0 . 3~ CMOS technology [l].This analog encoder uses switched capacitor techniques for analog arithmetic processing. By taking advantage of the compact nature of the processing units, massively parallel implementation makes it possible to decrease operating speed of each unit. The units use vector quantization for subband image compression. The encoder six-line parallel analog input decreases the input data rate and reduces the number of analog sample-holds. A CMOSimager that outputs data in parallel to directly interface with this encoder LSI is to be integrated with the encoder by reducing the layout size of the encoder.For high compression ratio and reduced circuit scale, meanseparated normalized vector quantization (MSNVQ) is applied twice with different spatial scales [21. The MSNVQ algorithm for k-dim vector X=( xl, x2, ..., xK) is as follows. Let p(X)=(l/K)(x, + xz + ... +%)be the mean of vector X, then the mean separatedvector m(X) is defined as m(X) = (xl-p(X), xz-p(X), ..., xK-p(X)). An Nbit code book for vector quantization consists of code words Cp (1SpS2N) with p(Cp)=O, I Cp I =1. The principal function of vector quantization is to find the index I such that the inequality m(X)-C, 2 m(X)-C, holds for all i. The index I is called the shape of the vector X and the product P= m(X)*C I is called the gain of X. Note t h a t P = max (m(X)*CJ = max (X-C,-p(X)K p(C,)) = max (X-CI) (l).Accordingly, the MSNVQ encodes p(X) andP by scalar quantization and outputs the quantized codes of p(X) and P as well as the index I. The vector X is reconstructed using the quantized values q[p(X)l and q[Pl as dec(X)=q [PlC,+q[ll(X)]U, where U=( 1,1, ..., 1). Figure 1, MSNVQ is first applied to 6x6 pixel blocks (S-block), which have a code book consisting of 64 code words and a structure that is symmetrical with the origin (that is, for each code word C,, the sign inverted vector -C, is also included in the code book). This MSNVQ is called S-MSNVQ. Each gain of an Sblockis quantizedto 3b. Subsequently, 2x2 blocks(L-blocks), each consisting of the means of 2x2 S-blocks, are encoded by yet another MSNVQ, calledL-MSNVQ, whose code book also consists of 64 code words having the same symmetrical structure with the origin as S-MSNVQ. Each gain of an L-block is quantized to 4b and each mean is quantized to 5b. To reduce the bit rate further, the gain and the shape for an S-block are discarded if the gain is smaller than a threshold.
As shown inThe overall chip architecture is shown in Figure 2. The input buffer samples and holds...