Operator ImageBuffer_JPEG_Gray

The operator ImageBuffer_JPEG_Gray is used in combination with operator JPEG_Encode_Gray. The operator buffers the image data and remap pixels for the successive JPEG encoder.

For JPEG compression images have to be divided into blocks of eight by eight pixels. The JPEG encoder requires an input data stream consisting of these previously remapped pixels which is performed by the ImageBuffer_JPEG_Gray. The following figure illustrates the behavior

Besides the sorting of pixels and the buffering of image data, the operator allows a dynamic ROI selection. The XLength has to be a multiple of 16 where the XOffset has to be a multiple of eight. In y-direction the offset may be any value, where the YLength has to be a multiple of 8. The operator always cuts the given XLength. If the input image is smaller than the parameterized XLength, the current memory content will be output. If the y length of the input image is smaller than the y length given by the parameters, the output of the buffer is clipped the same y length as the input plus an extension so that the height is a multiple of eight.

The ROI coordinates may be changed at any time. However, a change while the operator is currently processing an image might result in unwanted results. Therefore, a change during idle periods is recommended.

Operator Restrictions

  • The operator does not support empty images i.e. images with no pixels.
  • The lines of each input image at port I must have the same length. Thus images with varying line lengths are not allowed.
  • The operator requires non FPGA memory. The memory resources might be limited. Check the available memory resources. (mostly DRAM memory) Map available RAM resources to modules of this operators. See 'Allocation of Device Resources' for more information.
Availability for Hardware Platforms
Please note that this operator is only available for target platforms of the microEnable 4 series (including PixelPlant).

I/O Properties

Property Value
Operator Type M
Input Link I, data input
Output Link O, data output

Supported Link Format

Link Parameter Input Link I Output Link O
Bit Width 8 as I
Arithmetic unsigned as I
Parallelism {1, 2, 4, 8}1 8
Kernel Columns 1 as I
Kernel Rows 1 as I
Img Protocol VALT_IMAGE2D as I
Color Format VAF_GRAY as I
Color Flavor FL_NONE as I
Max. Img Width any2 as I
Max. Img Height any as I

1

The maximum parallelism depends on the available RAM data width on the frame grabber. Parallelism eight is only available for RAM data widths greater equal 64.

The RAM data width of all microEnable IV frame grabbers is 64.

2

The maximum image width is

The RAM address width of all microEnable IV frame grabbers is 24 bit.

Parameters

XOffset
Type static/dynamic read/write parameter
Default 0
Range [0, MaxImageWidth - 16], step size = 8

This parameter defines the x-coordinate of the upper left corner of the ROI. The XOffset has to be a multiple of eight.

XLength
Type static/dynamic read/write parameter
Default 1024
Range [16, MaxImageWidth], step size = 16

This parameter defines the width of the ROI. It has to be a multiple of 16.

YOffset
Type static/dynamic read/write parameter
Default 0
Range [0, MaxImageHeight - 8], step size = 1

This parameter defines the y-coordinate of the upper left corner of the ROI. The YOffset has to be a multiple of eight.

YLength
Type static/dynamic read/write parameter
Default 1024
Range [8, MaxImageHeight], step size = 8

This parameter defines the height of the ROI. It has to be a multiple of 8.

FillLevel
Type static read parameter
Default 0%
Range [0, 100%]

This read only parameter shows the current fill level of the buffer.

InfiniteSource
Type static parameter
Default ENABLED
Range {ENABLED, DISABLED}

Set this parameter to ENABLED if the operator is connected to a camera without any other buffers in between. Otherwise set the value to DISABLED. See 'Infinite Sources / Connecting Cameras' for more information.

Examples of Use

The use of operator ImageBuffer_JPEG_Gray is shown in the following examples: