Download presentation
Presentation is loading. Please wait.
Published byClifton Owens Modified over 9 years ago
1
Xilinx Confidential Image Rotation Daniel E. Michek
2
Xilinx Confidential Image Rotation Details Raster Scan Output Choice to rotate input image or output image Hotelling transform w/ basis vectors cos(t) and sin(t) – Rotate input image (raster scan order data output) Sx = Dx*cos(t) + Dy*sin(t), Sy = Dy*cos(t) - Dx*sin(t) – Rotate output image (random order data output) Dx = Sx*cos(t) - Sy*sin(t), Dy = Sy*cos(t) + Sx*sin(t)
3
Xilinx Confidential Issues with random ordered data output The incoming image is sent pixel by pixel to the random memory destination address. This causes holes in the output if not over sampled. Corners are not cleared because not all memory locations are written to with each image.
4
Xilinx Confidential Demo Algorithm Brief Resources -128x128 single channel 8bit – 881 Slices, 1 BRAM, 12 MULT18X18 – Uses 4x pixel speed access to memories for bilinear method with 1 frame latency Arbitrary input from files – Automatically accommodates arbitrary file size and pixel bit precision with PreLoadFcn and StopFcn calls Pan and Zoom incorporated Simulation time for 128x128 image is ~8 minutes
5
Xilinx Confidential Demo Algorithm Details Requires 1 read memory and 1 write memory (2x image memory total) Offset must be added to center the image – This gives an excellent opportunity to pan the image and zoom in. (Demo center and pan control) Invalid addresses and data must be blocked Bilinear precision allows up to 2 14 interpolation accuracy (2 7 width*2 7 height) with only 4 MULT18X18s
6
Xilinx Confidential Center and Zoom Non-centered Image Zoomed Image (0.25)
7
Xilinx Confidential Customer Specific Adaptations Multi-Channel – Can take advantage of extra space in memory data width – 3 channel 12bit data fits in same memory footprint when using x33 memories Faster memory access – Increases total memory to 8x but allow for 4 parallel reads (4x speed) – 8bit data can sit in same memory footprint when using x32 memories
8
Xilinx Confidential Qualitative Comparison 64x64 MatLab imrotate 64x64 ximrotate
9
Xilinx Confidential MicroBlaze MultiMedia Board Support Package ZBT Memories mapped ADV7185 (video input decoder) in process – Component/Svideo – Will output only valid image data – Awaiting customer specific requirements to match tokens with their proprietary board (Titan-Visicom) ADV7194 (video output encoder) in process – Component/Svideo/VGA – RGB not planned
10
Xilinx Confidential MBMM Board Support Package (continued) 1 Supertoken contains bitstream allowing for use of any component, sub-tokens allow for hardware specific builds – Allows for seamless flow from System Generator/Partial HWIL to full HWIL to free running board Download on web/~danielm – Self installing setup from m-file corrects for your install location
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.