What is Dynamically Reconfigurable Process (DRP) Library?
- The DRP library is a set of configured firmware ‘tiles’ with various functions.
By loading the firmware into the DRP, these functions can be processed in hardware.
Advantages of the DRP Library
- The DRP library can enable functions to be processed many times faster than can be achieved by traditional CPU processing. Therefore, it can speed up a whole system.
- Firmware can be dynamically loaded into the DRP. It is possible to exchange each function in hardware during system operation. Loading takes a few hundred microseconds.
- Renesas provides a DRP driver that can easily control loading and execution using the firmware. This driver makes it easy to use the DRP library in your solution.
DRP Basic Sample Programs
RZ/A2M FreeRTOS™ Software Package, RZ/A2M Simple Applications Package contains the following sample programs using the DRP library.
- DRP Basic Operation Sample Program
Converts the input image from MIPI camera to grayscale image using DRP Library and outputs to display.
- DRP Parallel Operation Sample Program
Converts the input image from MIPI camera to grayscale image at high speed using parallel operation function of DRP Library and outputs to display.
- DRP Dynamic Loading Sample Program 1
Detects the edges of the input image from MIPI camera by Canny method using DRP Library and outputs to display.
- DRP Dynamic Loading Sample Program 2
Detects the corners of the input image from MIPI camera by the Harris corner detector using DRP Library and outputs to display.
- DRP Dynamic Loading Sample Program 3
After detecting the edges of the input image from MIPI camera by Canny method using DRP Library, performs contour detection using findcontours application.
The results output to display.
- DRP Simple ISP Sample Program 1
Correct the color and noise of the input image from MIPI camera using DRP Library, and the image with high color reproducibility is output to the Display.
Function List of the DRP Library
The DRP library supports following functions. The function names in bold are added in the RZ/A2M Software Package V8.00.
|Image processing||Simple ISP||Implements simple image signal processor (ISP) functionality using pipeline processing||1.02|
|Simple ISP with object detection by color (HSV)||Simple ISP that implements object detection using color components of the target object||1.00|
|Simple ISP with background subtraction||Simple ISP that extracts a moving object by using the background subtraction||1.00|
|Simple ISP with object detection using sobel||Simple ISP that extracts an object having complex contours from multiple objects||1.00|
|Simple ISP with distortion correction||Simple ISP that performs barrel distortion correction||1.00|
|Simple ISP with scaling and normalization(32bit)||Simple ISP that implements pre-processing (floating-point conversion, normalization, and resizing) for AI inference||1.00|
|Simple ISP with color calibration and 3DNR||Simple ISP that specializes in the output of images having high color-reproducibility through color-matrix correction and 3D noise reduction||1.00|
|Image transformation||Bayer2Grayscale||Converts from RAW data acquired from CMOS to grayscale||1.00|
|Bayer2Rgb||Converts from RAW data acquired from CMOS to RGB||1.00|
|Bayer2RgbColorCorrection||Converts from RAW data acquired from CMOS camera to RGB (With color correction)||1.01|
|Argb2Grayscale||Converts from ARGB to grayscale||1.00|
|BinarizationFixed||Converts the image to a binary image with a fixed threshold
|BinarizationAdaptive||Converts the image to a binary image with a dynamic threshold matching the surrounding image
|BinarizationAdaptiveBit||Converts the image to a binary image with a dynamic threshold matching the surrounding image
(adaptive threshold) (bit output)
|GammaCorrection||Corrects the image with gamma value||1.01|
|Cropping||Crops a part of the image||1.00|
|CroppingRgb||Crops a part of the image (RGB)||1.01|
|ResizeBilinearFixed||Resizes the image (bilinear interpolation, scale factor: 2n)||1.00|
|ResizeBilinearFixedRgb||Resizes the image (bilinear interpolation, scale factor: 2n) (RGB)||1.01|
|ResizeBilinear||Resizes the image (bilinear interpolation, scale factor: any)||1.00|
|ResizeNearest||Resizes the image
(nearest neighbor interpolation, scale factor: any)
|ImageRotate||Rotates the image||1.00|
|Affine||Performs parallel translation and linear transformation on the image||1.00|
|Remap||Performs the image conversion using the X- and Y-coordinate map data||1.00|
|Image filter||MedianBlur||Reduces the noise contained in the image||1.00|
|GaussianBlur||The image smoothing||1.00|
|UnsharpMasking||The image sharpening||1.00|
|Sobel||Creates the edge of the image using Sobel filter||1.00|
|Prewitt||Creates the edge of the image using Prewitt filter||1.00|
|Laplacian||Creates the edge of the image using Laplacian filter||1.00|
|Dilate||Dilation of white part in the image||1.00|
|Erode||Erosion of white part in the image||1.00|
|Opening *1||Removes noise from black portions by shrinkage (erosion) followed by expansion (dilation)||1.00|
|Closing *1||Removes noise from white portions by expansion (dilation) followed by shrinkage (erosion)||1.00|
|Feature detection||CannyCalculate||Detects the edge of the image using the Canny method
(performed by continuous processing of 2 functions)
|CornerHarris||Detects the corner contained in the image using the method devised by Chris Harris||1.00|
|MinutiaeExtract||Extracts minutiae points of fingerprint ridge lines used in fingerprint recognition||1.00|
|MinutiaeDelete||Deletes minutiae points of fingerprint ridge lines used in fingerprint recognition||1.00|
|CircleFitting||Detects circle from the input image||1.00|
|FindContours||Detects contours in the image and calculates its bounding rectangle||1.01|
|Histograms||Histogram||Generates a histogram from the input image||1.00|
|HistogramNormalization||Normalizes the histogram of the image||1.01|
|HistogramNormalizationRgb||Normalizes the histogram of the image (RGB)||1.01|
|Other||ReedSolomon||Performs error correction using Reed-Solomon codes
(fixed primitive polynomial)
|ReedSolomonGf8||Performs error correction using GF(28) Reed-Solomon codes||1.00|
|Thinning||Outputs an image on which thinning has been performed||1.00|
|ImageMerging||Merges two grayscale-images separately captured over different ranges||1.00|
(*1) This function can be executed by a combination of Dilate and Erode?
If you require functions not in the present DRP library for RZ/A2M, you can contact Renesas Support to discuss possible solutions.
For details on the DRP library/DRP driver, refer to the user's manual included in the software package.
- RZ/A2M Group DRP Library User’s manual (R01US0367)
- RZ/A2M Group DRP Driver User’s manual (R01US0355)
(Remark) FreeRTOS™ is a trademark of Amazon Web Services, Inc.