14th LSI Design Contests・in Okinawa Design Specification - 8

8.Level 1 Basic Task

In this level, designer needs to design compression and decompression system as shown in Figure 11. The input of the system is QCIF size image (176 x 144 pixels). The input image is divided into 8x8 pixels which are called a block data of Y, Cr and Cb. The processing is done in raster scan manner that is started from upper left, and end in lower right corner of the image. The compression module consists of blocks as defined in Figure 12. The 1D-DCT block uses architecture as defined in Figure 5.

For each block of data processing, complete timing diagram is illustrated in Figure 13. The input data enters the compression module in column wise (C0, C1…C7). Each column consists of 8 pixels data with different row (R0, R1…R7). Therefore 8 clock cycles are required to input all block data. The input signal coming serially indicated by valid_input signal. One clock cycle after the first column data C0, the signed output is come out of Unsigned to Signed processing block. Therefore this block processing latency (Lsigned) is one clock cycle.

The output of Unsigned to Signed processing block is feed into 1D-DCT processing block. The processing latency (L1D-DCT) depends on how 1D-DCT in Figure 5 is implemented. The designer may divide it into several pipeline stages. The output of 1D-DCT processing block is stored in Transposition Buffer.

After all one block of pixels are processed by 1D-DCT processing block, the result is processed again by 1D-DCT in different direction. The processing delay is still the same with L1D-DCT. As soon as the first column data is finished, the result is computed by the Quantizer processing block. The latency of Quantizer processing (LQUANT)depends on how to implement it and its bit width. As a result, total time required to process a block of pixels data depends on Lsigned, L1D-DCT, and LQUANT.

The signed, transformation and quantization process are held when enable signal is asserted. Enable signal indicates that the core is ready to receive new input data. After some latency, output signal is validated when valid_output signal is asserted.

In order to optimize the design parameter (size, speed) while maintaining the image quality, the designer has to decide the optimum bit width of each processing block. This can be done by simulating the processing using fix point representation.

Figrue11

fig11   System Organization

Figrue11

fig12  The Compression Module Block Diagram

Figrue11

fig13  One Block Compression Timing Diagram

NoName PortDescriptionActiveI/OWidth
1clockClock signalInput1
2resetReset signalLowInput1
3enableIndicates that the core is ready to receive new dataHighInput1
4cmodeTable quantization selector
(Q50=0,Q80=1)
Input1
5datainColumn input signalInput64
6valid_inputSample the valid data at datain portHighInput1
7valid_outputValidata the output data at dataout portHighOutput1
8dataoutCompressed image signalOutput64

Table2   Port Definition

<<Back                 Next>>