Color JPEG Encoding

In Fig. 228 you can see the top level design for each process of the VisualApplets examples for color JPEG encoding with the modules Implementation and Parameters. In this top level design you find also information on the number of processes in the design and on the design clock frequency used in the example implementation.

Top level design structure

Figure 228. Top level design structure

With right-mouse-click on the box Parameters you can set the applets parameters like image dimension, JPEG quality, pixel format or Bayer Pattern. You can set these parameters dynamically during execution of the applet in hardware. In the module Implementation the JPEG compression is implemented. Please see Fig. 229 for the basic implementation structure.

Basic implementation of color JPEG compression using user library elements

Figure 229. Basic implementation of color JPEG compression using user library elements

The input images acquired by a Bayer camera with maximum image dimensions of 5120x5120 pixels are forwarded to the module Bayer. In this module the color images are reconstructed using the DeBayering operator Bayer3x3Linear. Output of this module are RGB color images with 8 bit per color component. These images are converted from RGB to YCbCr color space using module YCbCr before they are forwarded to the user library elements for color JPEG compression. The color JPEG compression is performed using a chroma subsampling of 4:2:0. With right-mouse-click on the user library element you can configure parameters like image width and height (maximum image dimensions: 5120x5120 pixels) or the quality of the JPEG compression in percent. As a more comfortable alternative you can modify these parameters in the top level design with right-mouse click on module Parameters (see above). The compressed JPEG Huffman stream with included header is then transmitted via DMA0_JPEG to PC. Each of the user elements for color JPEG compression is optimized for a specific platform and can process an individual maximum bandwidth. The name of the user library elements gives hint to these properties. In the following section you find a table of the user library elements used in the example designs for color JPEG compression. In the designs the user has furthermore the possibility to process images generated by a color pattern generator instead of images acquired by a camera. This can be realized in choosing the input source for Source Selector operator EnablePatternGenerator or in setting the corresponding parameter TestImageGenerator of the module Parameters in the top level design (see above).