Application of Blackfin Processor in Industrial Image Processing

Publisher:TranquilDreamerLatest update time:2015-04-13 Source: eechinaKeywords:Blackfin Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere
(PC) systems are becoming a trend. Because these processors can provide low-cost, small-size, scalable image processing systems, they are more attractive than other similar systems with higher power consumption and price. The company's processor series clocks at , including enhanced structures that facilitate efficient data movement and processing, such as dual multiplication and accumulation units, providing high-speed parallel interfaces for video and data channels. Some commonly used image processing and video processing algorithms are introduced below to illustrate how these features of the processor play their role in today's image processing systems.

1 Blackfin processors have many features suitable for image applications

2 Blackfin processors have dual units, so they can produce two output points in a cycle, which is equivalent to doing a × convolution per cycle

The level close to the core processor is the fastest, but the capacity is usually too small to have a large image cache. This is one of the reasons why direct memory access is so important. In this way, the data frame can store and retrieve data from fast memory, while data from video peripherals is loaded into larger buffers outside the chip. The controller works independently of the core processor, and the core cycle is only used to provide interrupts when the transfer is completed. Each algorithm introduced below uses some frame type based on to achieve the best possible performance. These algorithms were chosen because they are applicable to a wide range of applications.

3× convolution

3× mask, but the mask cannot be too small, otherwise it will not be possible to detect the edges of an image.

Figure 2 shows the matrices: an input matrix, a × mask matrix and an output matrix. By properly placing its input data, the processor unit can process two output points at a time in one processor cycle, while reading multiple data in parallel with the operation. This method allows efficient calculation of two output points per loop repetition cycle or per pixel cycle.

3× convolution kernel to approximate horizontal and vertical edges. The first matrix detects changes in vertical edges, while the second matrix detects changes in horizontal edges.

The Blackfin processor uses the method of retaining the larger of the two gradients of the × pixel image, processing a frame in about , At the same time, it uses a two-dimensional data frame based on to access data from the fast processor memory.

Several features of the Blackfin processor.

On the Blackfin processor, even if the processor has a level channel, a pre-branching process can be as small as one cycle. This is quite impressive for a processor with signal processing functions, and it obviously helps to reduce the computation time in this case.

The Blackfin processor signal processing function can perform two multiplication operations in one cycle, accessing the memory twice to read the accumulator table value. It turns out that this method can perform fixed-point Hough transforms very well, with the same effect as floating-point calculations.

// loop over the values

​​a0 += a1; // add the results

The Blackfin processor provides a vector instruction to find the two maximum values ​​from two operand pairs. This processing method can effectively find an N.

In addition to the MAC and the arithmetic logic unit, the processor has four additional instructions that can be applied to single-cycle instructions. These four can process four groups of bytes at the same time, such as adding, subtracting, and averaging. It is very useful in motion estimation between image frames.

The 8-bit subtract absolute value accumulate instruction subtracts four pairs of values, takes the absolute value of each difference, and accumulates each result into an accumulator to distinguish object motion. In summary, the processor has a variety of effective methods for detecting motion between adjacent image frames.  

FFT

(FFT) is a fast algorithm for calculating the discrete Fourier transform. When calculating two-dimensional data, its main uses include filtering through fast convolution, fast correlation, image enhancement, and object recognition. × The two-dimensional size of the image should also be ×. Its twiddle factors are usually calculated before run time.

Bit reversal and butterfly add/subtract instructions for efficient operation of FFT algorithms. To perform 2D bit reversal, the × input image is expanded into a 1D vector of size 2, mainly because the transposed matrix generated by the bit-reversed 1D vector is equal to the 2D bit reversal.

The number of cycles required for the 16× synthesis 2D includes overhead. This code can actually be used to calculate real numbers by setting the imaginary part of the input array elements to zero. For a more efficient real implementation method using complex code, the two real matrices can be packed into a complex input of the complex 2D. This method, called "pack and unpack" or "mass production", requires back-end processing to separate the outputs and requires two images to transform. But this is usually not a problem in fast convolution and fast correlation, because two transforms always need to be calculated.

The architecture of the Blackfin processor helps make it a very useful processor in industrial image processing systems. In addition, the company provides a public "Image Processing Toolbox" core for processor-based image processing and analysis. The latest samples - integrating Ethernet, controllers and interfaces on a single chip, and enhancing peripheral functions, together with these tools, will greatly expand the scope of industrial image processing applications.
Keywords:Blackfin Reference address:Application of Blackfin Processor in Industrial Image Processing

Previous article:High-performance microprocessor MPC8260 with dual processors
Next article:MSP430-Low Power Event Driven Working Mode Introduction

Latest Microcontroller Articles
  • Download from the Internet--ARM Getting Started Notes
    A brief introduction: From today on, the ARM notebook of the rookie is open, and it can be regarded as a place to store these notes. Why publish it? Maybe you are interested in it. In fact, the reason for these notes is ...
  • Learn ARM development(22)
    Turning off and on interrupts Interrupts are an efficient dialogue mechanism, but sometimes you don't want to interrupt the program while it is running. For example, when you are printing something, the program suddenly interrupts and another ...
  • Learn ARM development(21)
    First, declare the task pointer, because it will be used later. Task pointer volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • Learn ARM development(20)
    With the previous Tick interrupt, the basic task switching conditions are ready. However, this "easterly" is also difficult to understand. Only through continuous practice can we understand it. ...
  • Learn ARM development(19)
    After many days of hard work, I finally got the interrupt working. But in order to allow RTOS to use timer interrupts, what kind of interrupts can be implemented in S3C44B0? There are two methods in S3C44B0. ...
  • Learn ARM development(14)
  • Learn ARM development(15)
  • Learn ARM development(16)
  • Learn ARM development(17)
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号