Fast 90° Rotation for big Image Sizes

  • Dear community members,

    in the VisualApplets design in the attachment you find an implementation for a fast 90° rotation for image sizes up to 16384x30016 pixels.

    The design is implemnetd for marathon VCLx platform. A rotation bandwidth of up to 850 Mbyte/s was measured in hardware for this design.


    Design idea:Images are stored in DRAM Buffer and are read in columns of 32x512.

    Next, these columns are rotated with BRAM buffer and results appended.


    DRAM is slow when it comes to non-linear read. Therefore the colums of width 32 are

    used to increase the burst size. In addition the input image is split to two DRAM buffers which run simultanously to increase the speed.

    The additional BRAM sorting can be performed at parallelism 1 sufficiently fast enough.

  • Dear Carmen


    Thank you very much.

    1.

    I have a question in below image , red box show bandwidth MAX only 125MByte/s.

    And then , you only used two FrameBufferRandomRead operator on this design.

    So , Max bandwidth will be limit to 250Mbyte?

    Or ,here’s Bandwidth just show error value.


    1.1.jpg

    Because kernel columns is 32 on below image , can it add bandwidth?


    1.2.jpg



    This design is very helpful for ours.

    Thank you very much!


    BR

    Oliver

  • Dear Oliver,

    thank you for your comment. I`m happy that the design is helpful for you.

    Concerning your question:

    "...

    have a question in below image , red box show bandwidth MAX only 125MByte/s.

    And then , you only used two FrameBufferRandomRead operator on this design.

    So , Max bandwidth will be limit to 250Mbyte?

    Or ,here’s Bandwidth just show error value.


    &thumbnail=1

    Because kernel columns is 32 on below image , can it add bandwidth?.."



    The bandwidth information received from bandwidth analysis is not correct in this case.

    Please find under http://www.siliconsoftware.de/…t/device%20resources.html

    information on the possible bandwidth of the DRAM modules for specific platforms.


    Please find attached an updated version of thefast 90° rotation design. In previous version an error of incorrect pixel order for 90° rotation occured.

  • Dear Carmen


    We have a problem when i add sort feature . (if it is not add sort , acquire image&speed are normal)

    we are use VCL board to run with 16K linescan.


    ImageBuffer(module176) will be "FillLevel:75 Overflow:1"


    microdisplay will stop acquiring after aquire 3 images (line period:24.5us)

    microdisplay will stop acquiring after aquire 8 images (line period:100us)


    I have add fifo & PARALLEup for image Buffer , but not effect.
    Attachment is VA for you refernce


    thank you.


  • Dear Oliver,

    thank you for your request.

    I removed the Image Buffer at the beginning of the design . Instead of the camera I tested the design with sorting included in hardware with an simulation image of 16384x8192. (Please see the test design "testVCLrotatry with sort_CZ.va" in the attachment). With this applet 6.6 FPS were measured and no overflow occured.