New high speed JPEG operator and examples (VA 3.2.0)

  • VisualApplets 3.2.0 includes a brand new JPEG encoder
    replacing the old one!


    • Super fast! Scalable to any bandwidth
      In comparison to the old operator with a fixed parallelism, the new operator allows arbitrary configurations to adapt to any bandwidth.
    • Super flexible
      Compatible with Mono, RGB or Bayer CFA cameras or any other like IR or linescan
      One, two, three, four, ... JPEG encoders and cameras on the same frame grabber.
    • Optimized for todays FPGAs
      The new operator will extensively use the FPGA features of the mE5 and mE6 frame grabber series as well as eVA devices using the XILINX 7 series and above. The operator is ready for future frame grabbers,
    • Mono and Color
      The new implementations can be used for monochrome images and color compression.
    • Ease of use:
      The JPEG output includes the JPEG file interchange format header. The DMA transfer can be directly written into a file which can be opened by any image viewer following the JPEG standard.

    You can include the JPEG to any VisualApplets design. Mono, RGB, Color, Area, Line, including pre-processing, including 1 or several DMA channels, etc.

    The microEnable 5 series frame grabbers offer enough FPGA resources for various configurations. The following table lists only some of the possible configurations.

    Configuration Mono / Bayer Frame Grabber Input Bandwidth JPEG Bandwidth
    Camera Link Dual Base Mono mE5-MA-VCL 2 x 255 MB/s 2 x 255 MB/s, total 510 MB/s
    Camera Link Single Full Mono mE5-MA-VCL 850 MB/s 850 MB/s
    CoaXPress, 1 camera, 6 Gbit/s, 4 links Mono mE5-MA-VCX-QP 2400 MB/s 2400 MB/s
    CoaXPress, 2 cameras, 6 Gbit/s, 2 links Mono mE5-MA-VCX-QP 2 x 1200 MB/s 2 x 1200 MB/s, total 2400 MB/s
    CoaXPress, 4 cameras, 6 Gbit/s, 1 link Mono mE5-MA-VCX-QP 4 x 600 MB/s 4 x 600 MB/s, total 2400 MB/s
    Camera Link Dual Base Bayer mE5-MA-VCL 2 x 255 MB/s 2 x 765 MB/s, total 1530 MB/s
    Camera Link Single Full Bayer mE5-MA-VCL 850 MB/s 2550 MB/s
    CoaXPress, 1 camera, 6 Gbit/s, 4 links Bayer mE5-MA-VCX-QP 2400 MB/s 7200 MB/s
    CoaXPress, 2 cameras, 6 Gbit/s, 2 links Bayer mE5-MA-VCX-QP 2 x 800 MB/s 2 x 2400 MB/s, total 4800 MB/s
    CoaXPress, 3 cameras, 6 Gbit/s, 1 link Bayer mE5-MA-VCX-QP 4 x 600 MB/s 4 x 1800 MB/s, total 5400 MB/s

    VisualApplets Examples and Documentation

    The usage in VisualApplets is very easy. For monochrome applets, you can directly use the operator. VisualApplets uses a lot of examples make your integration as easy as possible.

    LINK: Check the VisualApplets user manual to get a description and location of the examples.

    For color RGB and Bayer applets VisualApplets comes with pre-defined user libraries enabling color compression.


    LINK: Check the user manual for examples on VisualApplets color compression.


    Each of the user library elements comes with a dedicated help site. This is the same for the mono operator LINK.

    Questions? Requests? Feedback?

    Let us know if you have questions about the JPEG operator.

    The user library elements for color compression are made for specific configurations. If you need another configuration please let us know and we might be able to generate your desired configuration.

    Application Areas

    • streaming to cloud services
    • recording systems
    • medical
    • postal
    • rail / road inspection
    • security
    • entertainment

    No CPU load for compression with FPGA implementation!



    Johannes Trein
    Group Leader R&D
    frame grabber

    Basler AG

  • I like to mention one interesting behavior of the operator:

    If the header generation is acitvated the operator will start the output of the header BEFORE image data will arrive at the operator intput. So the operator output transfer is started earlier to the image data transfer.

    This can cause problems for example in the following cases

    • Measuer the latency with operators FrameStartToSignal and SignalToDelay. Use FrameEndToSignal instead
    • putting a SourceSelector after the JPEG_Encoder. Chaning the source will be affected to the next image only as transfer of a current image has already started
    • For eVA devices ensure that the output is capable to accept data transfer earlier to the sensor transfer


    Johannes Trein
    Group Leader R&D
    frame grabber

    Basler AG