NUC970 Technical Reference Manual
Publication Release Date: Dec. 15, 2015
- 1042 -
Revision V1.30
NUC97
0
T
E
CHNIC
A
L
RE
F
E
RE
N
CE
MA
NUA
L
For packet format, PLANAR_ON (JITCR[15]) set to 0.
5.29.5 Functional Description
JPEG Encode
5.29.5.1
The JPEG Codec supports Baseline Sequential Mode JPEG still image compression and
decompression that is fully compliant with ISO/IEC International Standard 10918-1 (T.81). The JPEG
codec also supports the thumbnail image compression for EXIF (Exchangeable image file format for
digital still camera, JEIDA). The following description describes the feature of the JPEG encoder. For
the DCT-based sequential mode, 8x8 blocks are typically input block-by-block from left to right, and
block-row by block-row from up to bottom. Each block is transformed by the forward DCT (FDCT) into
a set of 64 values referred to as DCT coefficients. Each of these 64 coefficients is quantized by one of
64 corresponding values selected from the quantization-table. After quantization, the DC coefficient is
coded by DPCM algorithm and the 63 AC coefficients are converted into one-dimension zig-zag
sequence. Then the run-size symbols are passed to a Huffman encoder for entropy coding and the
compressed JPEG bit-stream is generated by variable-length-encoder (VLE).
The JPEG encoder supports interleaved YUV422, YUV420 format and non-interleaved Y-component
only format if planar format set and packet YUYV format if packet format set. Besides the standard
compression, the JPEG encoder integrates a pre-processing unit that can scale-up or scale-down the
source image in horizontal and vertical directions.
JPEG Encode Operation
5.29.5.2
The JPEG encoder supports single compression mode and continuous compression mode. In single
mode, the programmer can use dual-buffer or fix-buffer to store JPEG bit-stream. In continue mode,
the programmer can store neighbor JPEG bit-stream in Frame Memory continuously. The JPEG
encoder also supports thumbnail image encode.
The JPEG Codec can encode the image with three components (Y, Cb, Cr) or Y component only,
where Y component represents the luminance information, and Cb & Cr represent the chrominance
information in planar format. It also can encode packet YUYV in packet format. The three components
are stored in frame memory separately. The JPEG Codec can compress YUV 420 or YUV 422 format
by programming the control register bit EY422 (JMCR[3]). The control registers JYADDR0, JUADDR0,
JVADDR0, JYADDR1, JUADDR1, JVADDR1 specify the memory starting address (buffer-0 & buffer-
1) of Y, Cb and Cr components and packet data. The control registers JYSTRIDE, JUSTRIDE,
JVSTRIDE specify the stride that is the address distance between adjacent lines for each component.
The control registers IO_IADDR0, IO_IADDR1 specify the memory starting address (buffer-0 & buffer-
1) for the JPEG bit-stream. The following figure depicts the source image starting address and stride.