
Functional description
VS6724
18/118
Quantizer
Quantizer scales the DCT coefficients with programmable luminance and chrominance Q-
tables. These Q-tables are programmed according to image characteristics, and modified by
the squeeze setting. The larger the squeeze setting, the more severe the quantization and
the greater the compression achieved.
Squeeze values can be manually set via the 8-bit register user_squeeze, or automatically
set, and dynamically adjusted, by the autosqueeze module.
Entcoder16
The entcoder16 (entropy coder with 16-bit output) converts the quantized data stream to a
symbol stream, including differential encoding of DC samples and run-length encoding of
zero-valued AC samples according to the JPEG standard, and finally Huffman-encodes the
symbol stream using hardwired baseline JPEG tables to compress the image. It also
includes the JPEG header and embeds restart interval markers (if requested by nonzero
restartinterval setting) as per the JPEG standard.
Autosqueeze
Autosqueeze is the VC’s in-built dynamic compression control system. It adjusts the
squeeze parameter based on measurements of two key criteria derived from the previous
frame: output file size, and FIFO fullness. Squeeze is subsequently driven iteratively
towards the optimal value, satisfying the two conditions:
1.
FIFO stability, i.e. fullness has not exceeded a user-defined dead-zone, AND
2.
output file size <= a user-defined target.
2.6.2
JPEG compression
At the simplest level the video compressor has one control which is the Squeeze setting:
this tells the system how hard to compress. A change in compression is achieved by scaling
the quantization tables.
Figure 7.
QCLK options
Video
compression
engine
UYV
422 to 420
JPEG
output
FIFO
Control
Squeeze
Firmware control
bOIFCLK
ratio
JPEG
YUV 422