how to implement meta information / sideband information synchronous to VA chain

  • STEFAN SEIWERT

    Changed the title of the thread from “how to implement meta information / sideband informmation synchronous to VA chain” to “how to implement meta information / sideband information synchronous to VA chain”.
  • As far as I understand is the timestamp not in the sideband but in the line of pixels itself. If i would apply an fft-VA on the line, the timestamp will be lost and I would get wrong fft output. Information is not in the sideband. Right?

  • In the example design the time stamp is directly included in the pixels stream. Of ourse first FFT or other kinds of image processing can be performed and the pixels can inserted to the image stream after FFT and image processing. Of course it is also possible to insert meta data as an additional line to the end of the image. You can use VisualApplets operator InsertImage for this case.

  • Dear Stefan Seiwert,


    in VisualApplets you are most flexible how to insert meta data information in the pixel stream transferred over DMA to PC. You can insert the data on different positions in the imagage data stream. In the example the meta data are inserted at the beginning of each line. Also it is possible to insert the meta data on any other position in the image data stream.

    The example design shows you how you can synchronize meta data and the image data stream in general.

    VisualApplet gives you the possibility to be most flexible. You can exchange pixels in the original image with meta data or you can append meta data to the bottom of an image or at the end of each line,....

  • Dear Stefan,
    You can insert the side-band data by InsertLine operator directly before the DMA transfer or use a second DMA tranfer for handling that. Please provide a sketch of what you require and I can translate that into a VA design example.
    Best regards,

  • Dear Björn,

    assume an VA chain, going from Line Camera aquisition to VA1, follwed by VA2 , VA 3 and so on to VA n , then transfer from VA n to PC Memory.

    Assume some of the VA produce meta information like Timestamp, ID, other generate Peak positions, other generate Minimum and Maximum Values and more and so on.

    How can these meta information be handled in a way, that hey are treated as sideband information and not as picture information?

    In the case meta information is treated as picture information, it will be affected by a VA and possibly not conserved and will not reach end of VA Chain.

  • Dear Stefan,

    All data in VA designs is always handled as images. All image data is forwarded into the memory of the host system.
    A DMA data transfer will return as a pointer to linear memory in the host system.
    By using a operator like InsertImage it is possible to attach an additional data block at the end of an image.

    Example: An camera image of 1024x1024 pixels at 8bit is processed and additional meta-data is collected; simply add the meta-data by InsertImage and AppendImage operator to the end of the image. On the host-side the data pointer is returned: the first 1024x1024 bytes are image data, while the additional data is the meta-block. If you take care to make a proper memory alignment of the meta data: using 64/32bit types the corresponding data can easily addressed by pointer arithmetics or structs.
    The memory pointer returned by the DMA transfer to the memory block including images & co, can be extended by the used DMA transfer length for handling variable data length. Casting the memory-blocks to the correct data-type is required.
    So, within VA, the image data is processed as designed while the side-band information needs to flow through a parallel path, that is connected to the DMA by using InsertImage and AppendImaqge operator. Converting the side-band meta data to a software related structure can be done by CastBitWidth, CastParallel and similar.
    While the DMA transfer is handling everything as an image, the meta-data is unchanged and requires simply a cast and some pointer-arithmetics.
    Best regards,

  • Dear Björn,

    how does it work with a line camera? Can meta data be evaluated and stored in each line at each VA along the VA Chain?

    Best regards, Stefan

  • Hello Stefan,

    I do not know what you exactly mean with "each VA" - do you mean at each operator?

    Simple use InsertLine Followed by Appendline, this will attach the desired meta - information at the end of each line. This works for VALT_LINE1D as well as for VALT_IMAGE2D in the same way.

    Best Regards,

    Kevin