Implementation of Image Enhancement in BF532 DSP Kit

Implementation of Image Enhancement in BF532 DSP Kit

Tags: Image enhancement using dsp processor,dsp projects,blackfin image processing projects, image enhancement using blackfin bf532,
Overall rating

Image enhancement technology is one of the basic technologies in image processing field. The aim of image enhancement is to improve the interpretability or perception of information in images for human viewers, or to provide `better' input for other automated image processing techniques. Recent years, gray image enhancement technology has developed rapidly. These algorithms have certain effects for gray images enhancement.

However, we usually deal with color images in daily life. Due to many factors, such as the limited dynamic ranges, lighting influences, and display devices, the obtained image’s quality declines, which means many important information is hard to tell by the human eyes. Meanwhile, it is not suitable to directly use gray image enhancement technologies for color images. As a result, we need to develop color image enhancement technologies to deal with the problems. Compared to gray image, color image still has color information, so that color image is more vivid than gray image.

Now, based on human visual characteristics, many color image enhancement algorithms have been proposed. Retinex is an effective technique for color image enhancement, which can produce a very good enhanced result. But the enhanced image has color distortion and the calculation is complex. A robust color image enhancement algorithm. The algorithm can enhance color image without distortion, but the edges of the color image could not be handled well.

The algorithm use Gaussian filter to estimate background image. Gaussian kernel function is isotropic, which leads to the inaccurate estimation of background image, resulting in the halo phenomenon.

The algorithm proposed consists of three major parts

  • Obtain luminance image and background image,
  • Adaptive adjustment,
  • Color restoration.


The ADSP-BF533/32/31 processors are enhanced members of the Blackfin processor family that offer significantly higher performance and lower power than previous Blackfin processors while retaining their ease-of-use and code compatibility benefits, processors are completely code and pin-compatible, differing only with respect to their performance and on-chip memory.

The Blackfin processor core architecture combines a dual MAC signal processing engine, an orthogonal RISC-like microprocessor instruction set, flexible Single Instruction, Multiple Data (SIMD) capabilities, and multimedia features into a single instruction set architecture. Blackfin products feature dynamic power management. The ability to vary both the voltage and frequency of operation optimizes the power consumption profile to the specific task.

The BLACKFIN EVALUATION BOARD is specially designed for developers in dsp field as well as beginners. The BF532 kit is designed in such way that all the possible features of the DSP will be easily used by everyone. The kit supports in VisualDsp++5.0 and later.





The Blackfin processor core contains two 16-bit multipliers, two 40-bit accumulators, two 40-bit ALUs, four video ALUs, and a 40-bit shifter. The computation units process 8-bit, 16-bit, or 32-bit data from the register file. The compute register file contains eight 32-bit registers. When performing compute operations on 16-bit operand data, the register file operates as 16 independent 16-bit registers. All operands for compute operations come from the multiported register file and instruction constant fields.

Each MAC can perform a 16-bit by 16-bit multiply in each cycle, accumulating the results into the 40-bit accumulators. Signed and unsigned formats, rounding, and saturation are supported.

The ALUs perform a traditional set of arithmetic and logical operations on 16-bit or 32-bit data. In addition, many special instructions are included to accelerate various signal processing tasks. These include bit operations such as field extract and population count, modulo 232 multiply, divide primitives, saturation and rounding, and sign/exponent detection.

The set of video instructions includes byte alignment and packing operations, 16-bit and 8-bit adds with clipping, 8-bit average operations, and 8-bit subtract/absolute value/accumulate (SAA) operations. Also provided are the compare/select and vector search instructions.

The 40-bit shifter can perform shifts and rotates and is used to support normalization, field extract, and field deposit instructions.

The program sequencer controls the flow of instruction execution, including instruction alignment and decoding. For program flow control, the sequencer supports PC relative and indirect conditional jumps (with static branch prediction), and subroutine calls. Hardware is provided to support zero-overhead looping. The architecture is fully interlocked, meaning that the programmer need not manage the pipeline when executing instructions with data dependencies.

Blackfin processors support a modified Harvard architecture in combination with a hierarchical memory structure. Level 1 (L1) memories are those that typically operate at the full processor speed with little or no latency. At the L1 level, the instruction memory holds instructions only.


Image enhancement is a technique that encompasses processes that aim to improve the quality of the picture. Augmenting the quality of an image in order to display a fine, vivid and easy to comprehend.


Image editing encompasses the processes of altering images, whether they are digital photographs, traditional analog photographs, or illustrations.

Traditional analog image editing is known as photo retouching, using tools such as an airbrush to modify photographs, or editing illustrations with any traditional art medium.

Graphic software programs, which can be broadly grouped into vector graphics editors, raster graphics editors, and 3d modelers, are the primary tools with which a user may manipulate, enhance, and transform images.


Raster images is stored in a computer in the form of a grid of picture elements, or pixels. These pixels contain the image's color and brightness information. Image editors can change the pixels to enhance the image in many ways.


Camera or computer image editing programs often offer basic automatic image enhancement features that correct color hue and brightness imbalances as well as other image editing features, such as red eye removal, sharpness adjustments, zoom features and automatic cropping.

Existing Method

Robust Color Image Enhancement Algorithm

Based Gaussian Filter Kernel function they have done enhancement for image

Drawback of Existing Technique:

The edges of the color image could not be handled well.

Gaussian Filter leads to the inaccurate background Image

Proposed Method

We get the luminance image and background image using color space conversion, and then adaptively adjust the luminance image to compress the color image dynamic range and enhance local contrast.

The intensity level human eyes can identify at one time is small, so the high dynamic range image is intended to be compressed.

Contrast enhancement can improve important visual details so that we can get an image with better visibility.

Finally, we obtain the enhanced color image after a linear color restoration process.

Our Proposed Method Advantages

This method improves the visual qualities of images.

This algorithm has better visibility, the details are clear, and the colors are vivid and natural.

In the paper, the adaptive filter referred proposes a solution in reducing halo and achieves a better visibility.

The new algorithm treats the color well and improving the quality of the image at the edges.


  • Satellite & Research (NASA) Applications.


The following are playing a major in our project:

  • BF532 KIT with 128Mbit SDRAM, 1Mbyte FLASH & UART
  • Visual Dsp++

The Blackfin Evaluation Board has 128Mbit SDRAM interfaced in BF532 kit. This interface will use to store a huge data (pixel) .

The RS232 9 pin serial communication is interfaced through UART Serial Interface peripheral. This interface is use to communicate kit with the Matlab.

The Visual Dsp++ will help us to do the source code for Blackfin 532 to implement the Image Enhancement algorithm and to debug.

The MatLab R2010a will help us to see images on GUI Window from processor uart through pc.



This Figure shows the implementation of Image Enhancement algorithm in this project




The program has written as per the above explanation. This project you can implement in directly to BF532 kit. This programming concept you can use any one of the BF533/32/31 Blackfin processor with good SDRAM capacity to handle huge datas, such a general concept implemented.

This project source code is available at our website. User can download that project once you registered. For more queries, please contact through forum.

This Project Video file is available at the following path:

Join the World's Largest Technical Community

we respect your privacy.